Class: AuthorInputFormControllerEdit

Inherits:
Object
  • Object
show all
Defined in:
lib/author/controllers/author_input_form_controller_edit.rb

Instance Method Summary collapse

Constructor Details

#initialize(parent_controller, item) ⇒ AuthorInputFormControllerEdit

Returns a new instance of AuthorInputFormControllerEdit.



6
7
8
9
10
# File 'lib/author/controllers/author_input_form_controller_edit.rb', line 6

def initialize(parent_controller, item)
  @parent_controller = parent_controller
  @item = item
  @author_rep = AuthorDBDataSource.new
end

Instance Method Details

#on_view_createdObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/author/controllers/author_input_form_controller_edit.rb', line 16

def on_view_created
  # begin
  #   @student_rep = StudentRepository.new(DBSourceAdapter.new)
  # rescue Mysql2::Error::ConnectionError
  #   on_db_conn_error
  # end

  # @item = @author_rep.get(@item_id)
  # @view.make_readonly(:git, :telegram, :email, :phone)
  populate_fields(@item)
end

#populate_fields(item) ⇒ Object



28
29
30
31
32
# File 'lib/author/controllers/author_input_form_controller_edit.rb', line 28

def populate_fields(item)
  @view.set_value(:first_name, item.first_name)
  @view.set_value(:last_name, item.last_name)
  @view.set_value(:father_name, item.father_name)
end

#process_fields(fields) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/author/controllers/author_input_form_controller_edit.rb', line 34

def process_fields(fields)
  begin
    item = Author.new(@item.author_id, *fields.values)
    item = @author_rep.change(item)
    @parent_controller.state_notifier.replace(@item, item)
    @view.close
  rescue ArgumentError => e
    api = Win32API.new('user32', 'MessageBox', ['L', 'P', 'P', 'L'], 'I')
    api.call(0, e.message, 'Error', 0)
  end
end

#set_view(view) ⇒ Object



12
13
14
# File 'lib/author/controllers/author_input_form_controller_edit.rb', line 12

def set_view(view)
  @view = view
end