spina-admin-conferences-fork 2.1.2 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/spina_admin_conferences_manifest.js +3 -3
  3. data/app/assets/javascripts/spina/admin/conferences/application.js +0 -4
  4. data/app/assets/javascripts/{controllers/spina/admin/conferences → spina/admin/conferences/controllers}/select_options_controller.js +1 -1
  5. data/app/assets/stylesheets/spina/admin/conferences/application.tailwind.css +0 -0
  6. data/app/controllers/spina/admin/conferences/application_controller.rb +8 -1
  7. data/app/controllers/spina/admin/conferences/conferences_controller.rb +13 -25
  8. data/app/controllers/spina/admin/conferences/delegates_controller.rb +12 -24
  9. data/app/controllers/spina/admin/conferences/dietary_requirements_controller.rb +12 -24
  10. data/app/controllers/spina/admin/conferences/institutions_controller.rb +12 -24
  11. data/app/controllers/spina/admin/conferences/presentation_attachment_types_controller.rb +12 -24
  12. data/app/controllers/spina/admin/conferences/presentation_types_controller.rb +12 -26
  13. data/app/controllers/spina/admin/conferences/presentations_controller.rb +12 -24
  14. data/app/controllers/spina/admin/conferences/rooms_controller.rb +12 -26
  15. data/app/controllers/spina/admin/conferences/sessions_controller.rb +12 -26
  16. data/app/jobs/spina/admin/conferences/import_job.rb +2 -2
  17. data/app/models/spina/admin/conferences/conference.rb +1 -1
  18. data/app/models/spina/admin/conferences/delegate.rb +3 -3
  19. data/app/models/spina/admin/conferences/presentation.rb +1 -1
  20. data/app/views/spina/admin/conferences/application/_conferences.html.haml +10 -11
  21. data/app/views/spina/admin/conferences/application/_delegates.html.haml +9 -10
  22. data/app/views/spina/admin/conferences/application/_dietary_requirements.html.haml +7 -8
  23. data/app/views/spina/admin/conferences/application/_institutions.html.haml +8 -9
  24. data/app/views/spina/admin/conferences/application/_presentation_attachment_types.html.haml +8 -9
  25. data/app/views/spina/admin/conferences/application/_presentation_types.html.haml +9 -10
  26. data/app/views/spina/admin/conferences/application/_presentations.html.haml +9 -10
  27. data/app/views/spina/admin/conferences/application/_rooms.html.haml +9 -10
  28. data/app/views/spina/admin/conferences/application/_sessions.html.haml +9 -10
  29. data/app/views/spina/admin/conferences/conferences/_conference.html.haml +13 -9
  30. data/app/views/spina/admin/conferences/conferences/_event_fields.html.haml +18 -25
  31. data/app/views/spina/admin/conferences/conferences/_form.html.haml +24 -22
  32. data/app/views/spina/admin/conferences/conferences/_form_conference_details.html.haml +28 -22
  33. data/app/views/spina/admin/conferences/conferences/_form_delegates.html.haml +1 -0
  34. data/app/views/spina/admin/conferences/conferences/_form_parts.html.haml +5 -7
  35. data/app/views/spina/admin/conferences/conferences/_form_presentation_types.html.haml +1 -0
  36. data/app/views/spina/admin/conferences/conferences/_form_presentations.html.haml +1 -0
  37. data/app/views/spina/admin/conferences/conferences/_form_rooms.html.haml +1 -0
  38. data/app/views/spina/admin/conferences/conferences/index.html.haml +22 -4
  39. data/app/views/spina/admin/conferences/delegates/_delegate.html.haml +10 -12
  40. data/app/views/spina/admin/conferences/delegates/_form.html.haml +23 -19
  41. data/app/views/spina/admin/conferences/delegates/_form_conferences.html.haml +1 -0
  42. data/app/views/spina/admin/conferences/delegates/_form_delegate_details.html.haml +29 -53
  43. data/app/views/spina/admin/conferences/delegates/_form_presentations.html.haml +1 -0
  44. data/app/views/spina/admin/conferences/delegates/index.html.haml +14 -10
  45. data/app/views/spina/admin/conferences/dietary_requirements/_dietary_requirement.html.haml +7 -6
  46. data/app/views/spina/admin/conferences/dietary_requirements/_form.html.haml +23 -18
  47. data/app/views/spina/admin/conferences/dietary_requirements/_form_delegates.html.haml +1 -0
  48. data/app/views/spina/admin/conferences/dietary_requirements/_form_dietary_requirement_details.html.haml +3 -8
  49. data/app/views/spina/admin/conferences/dietary_requirements/index.html.haml +6 -4
  50. data/app/views/spina/admin/conferences/institutions/_form.html.haml +23 -19
  51. data/app/views/spina/admin/conferences/institutions/_form_delegates.html.haml +1 -0
  52. data/app/views/spina/admin/conferences/institutions/_form_institution_details.html.haml +24 -25
  53. data/app/views/spina/admin/conferences/institutions/_form_rooms.html.haml +1 -0
  54. data/app/views/spina/admin/conferences/institutions/_institution.html.haml +9 -7
  55. data/app/views/spina/admin/conferences/institutions/index.html.haml +19 -4
  56. data/app/views/spina/admin/conferences/presentation_attachment_types/_form.html.haml +15 -20
  57. data/app/views/spina/admin/conferences/presentation_attachment_types/_presentation_attachment_type.html.haml +7 -6
  58. data/app/views/spina/admin/conferences/presentation_attachment_types/index.html.haml +6 -4
  59. data/app/views/spina/admin/conferences/presentation_types/_form.html.haml +23 -19
  60. data/app/views/spina/admin/conferences/presentation_types/_form_presentation_type_details.html.haml +7 -16
  61. data/app/views/spina/admin/conferences/presentation_types/_form_presentations.html.haml +1 -0
  62. data/app/views/spina/admin/conferences/presentation_types/_form_sessions.html.haml +1 -0
  63. data/app/views/spina/admin/conferences/presentation_types/_presentation_type.html.haml +11 -8
  64. data/app/views/spina/admin/conferences/presentation_types/index.html.haml +22 -4
  65. data/app/views/spina/admin/conferences/presentations/_attachment_fields.html.haml +10 -16
  66. data/app/views/spina/admin/conferences/presentations/_form.html.haml +23 -18
  67. data/app/views/spina/admin/conferences/presentations/_form_presentation_details.html.haml +59 -55
  68. data/app/views/spina/admin/conferences/presentations/_form_presenters.html.haml +1 -0
  69. data/app/views/spina/admin/conferences/presentations/_presentation.html.haml +10 -8
  70. data/app/views/spina/admin/conferences/presentations/index.html.haml +15 -10
  71. data/app/views/spina/admin/conferences/rooms/_form.html.haml +23 -18
  72. data/app/views/spina/admin/conferences/rooms/_form_presentations.html.haml +1 -0
  73. data/app/views/spina/admin/conferences/rooms/_form_room_details.html.haml +7 -16
  74. data/app/views/spina/admin/conferences/rooms/_room.html.haml +11 -8
  75. data/app/views/spina/admin/conferences/rooms/index.html.haml +19 -4
  76. data/app/views/spina/admin/conferences/sessions/_form.html.haml +23 -18
  77. data/app/views/spina/admin/conferences/sessions/_form_presentations.html.haml +1 -0
  78. data/app/views/spina/admin/conferences/sessions/_form_session_details.html.haml +13 -19
  79. data/app/views/spina/admin/conferences/sessions/_session.html.haml +11 -8
  80. data/app/views/spina/admin/conferences/sessions/index.html.haml +22 -4
  81. data/app/views/spina/admin/hooks/conferences/_head.html.haml +0 -6
  82. data/app/views/spina/admin/hooks/conferences/_primary_navigation.html.haml +25 -19
  83. data/app/views/spina/admin/hooks/conferences/_settings_secondary_navigation.html.haml +0 -6
  84. data/app/views/spina/admin/parts/admin/conferences/dates/_form.html.haml +2 -2
  85. data/app/views/spina/admin/parts/admin/conferences/email_addresses/_form.html.haml +4 -2
  86. data/app/views/spina/admin/parts/admin/conferences/times/_form.html.haml +2 -2
  87. data/app/views/spina/admin/parts/admin/conferences/urls/_form.html.haml +4 -2
  88. data/config/locales/en.yml +31 -9
  89. data/config/routes.rb +1 -4
  90. data/db/migrate/20180907141242_add_type_to_spina_pages.rb +1 -1
  91. data/db/migrate/20180907141243_create_spina_conferences_conference_page_parts.rb +1 -1
  92. data/db/migrate/20181017155705_add_dependent_option_to_foreign_keys.rb +1 -1
  93. data/db/migrate/20190408131354_change_spina_resources.rb +10 -10
  94. data/db/migrate/20190701174807_remove_spina_conference_pages.rb +15 -15
  95. data/db/migrate/20190704135524_add_constraints_to_columns.rb +1 -1
  96. data/db/migrate/20200126213718_create_spina_conferences_presentation_attachments.rb +1 -1
  97. data/db/migrate/20200802184921_create_spina_conferences_event_name_description_and_location_translations.rb +1 -1
  98. data/db/migrate/20200911161739_move_conference_parts.rb +3 -3
  99. data/db/migrate/20201002122517_remove_spina_conferences_conference_page_parts.rb +1 -1
  100. data/db/migrate/20201007125625_add_timestamps_to_spina_conferences_parts.rb +2 -2
  101. data/db/migrate/20210315164411_convert_partables_to_json.rb +10 -18
  102. data/db/migrate/20210417102513_add_locale_to_action_text_rich_texts.rb +1 -1
  103. data/lib/spina/admin/conferences/engine.rb +13 -0
  104. data/lib/spina/admin/conferences/migration/renaming.rb +4 -4
  105. data/lib/spina/admin/conferences/railtie.rb +1 -0
  106. data/lib/spina/admin/conferences/version.rb +1 -1
  107. data/lib/spina/admin/conferences.rb +1 -2
  108. metadata +60 -82
  109. data/app/assets/javascripts/controllers/spina/admin/conferences/conference_events_form_controller.js +0 -174
  110. data/app/assets/javascripts/controllers/spina/admin/conferences/presentation_attachments_form_controller.js +0 -174
  111. data/app/assets/javascripts/importmap.json.erb +0 -6
  112. data/app/assets/stylesheets/spina/admin/conferences/application.sass +0 -3
  113. data/app/controllers/spina/admin/conferences/events_controller.rb +0 -24
  114. data/app/controllers/spina/admin/conferences/presentation_attachments_controller.rb +0 -24
  115. data/app/views/layouts/spina/admin/conferences/application.html.haml +0 -6
  116. data/app/views/layouts/spina/admin/conferences/conferences.html.haml +0 -17
  117. data/app/views/layouts/spina/admin/conferences/delegates.html.haml +0 -8
  118. data/app/views/layouts/spina/admin/conferences/dietary_requirements.html.haml +0 -8
  119. data/app/views/layouts/spina/admin/conferences/institutions.html.haml +0 -15
  120. data/app/views/layouts/spina/admin/conferences/presentation_attachment_types.html.haml +0 -8
  121. data/app/views/layouts/spina/admin/conferences/presentations.html.haml +0 -8
  122. data/app/views/spina/admin/conferences/conferences/_event_row.html.haml +0 -5
  123. data/app/views/spina/admin/conferences/conferences/_form_structure.html.haml +0 -19
  124. data/app/views/spina/admin/conferences/conferences/_form_structure_item.html.haml +0 -13
  125. data/app/views/spina/admin/conferences/events/new.js.erb +0 -21
  126. data/app/views/spina/admin/conferences/presentation_attachments/new.js.erb +0 -21
  127. data/app/views/spina/admin/conferences/presentations/_attachment_row.html.haml +0 -2
  128. data/config/initializers/assets.rb +0 -13
  129. data/vendor/assets/javascripts/spina/trix.js +0 -21
  130. data/vendor/assets/stylesheets/spina/trix.css +0 -375
