Class: StudentListController

Inherits:
Object
  • Object
show all
Defined in:
lib/source/controllers/student_list_controller.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view) ⇒ StudentListController

Returns a new instance of StudentListController.



19
20
21
22
23
24
25
# File 'lib/source/controllers/student_list_controller.rb', line 19

def initialize(view)
  LoggerHolder.instance.debug('StudentListController: init start')
  @view = view
  @data_list = DataListStudentShort.new([])
  @data_list.add_observer(@view)
  LoggerHolder.instance.debug('StudentListController: init done')
end

Instance Attribute Details

#viewObject (readonly)

Returns the value of attribute view.



18
19
20
# File 'lib/source/controllers/student_list_controller.rb', line 18

def view
  @view
end

Instance Method Details

#delete_selected(current_page, per_page, selected_row) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/source/controllers/student_list_controller.rb', line 84

def delete_selected(current_page, per_page, selected_row)
  # begin
  #student_num = (current_page - 1) * per_page + selected_row
  student_num = selected_row
  puts student_num
    @data_list.select_elem(student_num)
    student_id = @data_list.selected_id
    @student_list.remove_student(student_id)
  # rescue
  # on_db_conn_error
  # end
end

#on_db_conn_errorObject

разрыв соединения с бд



107
108
109
110
111
# File 'lib/source/controllers/student_list_controller.rb', line 107

def on_db_conn_error
  script = 'display dialog "Отсутсвует подключение к БД" with title "Ошибка"'
  system 'osascript', '-e', script
  exit(false)
end

#on_view_createdObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/source/controllers/student_list_controller.rb', line 27

def on_view_created
  #@student_list = StudentList.new(StudentListFileAdapter.new(StudentListJSON.new, './LabStudents/test_data/students.json'))

  begin
    @student_list=StudentList.new(StudentListDbAdapter.new)
    LoggerHolder.instance.debug('StudentListController: view create')
  rescue
    on_db_conn_error
    end
end

#refresh_data(k, n) ⇒ Object

rescue on_db_conn_error end



96
97
98
99
100
101
102
103
104
# File 'lib/source/controllers/student_list_controller.rb', line 96

def refresh_data(k, n)
  # begin
    #raise StandardError, "Error DB"
  @data_list = @student_list.k_n_student_short_list(k, n, @data_list)
  @view.update_student_count(@student_list.student_count)
  # rescue
  #    on_db_conn_error
  # end
end

#show_add_studentObject



43
44
45
46
47
48
49
# File 'lib/source/controllers/student_list_controller.rb', line 43

def show_add_student()
  LoggerHolder.instance.debug('StudentListController: show add student')
  controller = StudentCreateFormController.new(self)
  view = StudentCreateForm.new(controller)
  controller.view=view
  view.create.show
end

#show_contact_student(current_page, per_page, selected_row) ⇒ Object



73
74
75
76
77
78
79
80
81
82
# File 'lib/source/controllers/student_list_controller.rb', line 73

def show_contact_student(current_page, per_page, selected_row)
  LoggerHolder.instance.debug('StudentListController: show edit git')
  student_num = selected_row
  @data_list.select_elem(student_num)
  student_id = @data_list.selected_id
  controller = StudentContactFormController.new(self, student_id)
  view = StudentCreateForm.new(controller)
  controller.view=view
  view.create.show
end

#show_edit_student(current_page, per_page, selected_row) ⇒ Object



51
52
53
54
55
56
57
58
59
60
# File 'lib/source/controllers/student_list_controller.rb', line 51

def show_edit_student(current_page, per_page, selected_row)
  LoggerHolder.instance.debug('StudentListController: show edit name')
  student_num = selected_row
  @data_list.select_elem(student_num)
  student_id = @data_list.selected_id
  controller = StudentEditFormController.new(self, student_id)
  view = StudentCreateForm.new(controller)
  controller.view=view
  view.create.show
end

#show_git_student(current_page, per_page, selected_row) ⇒ Object



62
63
64
65
66
67
68
69
70
71
# File 'lib/source/controllers/student_list_controller.rb', line 62

def show_git_student(current_page, per_page, selected_row)
  LoggerHolder.instance.debug('StudentListController: show edit git')
  student_num = selected_row
  @data_list.select_elem(student_num)
  student_id = @data_list.selected_id
  controller = StudentGitFormController.new(self, student_id)
  view = StudentCreateForm.new(controller)
  controller.view=view
  view.create.show
end

#show_viewObject



39
40
41
# File 'lib/source/controllers/student_list_controller.rb', line 39

def show_view
  @view.create.show
end