Sha256: f23990236af99faff4202cc33f55d6ab3daddf808286eab3c0c03521ecb31173

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require_relative 'logger_holder'
class StudentEditFormController
  def initialize(parent_controller, existing_student_id)
    @parent_controller = parent_controller
    @existing_student_id = existing_student_id
    LoggerHolder.instance.debug('StudentEditFormController: initialized')
  end

  def view=(view)
    @view = view
    LoggerHolder.instance.debug('StudentEditFormController: view')
  end

  def on_view_created
    @student_list = StudentList.new(StudentListDBAdapter.new)
    @existing_student = @student_list.student_by_id(@existing_student_id)
    @view.make_readonly(:git, :telegram, :email, :phone)
    set_fields(@existing_student)
  end

  def set_fields(student)
    student = student
    puts student
    @view.set_value(:last_name, student.last_name)
    @view.set_value(:first_name, student.first_name)
    @view.set_value(:paternal_name, student.paternal_name)
    @view.set_value(:git, student.git)
    @view.set_value(:telegram, student.telegram)
    @view.set_value(:email, student.email)
    @view.set_value(:phone, student.phone)
  end

  def process_fields(fields)
    new_student = Student.new(**fields)
    LoggerHolder.instance.debug('StudentEditFormController: replace student')
    @student_list.replace_student(@existing_student_id, new_student)
    @view.close
    @parent_controller.view.refresh_current_page
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rafmycat-1.0.1 lib/source/student_edit_form_controller.rb
rafmycat-1.0.0 lib/source/student_edit_form_controller.rb