@@ -1,21 +1,27 @@
1
- %li#conferences-primary-navigation{ data: { turbolinks: 'false', turbo: 'permanent' },
2
- class: ('active' if %w[conferences delegates presentations presentation_types institutions rooms].include? controller_name) }
3
- = link_to spina.admin_conferences_presentations_path do
4
- = icon('comment')
5
- = t("spina.admin.conferences.title")
6
- = icon('caret-right')
1
+ = render Spina::MainNavigation::SubNavComponent.new(:conferences) do |nav|
2
+ - nav.icon do
3
+ = heroicon 'chat-alt-2', style: :solid, class: 'w-8 h-8 text-white md:mr-3'
4
+ .text-white.font-semibold.hidden{class: 'md:block transform -translate-x-2 ease-in-out duration-300 absolute md:relative opacity-0 transition-all', 'data-navigation-target': 'label'}
5
+ = Spina::Admin::Conferences::Conference.model_name.human(count: :many)
6
+
7
+ - nav.links do
8
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::Institution.model_name.human(count: :many),
9
+ spina.admin_conferences_institutions_path,
10
+ active: %w[institutions rooms].include?(controller_name))
11
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::Conference.model_name.human(count: :many),
12
+ spina.admin_conferences_conferences_path,
13
+ active: %w[conferences presentation_types sessions].include?(controller_name))
14
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::Delegate.model_name.human(count: :many),
15
+ spina.admin_conferences_delegates_path,
16
+ active: %w[delegates].include?(controller_name))
17
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::Presentation.model_name.human(count: :many),
18
+ spina.admin_conferences_presentations_path,
19
+ active: %w[presentations].include?(controller_name))
20
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::DietaryRequirement.model_name.human(count: 0),
21
+ spina.admin_conferences_dietary_requirements_path,
22
+ active: controller_name == 'dietary_requirements')
23
+ = render Spina::MainNavigation::LinkComponent.new(Spina::Admin::Conferences::PresentationAttachmentType.model_name.human(count: 0),
24
+ spina.admin_conferences_presentation_attachment_types_path,
25
+ active: controller_name == 'presentation_attachment_types')
7
26
 
