Class: ManabuDesktop::Screens::Student::Registration

Inherits:
Base
  • Object
show all
Defined in:
lib/screens/student/registration.rb

Instance Attribute Summary

Attributes inherited from Base

#builder, #window

Instance Method Summary collapse

Methods inherited from Base

#_show

Constructor Details

#initialize(client, parent) ⇒ Registration

Returns a new instance of Registration.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/screens/student/registration.rb', line 12

def initialize(client, parent)
  @client = client
  @parent = parent

  super('student_registration')

  # Name
  @builder.get_object('surname.Label').set_label(
    I18n.t('student.surname'))
  @surname_entry = @builder.get_object('surname.Entry')
  @builder.get_object('name.Label').set_label(
    I18n.t('student.name'))
  @name_entry = @builder.get_object('name.Entry')
  @builder.get_object('middle_name.Label').set_label(
    I18n.t('student.middle_name'))
  @middle_name_entry = @builder.get_object('middle_name.Entry')

  # Name readings
  @builder.get_object('surname_reading.Label').set_label(
    I18n.t('student.surname_reading'))
  @surname_reading_entry = @builder.get_object('surname_reading.Entry')
  @builder.get_object('name_reading.Label').set_label(
    I18n.t('student.name_reading'))
  @name_reading_entry = @builder.get_object('name_reading.Entry')
  @builder.get_object('middle_name_reading.Label').set_label(
    I18n.t('student.middle_name_reading'))
  @middle_name_reading_entry = @builder.get_object('middle_name_reading.Entry')

  # Gender
  @builder.get_object('gender.Label').set_label(I18n.t('student.gender'))
  gender_comboBoxText = @builder.get_object('gender.ComboBoxText')
  gender_comboBoxText.append_text(' ')
  gender_comboBoxText.append_text(I18n.t('student.male'))
  gender_comboBoxText.append_text(I18n.t('student.female'))

  # Birth date
  @builder.get_object('birth_date.Label').set_label(I18n.t('student.dob'))
  birth_date_picker_toggleButton = @builder.get_object('birth_date_picker.ToggleButton')
  pixbuf = GdkPixbuf::Pixbuf.new(
    file: ManabuDesktop::Tools.emojidex.emoji[:calendar].paths[:png][:hdpi])
  @builder.get_object('birth_date_picker.Image').set_pixbuf(pixbuf)
  birth_date_picker_popover = @builder.get_object('birth_date_picker.Popover')
  birth_date_picker_popover.signal_connect('closed') {
    birth_date_picker_toggleButton.active = false
  }
  birth_date_picker_calendar = @builder.get_object('birth_date_picker.Calendar')
  birth_date_picker_calendar.signal_connect('day-selected') {
    puts birth_date_picker_calendar.date
  }
  birth_date_picker_toggleButton.signal_connect('toggled') {
    birth_date_picker_popover.visible = birth_date_picker_toggleButton.active?
  }


  # Registration
  register_button = @builder.get_object('register.Button')
  register_button.set_label(I18n.t('g.register'))
  register_button.signal_connect('clicked') {
    _register(@surname_entry.text, @name_entry.text, @middle_name_entry.text,
              @surname_reading_entry.text, @name_reading_entry.text,
              @middle_name_reading_entry.text,
              nil, nil, nil, nil)
  }

  _show()
end

Instance Method Details

#_register(surname, name, middle_name, surname_reading, name_reading, middle_name_reading, gender, dob, enrollment_status, picture_path) ⇒ Object

Compose and send a registration request



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/screens/student/registration.rb', line 80

def _register(surname, name, middle_name,
              surname_reading, name_reading, middle_name_reading,
              gender, dob, enrollment_status, picture_path)
  student = Manabu::Student.new(@client)
  student.surname = surname
  student.name = name
  student.middle_name = middle_name
  student.surname_reading = surname_reading
  student.name_reading = name_reading
  student.middle_name_reading = middle_name_reading
  # TODO: gender
  # TODO: DOB
  # TODO: enrollment_status
  # TODO: picture

  students = Manabu::Students.new(@client)
  students.register(student)

  @window.destroy
end