Sha256: 712caa2d89fb74aab620c10a43802ea8b121154d5e3cae9f10bc9c693a001ed5

Contents?: true

Size: 1.61 KB

Versions: 9

Compression:

Stored size: 1.61 KB

Contents

require 'date'
require_relative '../../models/student/student.rb'
require_relative './edit_student_presenter'

# == Add_student_presenter
# Презентер для добавления нового студента.
class Add_student_presenter < Edit_student_presenter

  # Операция добавления нового студента.
  #
  # @param student_data [Hash] Данные студента.
  def operation(student_data)
    begin
      self.logger.debug "Создание объекта студента: #{student_data.to_s}"
      new_student(student_data)
      self.parent_presenter.add_student(self.student)
      self.view.close
    rescue => e
      error_msg = "Ошибка при добавлении студента: #{e.message}"
      self.logger.error error_msg
      self.view.show_error_message(error_msg)
    end
  end

  # Заполнение полей интерфейса пустыми данными для нового студента.
  def populate_fields
    data = {
    "first_name" => "",
    "name" => "",
    "patronymic" => "",
    "birthdate" => "",
  }
    self.view.update_view data
  end

  # Проверка валидности данных студента при добавлении.
  #
  # @param student_data [Hash] Данные студента.
  # @return [Boolean] Возвращает true, если данные валидны.
  def valid_data?(student_data)
    self.logger.debug "Проверка валидности данных: #{student_data.to_s}"
    res = super(student_data)
    self.logger.info "Валидность данных: #{res}"
    res
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
student_mvp-0.1.10 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.9 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.8 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.7 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.6 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.5 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.4 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.3 lib/presenters/edit_student/add_student_presenter.rb
student_mvp-0.1.2 lib/presenters/edit_student/add_student_presenter.rb