8
- %ul
9
- %li{ class: ('active' if %w[institutions rooms].include? controller_name) }
10
- = link_to Spina::Admin::Conferences::Institution.model_name.human(count: 0), spina.admin_conferences_institutions_path
11
- %li{ class: ('active' if %w[conferences presentation_types sessions].include? controller_name) }
12
- = link_to Spina::Admin::Conferences::Conference.model_name.human(count: 0), spina.admin_conferences_conferences_path
13
- %li{ class: ('active' if %w[delegates].include? controller_name) }
14
- = link_to Spina::Admin::Conferences::Delegate.model_name.human(count: 0), spina.admin_conferences_delegates_path
15
- %li{ class: ('active' if %w[presentations].include? controller_name) }
16
- = link_to Spina::Admin::Conferences::Presentation.model_name.human(count: 0), spina.admin_conferences_presentations_path
17
27
 
18
- %li
19
- = link_to '#', class: 'back-to-main-menu' do
20
- = icon('caret-left')
21
- =t 'spina.main_menu'
@@ -1,6 +0,0 @@
1
- %li{ class: ('active' if %w[dietary_requirements].include? controller_name) }
2
- = link_to Spina::Admin::Conferences::DietaryRequirement.model_name.human(count: 0), spina.admin_conferences_dietary_requirements_path,
3
- data: { turbolinks: 'false' }
4
- %li{ class: ('active' if %w[presentation_attachment_types].include? controller_name) }
5
- = link_to Spina::Admin::Conferences::PresentationAttachmentType.model_name.human(count: 0), spina.admin_conferences_presentation_attachment_types_path,
6
- data: { turbolinks: 'false' }
@@ -1,2 +1,2 @@
1
- .page-form-label= f.object.title
2
- .page-form-control= f.date_field :content, placeholder: f.object.title
1
+ = render Spina::Forms::GroupComponent.new(label: f.object.title) do
2
+ = f.date_field :content, placeholder: f.object.title
@@ -1,2 +1,4 @@
1
- .page-form-label= f.object.title
2
- .page-form-control= f.email_field :content, placeholder: f.object.title
1
+ .mt-6
2
+ %label.block.text-sm.leading-5.font-medium.text-gray-700= f.object.title
3
+ .mt-1
4
+ = f.email_field :content, class: 'form-input block w-full max-w-5xl sm:text-sm sm:leading-5'
@@ -1,2 +1,2 @@
1
- .page-form-label= f.object.title
2
- .page-form-control= f.datetime_field :content, placeholder: f.object.title
1
+ = render Spina::Forms::GroupComponent.new(label: f.object.title) do
2
+ = f.datetime_field :content, placeholder: f.object.title
@@ -1,2 +1,4 @@
1
- .page-form-label= f.object.title
2
- .page-form-control= f.url_field :content, placeholder: f.object.title
1
+ .mt-6
2
+ %label.block.text-sm.leading-5.font-medium.text-gray-700= f.object.title
3
+ .mt-1
4
+ = f.url_field :content, class: 'form-input block w-full max-w-5xl sm:text-sm sm:leading-5'
@@ -52,10 +52,13 @@ en:
52
52
  create:
53
53
  new: New conference
54
54
  saved: Conference saved
55
+ failed: Failed to save conference! Check the form for missing or invalid fields.
55
56
  update:
56
57
  saved: Conference saved
58
+ failed: Failed to save conference! Check the form for missing or invalid fields.
57
59
  destroy:
58
60
  destroyed: Conference deleted
61
+ failed: Failed to delete conference. Make sure to delete all dependent records first.
59
62
  form:
60
63
  save: Save conference
61
64
  conference_details: Conference details
@@ -64,9 +67,8 @@ en:
64
67
  presentations: Presentations
65
68
  presentation_types: Presentation types
66
69
  rooms: Rooms
67
- form_conference_details:
68
70
  delete_confirmation:
69
- "Are you sure you want to delete the conference <strong>%{name}</strong>?"
71
+ "Are you sure you want to delete the conference <strong>%{conference}</strong>?"
70
72
  delegates:
71
73
  index:
72
74
  new: New delegate
@@ -76,16 +78,18 @@ en:
76
78
  create:
77
79
  new: New delegate
78
80
  saved: Delegate saved
81
+ failed: Failed to save delegate! Check the form for missing or invalid fields.
79
82
  update:
80
83
  saved: Delegate saved
84
+ failed: Failed to save delegate! Check the form for missing or invalid fields.
81
85
  destroy:
82
86
  destroyed: Delegate deleted
87
+ failed: Failed to delete delegate. Make sure to delete all dependent records first.
83
88
  form:
84
89
  save: Save delegate
85
90
  delegate_details: Delegate details
86
91
  conferences: Conferences
87
92
  presentations: Presentations
88
- form_delegate_details:
89
93
  delete_confirmation: "Are you sure you want to delete the delegate <strong>%{delegate}</strong>?"
90
94
  presenters:
91
95
  new: New presenter
@@ -104,15 +108,17 @@ en:
104
108
  create:
105
109
  new: New presentation
106
110
  saved: Presentation saved
111
+ failed: Failed to save presentation! Check the form for missing or invalid fields.
107
112
  update:
108
113
  saved: Presentation saved
114
+ failed: Failed to save presentation! Check the form for missing or invalid fields.
109
115
  destroy:
110
116
  destroyed: Presentation deleted
117
+ failed: Failed to delete presentation. Make sure to delete all dependent records first.
111
118
  form:
112
119
  save: Save presentation
113
120
  presentation_details: Presentation details
114
121
  presenters: Presenters
115
- form_presentation_details:
116
122
  delete_confirmation: "Are you sure you want to delete the presentation <strong>%{presentation}</strong>?"
117
123
  presentation_types:
118
124
  index:
@@ -123,16 +129,18 @@ en:
123
129
  create:
124
130
  new: New presentation type
125
131
  saved: Presentation type saved
132
+ failed: Failed to save presentation type! Check the form for missing or invalid fields.
126
133
  update:
127
134
  saved: Presentation type saved
135
+ failed: Failed to save presentation type! Check the form for missing or invalid fields.
128
136
  destroy:
129
137
  destroyed: Presentation type deleted
138
+ failed: Failed to delete presentation type. Make sure to delete all dependent records first.
130
139
  form:
131
140
  save: Save presentation type
132
141
  presentation_type_details: Presentation type details
133
142
  presentations: Presentations
134
143
  sessions: Sessions
135
- form_presentation_type_details:
136
144
  delete_confirmation:
137
145
  "Are you sure you want to delete the presentation type <strong>%{presentation_type}</strong>?"
138
146
  dietary_requirements:
@@ -144,15 +152,17 @@ en:
144
152
  create:
145
153
  new: New dietary requirement
146
154
  saved: Dietary requirement saved
155
+ failed: Failed to save dietary requirement! Check the form for missing or invalid fields.
147
156
  update:
148
157
  saved: Dietary requirement saved
158
+ failed: Failed to save dietary requirement! Check the form for missing or invalid fields.
149
159
  destroy:
150
160
  destroyed: Dietary requirement deleted
161
+ failed: Failed to delete dietary requirement. Make sure to delete all dependent records first.
151
162
  form:
152
163
  save: Save dietary requirement
153
164
  dietary_requirement_details: Dietary requirement details
154
165
  delegates: Delegates
155
- form_dietary_requirement_details:
156
166
  delete_confirmation:
157
167
  "Are you sure you want to delete the dietary requirement <strong>%{dietary_requirement}</strong>?"
158
168
  presentation_attachment_types:
@@ -163,10 +173,13 @@ en:
163
173
  create:
164
174
  new: New presentation attachment type
165
175
  saved: Presentation attachment type saved
176
+ failed: Failed to save presentation attachment type! Check the form for missing or invalid fields.
166
177
  update:
167
178
  saved: Presentation attachment type saved
179
+ failed: Failed to save presentation attachment type! Check the form for missing or invalid fields.
168
180
  destroy:
169
181
  destroyed: Presentation attachment type deleted
182
+ failed: Failed to delete presentation attachment type. Make sure to delete all dependent records first.
170
183
  form:
171
184
  save: Save presentation attachment type
172
185
  delete_confirmation:
@@ -181,17 +194,19 @@ en:
181
194
  create:
182
195
  new: New institution
183
196
  saved: Institution saved
197
+ failed: Failed to save institution! Check the form for missing or invalid fields.
184
198
  update:
185
199
  saved: Institution saved
200
+ failed: Failed to save institution! Check the form for missing or invalid fields.
186
201
  destroy:
187
202
  destroyed: Institution deleted
203
+ failed: Failed to delete institution. Make sure to delete all dependent records first.
188
204
  form:
189
205
  save: Save institution
190
206
  institution_details: Institution details
191
207
  rooms: Rooms
192
208
  conferences: Conferences
193
209
  delegates: Delegates
194
- form_institution_details:
195
210
  delete_confirmation: "Are you sure you want to delete the institution <strong>%{institution}</strong>?"
196
211
  rooms:
197
212
  index:
@@ -202,15 +217,17 @@ en:
202
217
  create:
203
218
  new: New room
204
219
  saved: Room saved
220
+ failed: Failed to save room! Check the form for missing or invalid fields.
205
221
  update:
206
222
  saved: Room saved
223
+ failed: Failed to save room! Check the form for missing or invalid fields.
207
224
  destroy:
208
225
  destroyed: Room deleted
226
+ failed: Failed to delete room. Make sure to delete all dependent records first.
209
227
  form:
210
228
  save: Save room
211
229
  room_details: Room details
212
230
  presentations: Presentations
213
- form_room_details:
214
231
  delete_confirmation: "Are you sure you want to delete the room <strong>%{room}</strong>?"
215
232
  sessions:
216
233
  index:
@@ -220,15 +237,17 @@ en:
220
237
  create:
221
238
  new: New session
222
239
  saved: Session saved
240
+ failed: Failed to save session! Check the form for missing or invalid fields.
223
241
  update:
224
242
  saved: Session saved
243
+ failed: Failed to save session! Check the form for missing or invalid fields.
225
244
  destroy:
226
245
  destroyed: Session deleted
246
+ failed: Failed to delete session. Make sure to delete all dependent records first.
227
247
  form:
228
248
  save: Save session
229
249
  session_details: Session details
230
250
  presentations: Presentations
231
- form_session_details:
232
251
  delete_confirmation: "Are you sure you want to delete the session <strong>%{session}</strong>?"
233
252
  application:
234
253
  conferences:
@@ -317,6 +336,7 @@ en:
317
336
  presenters: Presenters
318
337
  conference: Conference
319
338
  session: Session
339
+ presentation_type: Presentation type
320
340
  attachments: Attachments
321
341
  spina/admin/conferences/presentation_attachment:
322
342
  type: Type
@@ -340,6 +360,8 @@ en:
340
360
  name: Name
341
361
  presentation_type: Presentation type
342
362
  room: Room
363
+ conference: Conference
364
+ institution: Institution
343
365
  errors:
344
366
  messages:
345
367
  outside_conference: is not during the selected conference
data/config/routes.rb CHANGED
@@ -4,10 +4,7 @@ Spina::Engine.routes.draw do
4
4
  namespace :admin, path: Spina.config.backend_path do
5
5
  namespace :conferences do
6
6
  root to: 'conferences#index'
7
- resources :conferences, except: [:show] do
8
- resources :events, only: [:new]
9
- end
10
- resources :events, only: [:new]
7
+ resources :conferences, except: [:show]
11
8
  resources :institutions, except: [:show]
12
9
  resources :rooms, except: [:show]
13
10
  resources :sessions, except: [:show]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class AddTypeToSpinaPages < ActiveRecord::Migration[5.2] #:nodoc:
3
+ class AddTypeToSpinaPages < ActiveRecord::Migration[5.2] # :nodoc:
4
4
  def change
5
5
  add_column :spina_pages, :type, :string
6
6
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateSpinaConferencesConferencePageParts < ActiveRecord::Migration[5.2] #:nodoc:
3
+ class CreateSpinaConferencesConferencePageParts < ActiveRecord::Migration[5.2] # :nodoc:
4
4
  def change
5
5
  create_table :spina_conferences_conference_page_parts do |t|
6
6
  t.belongs_to :conference_page, foreign_key: { to_table: :spina_pages, on_delete: :cascade },
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AddDependentOptionToForeignKeys < ActiveRecord::Migration[5.2] # :nodoc:
4
- def change # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
4
+ def change # rubocop:disable Metrics/AbcSize
5
5
  remove_foreign_key :spina_conferences_delegates, :spina_conferences_institutions, column: :institution_id
6
6
  remove_foreign_key :spina_conferences_presentations, :spina_conferences_room_uses, column: :room_use_id
7
7
  remove_foreign_key :spina_conferences_room_uses, :spina_conferences_room_possessions, column: :room_possession_id
@@ -1,36 +1,36 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class ChangeSpinaResources < ActiveRecord::Migration[6.0] #:nodoc:
3
+ class ChangeSpinaResources < ActiveRecord::Migration[6.0] # :nodoc:
4
4
  def up
5
- insert <<-SQL, 'Insert conference pages resource if missing'
5
+ insert <<-SQL.squish, 'Insert conference pages resource if missing'
6
6
  INSERT INTO spina_resources (name, label, created_at, updated_at)
7
7
  SELECT 'conference_pages', 'Conference pages', current_timestamp, current_timestamp
8
8
  WHERE NOT EXISTS (SELECT name FROM spina_resources WHERE name = 'conference_pages')
9
9
  SQL
10
- update <<-SQL, 'Update conference conference pages'
10
+ update <<-SQL.squish, 'Update conference conference pages'
11
11
  WITH resources AS (SELECT id FROM spina_resources WHERE name = 'conference_pages' LIMIT 1)
12
12
  UPDATE spina_pages SET ancestry = null, resource_id = resources.id
13
13
  FROM spina_conferences_conference_page_parts, resources
14
14
  WHERE conference_page_id = spina_pages.id AND conference_page_partable_type = 'Spina::Conferences::Conference'
15
15
  SQL
16
- update <<-SQL, 'Update presentation conference pages'
16
+ update <<-SQL.squish, 'Update presentation conference pages'
17
17
  WITH resources AS (SELECT id FROM spina_resources WHERE name = 'conference_pages' LIMIT 1)
18
18
  UPDATE spina_pages SET resource_id = resources.id
19
19
  FROM spina_conferences_conference_page_parts, resources
20
20
  WHERE conference_page_id = spina_pages.id AND conference_page_partable_type = 'Spina::Conferences::Presentation'
21
21
  SQL
22
- delete <<-SQL, 'Delete resources'
22
+ delete <<-SQL.squish, 'Delete resources'
23
23
  DELETE FROM spina_resources WHERE name IN ('conferences', 'presentations')
24
24
  SQL
25
25
  end
26
26
 
27
27
  def down
28
- insert <<-SQL, 'Insert conferences resource if missing'
28
+ insert <<-SQL.squish, 'Insert conferences resource if missing'
29
29
  INSERT INTO spina_resources (name, label, view_template, created_at, updated_at)
30
30
  SELECT 'conferences', 'Conferences', 'conference', current_timestamp, current_timestamp
31
31
  WHERE NOT EXISTS (SELECT name FROM spina_resources WHERE name = 'conferences')
32
32
  SQL
33
- update <<-SQL, 'Update conference conference pages'
33
+ update <<-SQL.squish, 'Update conference conference pages'
34
34
  WITH
35
35
  conferences_resources AS (SELECT id FROM spina_resources WHERE name = 'conferences' LIMIT 1),
36
36
  conferences_pages AS (SELECT id FROM spina_pages WHERE view_template = 'conference' LIMIT 1)
@@ -38,18 +38,18 @@ class ChangeSpinaResources < ActiveRecord::Migration[6.0] #:nodoc:
38
38
  FROM spina_conferences_conference_page_parts, conferences_resources, conferences_pages
39
39
  WHERE conference_page_id = spina_pages.id AND conference_page_partable_type = 'Spina::Conferences::Conference'
40
40
  SQL
41
- insert <<-SQL, 'Insert presentations resource if missing'
41
+ insert <<-SQL.squish, 'Insert presentations resource if missing'
42
42
  INSERT INTO spina_resources (name, label, view_template, created_at, updated_at)
43
43
  SELECT 'presentations', 'Presentations', 'presentation', current_timestamp, current_timestamp
44
44
  WHERE NOT EXISTS (SELECT name FROM spina_resources WHERE name = 'presentations')
45
45
  SQL
46
- update <<-SQL, 'Update presentation conference pages'
46
+ update <<-SQL.squish, 'Update presentation conference pages'
47
47
  WITH presentations_resources AS (SELECT id FROM spina_resources WHERE name = 'presentations' LIMIT 1)
48
48
  UPDATE spina_pages SET resource_id = presentations_resources.id
49
49
  FROM spina_conferences_conference_page_parts, presentations_resources
50
50
  WHERE conference_page_id = spina_pages.id AND conference_page_partable_type = 'Spina::Conferences::Presentation'
51
51
  SQL
52
- delete <<-SQL, 'Delete resources'
52
+ delete <<-SQL.squish, 'Delete resources'
53
53
  DELETE FROM spina_resources WHERE name = 'conference_pages'
54
54
  SQL
55
55
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  # This migration comes from spina_conferences (originally 20190701174807)
4
4
 
5
- class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
5
+ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] # :nodoc:
6
6
  def up
7
- insert <<-SQL, 'Insert conferences parts'
7
+ insert <<-SQL.squish, 'Insert conferences parts'
8
8
  WITH parts AS (
9
9
  SELECT
10
10
  title,
@@ -29,7 +29,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
29
29
  INSERT INTO spina_conferences_parts (title, name, partable_id, partable_type, pageable_id, pageable_type)
30
30
  SELECT title, name, page_partable_id, page_partable_type, pageable_id, pageable_type FROM parts
31
31
  SQL
32
- delete <<-SQL, 'Delete page parts'
32
+ delete <<-SQL.squish, 'Delete page parts'
33
33
  WITH parts AS (
34
34
  SELECT spina_page_parts.id AS id
35
35
  FROM spina_conferences_conferences
@@ -47,10 +47,10 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
47
47
  )
48
48
  DELETE FROM spina_page_parts USING parts WHERE spina_page_parts.id = parts.id
49
49
  SQL
50
- delete <<-SQL, 'Delete pages'
50
+ delete <<-SQL.squish, 'Delete pages'
51
51
  DELETE FROM spina_pages USING spina_conferences_conference_page_parts WHERE conference_page_id = spina_pages.id
52
52
  SQL
53
- delete <<-SQL, 'Delete conference page parts'
53
+ delete <<-SQL.squish, 'Delete conference page parts'
54
54
  DELETE FROM spina_conferences_conference_page_parts
55
55
  USING spina_conferences_conferences, spina_conferences_presentations
56
56
  WHERE (
@@ -62,10 +62,10 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
62
62
  AND conference_page_partable_type = 'Spina::Conferences::Presentation'
63
63
  )
64
64
  SQL
65
- delete <<-SQL, 'Delete conferences page'
65
+ delete <<-SQL.squish, 'Delete conferences page'
66
66
  DELETE FROM spina_pages WHERE name = 'conferences'
67
67
  SQL
68
- delete <<-SQL, 'Delete conference pages resource'
68
+ delete <<-SQL.squish, 'Delete conference pages resource'
69
69
  DELETE FROM spina_resources WHERE name = 'conference_pages'
70
70
  SQL
71
71
  remove_column :spina_pages, :type
@@ -73,13 +73,13 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
73
73
 
74
74
  def down
75
75
  add_column :spina_pages, :type, :string
76
- insert <<-SQL, 'Insert resource if missing'
76
+ insert <<-SQL.squish, 'Insert resource if missing'
77
77
  INSERT INTO spina_resources (name, label, created_at, updated_at)
78
78
  SELECT 'conference_pages', 'Conference pages', current_timestamp, current_timestamp
79
79
  WHERE NOT EXISTS (SELECT name FROM spina_resources WHERE name = 'conference_pages')
80
80
  SQL
81
81
  locale = ActiveRecord::Relation::QueryAttribute.new('locale', I18n.default_locale, ActiveRecord::Type::String.new)
82
- insert <<-SQL, 'Insert root page if missing', nil, nil, nil, [locale]
82
+ insert <<-SQL.squish, 'Insert root page if missing', nil, nil, nil, [locale]
83
83
  WITH pages AS (
84
84
  INSERT INTO spina_pages (name, view_template, deletable, created_at, updated_at)
85
85
  SELECT 'conferences', 'conferences', false, current_timestamp, current_timestamp
@@ -89,7 +89,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
89
89
  INSERT INTO spina_page_translations (title, spina_page_id, locale, created_at, updated_at)
90
90
  SELECT 'Conferences', pages.id, $1, current_timestamp, current_timestamp FROM pages
91
91
  SQL
92
- insert <<-SQL, 'Insert conference pages for conferences', nil, nil, nil, [locale]
92
+ insert <<-SQL.squish, 'Insert conference pages for conferences', nil, nil, nil, [locale]
93
93
  WITH
94
94
  resources AS (SELECT id FROM spina_resources WHERE name = 'conference_pages' LIMIT 1),
95
95
  conferences_pages AS (SELECT id FROM spina_pages WHERE view_template = 'conferences' LIMIT 1),
@@ -124,7 +124,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
124
124
  ) AS pages_with_indices USING (index)
125
125
  )
126
126
  INSERT INTO spina_conferences_conference_page_parts
127
- (conference_page_id, conference_page_partable_id, conference_page_partable_type, created_at, updated_at)
127
+ (conference_page_id, conference_page_partable_id, conference_page_partable_type, created_at, updated_at)#{' '}
128
128
  SELECT page_id, conference_id, type, current_timestamp, current_timestamp
129
129
  FROM (
130
130
  SELECT conference_id, type, row_number() OVER (ORDER BY type, conference_id) AS index FROM conference_pages_to_insert
@@ -133,7 +133,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
133
133
  SELECT page_id, row_number() OVER (ORDER BY page_id) AS index FROM conference_pages
134
134
  ) AS pages_with_indices USING (index)
135
135
  SQL
136
- insert <<-SQL, 'Insert conference pages for presentations', nil, nil, nil, [locale]
136
+ insert <<-SQL.squish, 'Insert conference pages for presentations', nil, nil, nil, [locale]
137
137
  WITH
138
138
  resources AS (SELECT id FROM spina_resources WHERE name = 'conference_pages' LIMIT 1),
139
139
  conference_pages_to_insert AS (
@@ -169,7 +169,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
169
169
  ) AS pages_with_indices USING (index)
170
170
  )
171
171
  INSERT INTO spina_conferences_conference_page_parts
172
- (conference_page_id, conference_page_partable_id, conference_page_partable_type, created_at, updated_at)
172
+ (conference_page_id, conference_page_partable_id, conference_page_partable_type, created_at, updated_at)#{' '}
173
173
  SELECT page_id, presentation_id, type, current_timestamp, current_timestamp
174
174
  FROM (
175
175
  SELECT presentation_id, type, row_number() OVER (ORDER BY type, presentation_id) AS index FROM conference_pages_to_insert
@@ -178,7 +178,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
178
178
  SELECT page_id, row_number() OVER (ORDER BY page_id) AS index FROM conference_pages
179
179
  ) AS pages_with_indices USING (index)
180
180
  SQL
181
- insert <<-SQL, 'Insert page parts'
181
+ insert <<-SQL.squish, 'Insert page parts'
182
182
  INSERT INTO spina_page_parts (title, name, page_id, page_partable_id, page_partable_type, created_at, updated_at)
183
183
  SELECT
184
184
  spina_conferences_parts.title, spina_conferences_parts.name, spina_pages.id, partable_id, partable_type, current_timestamp,
@@ -192,7 +192,7 @@ class RemoveSpinaConferencePages < ActiveRecord::Migration[6.0] #:nodoc:
192
192
  ON pageable_id = conference_page_partable_id AND pageable_type = conference_page_partable_type
193
193
  INNER JOIN spina_pages ON conference_page_id = spina_pages.id
194
194
  SQL
195
- delete <<-SQL, 'Delete conference parts'
195
+ delete <<-SQL.squish, 'Delete conference parts'
196
196
  DELETE FROM spina_conferences_parts USING spina_page_parts WHERE page_partable_id = partable_id AND page_partable_type = partable_type
197
197
  SQL
198
198
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AddConstraintsToColumns < ActiveRecord::Migration[6.0] # :nodoc:
4
- def change # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
4
+ def change # rubocop:disable Metrics/AbcSize
5
5
  change_column_null :spina_conferences_conferences, :dates, false
6
6
  change_column_null :spina_conferences_conferences, :institution_id, false
7
7
  change_column_null :spina_conferences_delegates, :first_name, false
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class CreateSpinaConferencesPresentationAttachments < ActiveRecord::Migration[6.0] # :nodoc:
4
- def change # rubocop:disable Metrics/MethodLength
4
+ def change
5
5
  create_table :spina_conferences_presentation_attachments do |t|
6
6
  t.references :presentation,
7
7
  null: false, foreign_key: { to_table: :spina_conferences_presentations, on_delete: :cascade },
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class CreateSpinaConferencesEventNameDescriptionAndLocationTranslations < ActiveRecord::Migration[6.0] # rubocop:disable Style/Documentation
4
- def change # rubocop:disable Metrics/MethodLength
4
+ def change
5
5
  create_table :spina_conferences_event_translations do |t|
6
6
  # Translated attribute(s)
7
7
  t.string :name
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class MoveConferenceParts < ActiveRecord::Migration[6.0] # rubocop:disable Metrics/ClassLength, Style/Documentation
3
+ class MoveConferenceParts < ActiveRecord::Migration[6.0] # rubocop:disable Style/Documentation
4
4
  def up
5
5
  insert <<-SQL.squish, 'Create events', nil, nil, nil
6
6
  WITH event_structure_items_with_parts AS (
@@ -75,7 +75,7 @@ class MoveConferenceParts < ActiveRecord::Migration[6.0] # rubocop:disable Metri
75
75
  RETURNING id
76
76
  ), event_translations AS (
77
77
  INSERT INTO spina_conferences_event_translations
78
- (name, description, location, locale, spina_conferences_event_id, created_at, updated_at)
78
+ (name, description, location, locale, spina_conferences_event_id, created_at, updated_at)#{' '}
79
79
  SELECT DISTINCT ON (event_structure_items_with_parts_and_indices.structure_item_id, locale)
80
80
  title, description, location, locale, structure_item_events.id, current_timestamp, current_timestamp
81
81
  FROM (
@@ -203,7 +203,7 @@ class MoveConferenceParts < ActiveRecord::Migration[6.0] # rubocop:disable Metri
203
203
  ) AS time_parts_with_indices USING (index)
204
204
  ), structure_parts AS (
205
205
  INSERT INTO spina_structure_parts
206
- (structure_item_id, structure_partable_id, structure_partable_type, name, title, created_at, updated_at)
206
+ (structure_item_id, structure_partable_id, structure_partable_type, name, title, created_at, updated_at)#{' '}
207
207
  SELECT
208
208
  structure_items_with_indices.id, partable_id, type, replace(lower(title), '\W', '_'), title, current_timestamp,
209
209
  current_timestamp
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class RemoveSpinaConferencesConferencePageParts < ActiveRecord::Migration[6.0]
3
+ class RemoveSpinaConferencesConferencePageParts < ActiveRecord::Migration[6.0] # :nodoc:
4
4
  def change
5
5
  drop_table :spina_conferences_conference_page_parts do |t|
6
6
  t.references :conference_page, foreign_key: { to_table: :spina_pages, on_delete: :cascade },
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class AddTimestampsToSpinaConferencesParts < ActiveRecord::Migration[6.0]
3
+ class AddTimestampsToSpinaConferencesParts < ActiveRecord::Migration[6.0] # :nodoc:
4
4
  def change
5
- default = Time.now
5
+ default = Time.zone.now
6
6
  add_timestamps :spina_conferences_parts, default: default
7
7
  change_column_default :spina_conferences_parts, :created_at, from: default, to: nil
8
8
  change_column_default :spina_conferences_parts, :updated_at, from: default, to: nil