decidim-meetings 0.27.10 → 0.28.0.rc4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/attending_organizations_list_cell.rb +32 -0
  3. data/app/cells/decidim/meetings/cancel_registration_meeting_button/cancelation_modal.erb +21 -0
  4. data/app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb +10 -13
  5. data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +2 -2
  6. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +8 -18
  7. data/app/cells/decidim/meetings/dates_and_map/show.erb +25 -0
  8. data/app/cells/decidim/meetings/dates_and_map/static_map.erb +1 -0
  9. data/app/cells/decidim/meetings/dates_and_map_cell.rb +35 -0
  10. data/app/cells/decidim/meetings/highlighted_meetings_for_component/show.erb +32 -30
  11. data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +76 -16
  12. data/app/cells/decidim/meetings/join_meeting_button/registration_modal.erb +25 -0
  13. data/app/cells/decidim/meetings/join_meeting_button/remaining_slots.erb +4 -0
  14. data/app/cells/decidim/meetings/join_meeting_button/show.erb +6 -4
  15. data/app/cells/decidim/meetings/join_meeting_button_cell.rb +3 -7
  16. data/app/cells/decidim/meetings/meeting_activity_cell.rb +1 -12
  17. data/app/cells/decidim/meetings/meeting_card_metadata_cell.rb +64 -0
  18. data/app/cells/decidim/meetings/meeting_cell.rb +2 -6
  19. data/app/cells/decidim/meetings/meeting_l/image.erb +5 -0
  20. data/app/cells/decidim/meetings/meeting_l_cell.rb +33 -0
  21. data/app/cells/decidim/meetings/meeting_month/show.erb +33 -0
  22. data/app/cells/decidim/meetings/meeting_month_cell.rb +72 -0
  23. data/app/cells/decidim/meetings/meeting_s_cell.rb +5 -37
  24. data/app/cells/decidim/meetings/meetings_map/show.erb +9 -24
  25. data/app/cells/decidim/meetings/meetings_map_cell.rb +1 -1
  26. data/app/cells/decidim/meetings/online_meeting_cell.rb +1 -0
  27. data/app/cells/decidim/meetings/online_meeting_link/show.erb +18 -41
  28. data/app/cells/decidim/meetings/public_participants_list/show.erb +4 -15
  29. data/app/commands/decidim/meetings/admin/copy_meeting.rb +1 -1
  30. data/app/commands/decidim/meetings/admin/create_meeting.rb +1 -1
  31. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +5 -5
  32. data/app/commands/decidim/meetings/admin/publish_meeting.rb +1 -1
  33. data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +1 -1
  34. data/app/commands/decidim/meetings/create_meeting.rb +14 -3
  35. data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
  36. data/app/commands/decidim/meetings/join_meeting.rb +5 -5
  37. data/app/commands/decidim/meetings/update_meeting.rb +13 -3
  38. data/app/controllers/concerns/decidim/meetings/component_filterable.rb +4 -4
  39. data/app/controllers/decidim/meetings/admin/agenda_controller.rb +6 -6
  40. data/app/controllers/decidim/meetings/admin/invites_controller.rb +3 -3
  41. data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +2 -4
  42. data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +3 -3
  43. data/app/controllers/decidim/meetings/admin/meetings_controller.rb +7 -7
  44. data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +4 -4
  45. data/app/controllers/decidim/meetings/admin/registrations_controller.rb +6 -6
  46. data/app/controllers/decidim/meetings/application_controller.rb +11 -0
  47. data/app/controllers/decidim/meetings/calendars_controller.rb +0 -1
  48. data/app/controllers/decidim/meetings/directory/application_controller.rb +12 -0
  49. data/app/controllers/decidim/meetings/directory/meetings_controller.rb +5 -30
  50. data/app/controllers/decidim/meetings/live_events_controller.rb +1 -0
  51. data/app/controllers/decidim/meetings/meeting_closes_controller.rb +2 -3
  52. data/app/controllers/decidim/meetings/meetings_controller.rb +75 -7
  53. data/app/controllers/decidim/meetings/polls/answers_controller.rb +2 -2
  54. data/app/controllers/decidim/meetings/polls/questions_controller.rb +1 -1
  55. data/app/controllers/decidim/meetings/registrations_controller.rb +5 -5
  56. data/app/events/decidim/meetings/close_meeting_event.rb +1 -1
  57. data/app/events/decidim/meetings/meeting_event.rb +1 -1
  58. data/app/events/decidim/meetings/meeting_registration_notification_event.rb +3 -3
  59. data/app/events/decidim/meetings/meeting_registrations_enabled_event.rb +1 -1
  60. data/app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb +1 -1
  61. data/app/events/decidim/meetings/registration_code_validated_event.rb +1 -1
  62. data/app/forms/decidim/meetings/admin/meeting_form.rb +5 -1
  63. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +2 -2
  64. data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +1 -1
  65. data/app/forms/decidim/meetings/base_meeting_form.rb +1 -1
  66. data/app/forms/decidim/meetings/meeting_form.rb +3 -3
  67. data/app/helpers/decidim/meetings/admin/application_helper.rb +1 -0
  68. data/app/helpers/decidim/meetings/application_helper.rb +18 -25
  69. data/app/helpers/decidim/meetings/directory/application_helper.rb +11 -59
  70. data/app/helpers/decidim/meetings/map_helper.rb +2 -9
  71. data/app/helpers/decidim/meetings/meetings_helper.rb +6 -5
  72. data/app/jobs/decidim/meetings/hide_all_created_by_author_job.rb +13 -0
  73. data/app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb +1 -1
  74. data/app/mailers/decidim/meetings/registration_mailer.rb +1 -1
  75. data/app/models/decidim/meetings/meeting.rb +11 -32
  76. data/app/models/decidim/meetings/question.rb +1 -1
  77. data/app/packs/entrypoints/decidim_meetings.js +3 -0
  78. data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_attended_meetings.svg +42 -1
  79. data/app/packs/src/decidim/meetings/admin/agendas.js +3 -4
  80. data/app/packs/src/decidim/meetings/admin/registrations_form.js +12 -4
  81. data/app/packs/src/decidim/meetings/meetings_form.js +1 -1
  82. data/app/packs/src/decidim/meetings/poll.component.js +1 -28
  83. data/app/packs/stylesheets/decidim/meetings/_calendar.scss +47 -0
  84. data/app/packs/stylesheets/decidim/meetings/_item.scss +177 -0
  85. data/app/packs/stylesheets/decidim/meetings/_list.scss +58 -0
  86. data/app/packs/stylesheets/decidim/meetings/_live_event.scss +128 -0
  87. data/app/packs/stylesheets/decidim/meetings/meetings.scss +4 -0
  88. data/app/permissions/decidim/meetings/permissions.rb +15 -12
  89. data/app/presenters/decidim/meetings/admin_log/invite_presenter.rb +2 -2
  90. data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +6 -2
  91. data/app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb +2 -2
  92. data/app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb +1 -1
  93. data/app/presenters/decidim/meetings/log/resource_presenter.rb +18 -0
  94. data/app/presenters/decidim/meetings/meeting_presenter.rb +8 -2
  95. data/app/services/decidim/meetings/calendar/component_calendar.rb +1 -1
  96. data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +7 -13
  97. data/app/services/decidim/meetings/meeting_iframe_embedder.rb +1 -1
  98. data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -21
  99. data/app/views/decidim/meetings/admin/agenda/_agenda_item.html.erb +12 -12
  100. data/app/views/decidim/meetings/admin/agenda/_agenda_item_child.html.erb +8 -8
  101. data/app/views/decidim/meetings/admin/agenda/_agenda_item_child_template.html.erb +1 -1
  102. data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +3 -3
  103. data/app/views/decidim/meetings/admin/agenda/_form.html.erb +54 -50
  104. data/app/views/decidim/meetings/admin/agenda/edit.html.erb +18 -6
  105. data/app/views/decidim/meetings/admin/agenda/new.html.erb +17 -5
  106. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +11 -2
  107. data/app/views/decidim/meetings/admin/invites/_form.html.erb +38 -28
  108. data/app/views/decidim/meetings/admin/invites/index.html.erb +77 -81
  109. data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +26 -28
  110. data/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +17 -5
  111. data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +17 -6
  112. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +76 -83
  113. data/app/views/decidim/meetings/admin/meetings/_service.html.erb +14 -10
  114. data/app/views/decidim/meetings/admin/meetings/_services.html.erb +9 -5
  115. data/app/views/decidim/meetings/admin/meetings/edit.html.erb +17 -7
  116. data/app/views/decidim/meetings/admin/meetings/index.html.erb +133 -129
  117. data/app/views/decidim/meetings/admin/meetings/new.html.erb +16 -6
  118. data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +1 -1
  119. data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +1 -1
  120. data/app/views/decidim/meetings/admin/poll/_form.html.erb +17 -32
  121. data/app/views/decidim/meetings/admin/poll/_question.html.erb +81 -75
  122. data/app/views/decidim/meetings/admin/poll/edit.html.erb +28 -8
  123. data/app/views/decidim/meetings/admin/registrations/_form.html.erb +32 -55
  124. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +59 -26
  125. data/app/views/decidim/meetings/directory/meetings/index.html.erb +15 -20
  126. data/app/views/decidim/meetings/directory/meetings/index.js.erb +1 -23
  127. data/app/views/decidim/meetings/layouts/_aside_block.html.erb +8 -0
  128. data/app/views/decidim/meetings/layouts/live_event.html.erb +20 -19
  129. data/app/views/decidim/meetings/live_events/show.html.erb +4 -5
  130. data/app/views/decidim/meetings/meeting_closes/_form.html.erb +3 -10
  131. data/app/views/decidim/meetings/meeting_closes/edit.html.erb +17 -21
  132. data/app/views/decidim/meetings/meetings/_actions.html.erb +6 -0
  133. data/app/views/decidim/meetings/meetings/_add_to_calendar_modal.html.erb +17 -0
  134. data/app/views/decidim/meetings/meetings/_form.html.erb +26 -34
  135. data/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +3 -22
  136. data/app/views/decidim/meetings/meetings/_meeting.html.erb +74 -0
  137. data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +28 -26
  138. data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +98 -0
  139. data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +23 -36
  140. data/app/views/decidim/meetings/meetings/edit.html.erb +17 -21
  141. data/app/views/decidim/meetings/meetings/index.html.erb +15 -33
  142. data/app/views/decidim/meetings/meetings/index.js.erb +1 -23
  143. data/app/views/decidim/meetings/meetings/new.html.erb +17 -21
  144. data/app/views/decidim/meetings/meetings/show.html.erb +8 -167
  145. data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +9 -13
  146. data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +4 -4
  147. data/app/views/decidim/meetings/polls/answers/create.js.erb +1 -1
  148. data/app/views/decidim/meetings/polls/questions/_index.html.erb +1 -1
  149. data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +5 -5
  150. data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +9 -11
  151. data/app/views/decidim/meetings/polls/questions/_question.html.erb +3 -3
  152. data/app/views/decidim/meetings/polls/questions/index_admin.js.erb +1 -1
  153. data/app/views/decidim/meetings/shared/_filters.html.erb +20 -0
  154. data/app/views/decidim/meetings/shared/_index.html.erb +24 -0
  155. data/app/views/decidim/meetings/shared/_index.js.erb +16 -0
  156. data/app/views/decidim/meetings/shared/_meetings.html.erb +33 -0
  157. data/app/views/decidim/meetings/shared/_meetings_aside.html.erb +18 -0
  158. data/app/views/decidim/meetings/versions/show.html.erb +14 -4
  159. data/app/views/decidim/participatory_spaces/_conference_venues.html.erb +13 -15
  160. data/config/assets.rb +0 -2
  161. data/config/locales/ar.yml +6 -94
  162. data/config/locales/bg.yml +0 -673
  163. data/config/locales/ca.yml +52 -75
  164. data/config/locales/cs.yml +48 -71
  165. data/config/locales/de.yml +53 -76
  166. data/config/locales/el.yml +48 -51
  167. data/config/locales/en.yml +51 -74
  168. data/config/locales/es-MX.yml +50 -73
  169. data/config/locales/es-PY.yml +48 -71
  170. data/config/locales/es.yml +53 -76
  171. data/config/locales/eu.yml +53 -76
  172. data/config/locales/fi-plain.yml +46 -69
  173. data/config/locales/fi.yml +44 -67
  174. data/config/locales/fr-CA.yml +43 -69
  175. data/config/locales/fr.yml +48 -71
  176. data/config/locales/ga-IE.yml +2 -16
  177. data/config/locales/gl.yml +5 -63
  178. data/config/locales/hu.yml +6 -92
  179. data/config/locales/id-ID.yml +4 -60
  180. data/config/locales/is-IS.yml +1 -22
  181. data/config/locales/it.yml +6 -86
  182. data/config/locales/ja.yml +45 -74
  183. data/config/locales/lb.yml +6 -67
  184. data/config/locales/lt.yml +42 -65
  185. data/config/locales/lv.yml +4 -61
  186. data/config/locales/nl.yml +4 -92
  187. data/config/locales/no.yml +4 -80
  188. data/config/locales/pl.yml +2 -199
  189. data/config/locales/pt-BR.yml +4 -200
  190. data/config/locales/pt.yml +5 -85
  191. data/config/locales/ro-RO.yml +11 -81
  192. data/config/locales/ru.yml +5 -60
  193. data/config/locales/sk.yml +4 -61
  194. data/config/locales/sl.yml +0 -3
  195. data/config/locales/sr-CS.yml +0 -6
  196. data/config/locales/sv.yml +14 -94
  197. data/config/locales/tr-TR.yml +5 -78
  198. data/config/locales/uk.yml +5 -53
  199. data/config/locales/zh-CN.yml +3 -70
  200. data/config/locales/zh-TW.yml +24 -51
  201. data/db/migrate/20201016065302_fix_meetings_registration_terms.rb +1 -1
  202. data/db/migrate/20230427105701_change_types_and_registration_types_on_meetings.rb +49 -0
  203. data/lib/decidim/meetings/admin_engine.rb +2 -2
  204. data/lib/decidim/meetings/component.rb +4 -216
  205. data/lib/decidim/meetings/content_blocks/registry_manager.rb +17 -0
  206. data/lib/decidim/meetings/directory_engine.rb +4 -6
  207. data/lib/decidim/meetings/engine.rb +62 -27
  208. data/lib/decidim/meetings/meeting_serializer.rb +3 -3
  209. data/lib/decidim/meetings/seeds.rb +188 -0
  210. data/lib/decidim/meetings/test/factories.rb +124 -54
  211. data/lib/decidim/meetings/test/notifications_handling.rb +3 -3
  212. data/lib/decidim/meetings/test/translated_event.rb +1 -1
  213. data/lib/decidim/meetings/version.rb +1 -1
  214. metadata +58 -58
  215. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/elements.erb +0 -16
  216. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/heading.erb +0 -1
  217. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings/show.erb +0 -26
  218. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings_cell.rb +0 -63
  219. data/app/cells/decidim/meetings/join_meeting_button/registration_confirm.erb +0 -31
  220. data/app/cells/decidim/meetings/meeting_highlighted_list_item/show.erb +0 -21
  221. data/app/cells/decidim/meetings/meeting_highlighted_list_item_cell.rb +0 -10
  222. data/app/cells/decidim/meetings/meeting_list_item/show.erb +0 -14
  223. data/app/cells/decidim/meetings/meeting_list_item_cell.rb +0 -44
  224. data/app/cells/decidim/meetings/meeting_m/address.erb +0 -5
  225. data/app/cells/decidim/meetings/meeting_m/data.erb +0 -2
  226. data/app/cells/decidim/meetings/meeting_m/date.erb +0 -8
  227. data/app/cells/decidim/meetings/meeting_m/footer.erb +0 -9
  228. data/app/cells/decidim/meetings/meeting_m/multiple_dates.erb +0 -17
  229. data/app/cells/decidim/meetings/meeting_m/single_date.erb +0 -9
  230. data/app/cells/decidim/meetings/meeting_m/tags.erb +0 -1
  231. data/app/cells/decidim/meetings/meeting_m_cell.rb +0 -121
  232. data/app/cells/decidim/meetings/meeting_s/show.erb +0 -27
  233. data/app/controllers/concerns/decidim/meetings/filterable.rb +0 -27
  234. data/app/controllers/decidim/meetings/widgets_controller.rb +0 -30
  235. data/app/packs/stylesheets/decidim/meetings/_header.scss +0 -52
  236. data/app/packs/stylesheets/decidim/meetings/_main.scss +0 -178
  237. data/app/packs/stylesheets/decidim/meetings/_meetings.scss +0 -2
  238. data/app/queries/decidim/meetings/admin/invites.rb +0 -60
  239. data/app/views/decidim/meetings/admin/meeting_closes/proposals_picker.html.erb +0 -1
  240. data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +0 -34
  241. data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +0 -26
  242. data/app/views/decidim/meetings/meeting_closes/proposals_picker.html.erb +0 -1
  243. data/app/views/decidim/meetings/meetings/_calendar_modal.html.erb +0 -26
  244. data/app/views/decidim/meetings/meetings/_filters.html.erb +0 -40
  245. data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +0 -18
  246. data/app/views/decidim/meetings/meetings/_meetings.html.erb +0 -48
  247. data/app/views/decidim/meetings/versions/index.html.erb +0 -8
  248. data/app/views/decidim/participatory_spaces/_upcoming_meeting_for_card.html.erb +0 -4
  249. data/config/locales/he-IL.yml +0 -1
  250. data/decidim-meetings.gemspec +0 -36
  251. data/lib/decidim/meetings/seeds/city.jpeg +0 -0
@@ -1,42 +1,42 @@
1
1
  <% agenda_item = form.object %>
2
- <div class="card meeting-agenda-item" id="<%= tabs_id %>-field">
2
+ <div class="card meeting-agenda-item p-4" id="<%= tabs_id %>-field">
3
3
  <div class="card-divider agenda-item-divider">
4
4
  <h2 class="card-title">
5
5
  <span>
6
- <%== "#{icon("move")} #{t(".agenda_item")}" %>
6
+ <%== "#{icon("drag-move-2-fill")} #{t(".agenda_item")}" %>
7
7
  </span>
8
8
 
9
- <button class="button small alert hollow move-up-agenda-item button--title">
10
- <%== "#{icon("arrow-top")} #{t(".up")}" %>
9
+ <button class="button button__sm button__transparent-secondary small alert hollow move-up-agenda-item button--title">
10
+ <%== "#{icon("arrow-up-line")} #{t(".up")}" %>
11
11
  </button>
12
12
 
13
- <button class="button small alert hollow move-down-agenda-item button--title">
14
- <%== "#{icon("arrow-bottom")} #{t(".down")}" %>
13
+ <button class="button button__sm button__transparent-secondary small alert hollow move-down-agenda-item button--title">
14
+ <%== "#{icon("arrow-down-line")} #{t(".down")}" %>
15
15
  </button>
16
16
 
17
- <button class="button small alert hollow remove-agenda-item button--title">
17
+ <button class="button button__sm button__transparent-secondary small alert hollow remove-agenda-item button--title">
18
18
  <%= t(".remove") %>
19
19
  </button>
20
20
  </h2>
21
21
  </div>
22
22
 
23
23
  <div class="card-section">
24
- <%= render "agenda_item_fields", tabs_id: tabs_id, form: form, agenda_item: agenda_item %>
24
+ <%= render "agenda_item_fields", tabs_id:, form:, agenda_item: %>
25
25
 
26
- <div class="card">
26
+ <div class="card my-4">
27
27
  <div class="card-divider">
28
28
  <h2 class="card-title"><%= t(".agenda_item_children") %></h2>
29
29
  </div>
30
- <div class="card-section">
30
+ <div class="row column">
31
31
  <div class="meeting-agenda-item-childs" data-template="<%= child_template_selector %>">
32
32
  <div class="meeting-agenda-item-childs-list">
33
33
  <% agenda_item.agenda_item_children.each do |agenda_item_child| %>
34
34
  <%= fields_for "meeting_agenda[agenda_items][#{agenda_item.to_param}][agenda_item_children][]", agenda_item_child do |agenda_item_child_form| %>
35
- <%= render "agenda_item_child", form: agenda_item_child_form, tabs_id: tabs_id, tabs_id_child: tabs_id_for_agenda_item_child(agenda_item_child), editable: true %>
35
+ <%= render "agenda_item_child", form: agenda_item_child_form, tabs_id:, tabs_id_child: tabs_id_for_agenda_item_child(agenda_item_child), editable: true %>
36
36
  <% end %>
37
37
  <% end %>
38
38
  </div>
39
- <button class="button add-agenda-item-child"><%= t(".add_agenda_item_child") %></button>
39
+ <button class="button button__sm button__secondary add-agenda-item-child"><%= t(".add_agenda_item_child") %></button>
40
40
  </div>
41
41
  </div>
42
42
  </div>
@@ -1,26 +1,26 @@
1
1
  <% agenda_item_child = form.object %>
2
- <div class="card meeting-agenda-item-child" id="<%= tabs_id %>-child-<%= tabs_id_child %>-field">
2
+ <div class="card meeting-agenda-item-child p-4" id="<%= tabs_id %>-child-<%= tabs_id_child %>-field">
3
3
  <div class="card-divider agenda-item-child-divider">
4
4
  <h2 class="card-title">
5
5
  <span>
6
- <%== "#{icon("move")} #{t(".agenda_item_child")}" %>
6
+ <%== "#{icon("drag-move-2-fill")} #{t(".agenda_item_child")}" %>
7
7
  </span>
8
8
 
9
- <button class="button small alert hollow move-up-agenda-item-child button--title">
10
- <%== "#{icon("arrow-top")} #{t(".up")}" %>
9
+ <button class="button button__sm button__transparent-secondary small alert hollow move-up-agenda-item-child button--title">
10
+ <%== "#{icon("arrow-up-line")} #{t(".up")}" %>
11
11
  </button>
12
12
 
13
- <button class="button small alert hollow move-down-agenda-item-child button--title">
14
- <%== "#{icon("arrow-bottom")} #{t(".down")}" %>
13
+ <button class="button button__sm button__transparent-secondary small alert hollow move-down-agenda-item-child button--title">
14
+ <%== "#{icon("arrow-down-line")} #{t(".down")}" %>
15
15
  </button>
16
16
 
17
- <button class="button small alert hollow remove-agenda-item-child button--title">
17
+ <button class="button button__sm button__transparent-secondary small alert hollow remove-agenda-item-child button--title">
18
18
  <%= t(".remove") %>
19
19
  </button>
20
20
  </h2>
21
21
  </div>
22
22
 
23
23
  <div class="card-section">
24
- <%= render "agenda_item_fields", tabs_id: tabs_id_child, form: form, agenda_item: agenda_item_child %>
24
+ <%= render "agenda_item_fields", tabs_id: tabs_id_child, form:, agenda_item: agenda_item_child %>
25
25
  </div>
26
26
  </div>
@@ -2,6 +2,6 @@
2
2
 
3
3
  <script type="text/template" class="decidim-template" id="<%= template_id %>">
4
4
  <%= fields_for "meeting_agenda[agenda_items][#{agenda_item.to_param}][agenda_item_children][#{blank_agenda_item.to_param_child}]", blank_agenda_item do |agenda_item_child_form| %>
5
- <%= render "agenda_item_child", form: agenda_item_child_form, tabs_id: tabs_id_for_agenda_item(blank_agenda_item), tabs_id_child: tabs_id_for_agenda_item_child(blank_agenda_item), editable: editable %>
5
+ <%= render "agenda_item_child", form: agenda_item_child_form, tabs_id: tabs_id_for_agenda_item(blank_agenda_item), tabs_id_child: tabs_id_for_agenda_item_child(blank_agenda_item), editable: %>
6
6
  <% end %>
7
7
  </script>
@@ -1,15 +1,15 @@
1
1
  <div class="grid-x">
2
2
  <div class="cell auto">
3
- <%= form.translated :text_field, :title, tabs_id: tabs_id %>
3
+ <%= form.translated :text_field, :title, tabs_id:, aria: { label: :title } %>
4
4
  </div>
5
5
  <div class="cell small-2">
6
- <%= form.number_field :duration, tabs_id: tabs_id, min: 0 %>
6
+ <%= form.number_field :duration, tabs_id:, min: 0 %>
7
7
  </div>
8
8
  </div>
9
9
 
10
10
  <div class="grid-x">
11
11
  <div class="cell auto">
12
- <%= form.translated :editor, :description, tabs_id: tabs_id, rows: 6 %>
12
+ <%= form.translated :editor, :description, tabs_id:, rows: 6, aria: { label: :description } %>
13
13
  </div>
14
14
  </div>
15
15
 
@@ -1,68 +1,72 @@
1
- <div class="card">
2
- <div class="card-divider">
3
- <h2 class="card-title">
4
- <div class="flex--sbc">
5
- <div class="grid-x align-middle">
6
- <u> <%= present(@meeting).title(html_escape: true) %> </u> &nbsp;<%= icon "arrow-right" %>&nbsp;<%= title %>
1
+ <div class="form__wrapper">
2
+ <div class="card">
3
+ <div class="card-divider">
4
+ <h2 class="card-title">
5
+ <div>
6
+ <div class="grid-x align-middle">
7
+ <u> <%= present(@meeting).title(html_escape: true) %> </u> &nbsp;<%= icon "arrow-right-line" %>&nbsp;<%= title %>
8
+ </div>
7
9
  </div>
8
- </div>
9
- </h2>
10
- </div>
11
- <div class="card-section">
12
- <div class="grid-x card-title">
13
- <div class="cell small-2"><strong><%= t(".start_date") %></strong></div>
14
- <div class="cell small-2"><strong><%= t(".end_date") %></strong></div>
10
+ </h2>
15
11
  </div>
16
- <div class="grid-x text-muted">
17
- <div class="cell small-2"><%= meeting.start_time.strftime("%m/%d/%Y %R") %></div>
18
- <div class="cell small-2"><%= meeting.end_time.strftime("%m/%d/%Y %R") %></div>
12
+ <div class="row column">
13
+ <div class="flex items-center gap-x-4">
14
+ <div>
15
+ <div><strong><%= t(".start_date") %></strong></div>
16
+ <div><%= meeting.start_time.strftime("%m/%d/%Y %R") %></div>
17
+ </div>
18
+ <div>
19
+ <div><strong><%= t(".end_date") %></strong></div>
20
+ <div><%= meeting.end_time.strftime("%m/%d/%Y %R") %></div>
21
+ </div>
22
+ </div>
19
23
  </div>
20
24
  </div>
21
- </div>
22
-
23
- <div class="card">
24
- <div class="card-divider">
25
- <h2 class="card-title">
26
- <%= title %>
27
- </h2>
28
- </div>
29
25
 
30
- <div class="card-section">
31
- <div class="row column">
32
- <%= form.translated :text_field, :title, autofocus: true %>
26
+ <div class="card">
27
+ <div class="card-divider">
28
+ <h2 class="card-title">
29
+ <%= title %>
30
+ </h2>
33
31
  </div>
34
32
 
35
- <div class="row column">
36
- <%= form.check_box :visible %>
33
+ <div class="card-section">
34
+ <div class="row column">
35
+ <%= form.translated :text_field, :title, autofocus: true, aria: { label: :title } %>
36
+ </div>
37
+
38
+ <div class="row column">
39
+ <%= form.check_box :visible %>
40
+ </div>
37
41
  </div>
38
42
  </div>
39
- </div>
40
43
 
41
- <div class="card">
42
- <div class="card-divider">
43
- <h2 class="card-title"><%= t(".agenda_items") %></h2>
44
- </div>
44
+ <div class="card">
45
+ <div class="card-divider">
46
+ <h2 class="card-title"><%= t(".agenda_items") %></h2>
47
+ </div>
45
48
 
46
- <div class="card-section">
47
- <div class="meeting-agenda-items">
48
- <%= fields_for "meeting_agenda[agenda_items][#{blank_agenda_item.to_param}]", blank_agenda_item do |agenda_item_form| %>
49
- <script type="text/template" class="decidim-template">
50
- <%= render "agenda_item", form: agenda_item_form, tabs_id: tabs_id_for_agenda_item(blank_agenda_item), editable: true, child_template_selector: "#agenda-item-child-template-dummy" %>
51
- </script>
52
- <%= render "agenda_item_child_template", form: agenda_item_form, editable: true, template_id: "agenda-item-child-template-dummy" %>
53
- <% end %>
49
+ <div class="row column">
50
+ <div class="meeting-agenda-items">
51
+ <%= fields_for "meeting_agenda[agenda_items][#{blank_agenda_item.to_param}]", blank_agenda_item do |agenda_item_form| %>
52
+ <script type="text/template" class="decidim-template">
53
+ <%= render "agenda_item", form: agenda_item_form, tabs_id: tabs_id_for_agenda_item(blank_agenda_item), editable: true, child_template_selector: "#agenda-item-child-template-dummy" %>
54
+ </script>
55
+ <%= render "agenda_item_child_template", form: agenda_item_form, editable: true, template_id: "agenda-item-child-template-dummy" %>
56
+ <% end %>
54
57
 
55
- <div class="meeting-agenda-items-list">
56
- <% @form.agenda_items.each_with_index do |agenda_item, index| %>
57
- <%= fields_for "meeting_agenda[agenda_items][]", agenda_item do |agenda_item_form| %>
58
- <%= render "agenda_item", form: agenda_item_form, tabs_id: tabs_id_for_agenda_item(agenda_item), editable: true, child_template_selector: "#agenda-item-child-template-#{index}" %>
59
- <%= render "agenda_item_child_template", form: agenda_item_form, editable: true, template_id: "agenda-item-child-template-#{index}" %>
58
+ <div class="meeting-agenda-items-list">
59
+ <% @form.agenda_items.each_with_index do |agenda_item, index| %>
60
+ <%= fields_for "meeting_agenda[agenda_items][]", agenda_item do |agenda_item_form| %>
61
+ <%= render "agenda_item", form: agenda_item_form, tabs_id: tabs_id_for_agenda_item(agenda_item), editable: true, child_template_selector: "#agenda-item-child-template-#{index}" %>
62
+ <%= render "agenda_item_child_template", form: agenda_item_form, editable: true, template_id: "agenda-item-child-template-#{index}" %>
63
+ <% end %>
60
64
  <% end %>
61
- <% end %>
65
+ </div>
66
+ <button class="button button__sm button__secondary add-agenda-item"><%= t(".add_agenda_item") %></button>
62
67
  </div>
63
- <button class="button add-agenda-item"><%= t(".add_agenda_item") %></button>
64
68
  </div>
65
69
  </div>
66
70
  </div>
67
71
 
68
- <%= javascript_pack_tag "decidim_meetings_admin" %>
72
+ <%= append_javascript_pack_tag "decidim_meetings_admin" %>
@@ -1,7 +1,19 @@
1
- <%= decidim_form_for(@form, url: meeting_agenda_path(meeting, agenda), html: { class: "form edit_agenda" }) do |f| %>
2
- <%= render partial: "form", object: f, locals: { title: t(".title") } %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
+ <div class="item_show__header">
3
+ <h2 class="item_show__header-title">
4
+ <%= t(".title") %>
5
+ </h2>
6
+ </div>
3
7
 
4
- <div class="button--double form-general-submit">
5
- <%= f.submit t(".update") %>
6
- </div>
7
- <% end %>
8
+ <div class="item__edit item__edit-1col">
9
+ <div class="item__edit-form">
10
+ <%= decidim_form_for(@form, url: meeting_agenda_path(meeting, agenda), html: { class: "form-defaults form edit_agenda" }) do |f| %>
11
+ <%= render partial: "form", object: f, locals: { title: t(".title") } %>
12
+ <div class="item__edit-sticky">
13
+ <div class="item__edit-sticky-container">
14
+ <%= f.submit t(".update"), class: "button button__sm button__secondary" %>
15
+ </div>
16
+ </div>
17
+ <% end %>
18
+ </div>
19
+ </div>
@@ -1,8 +1,20 @@
1
- <%= decidim_form_for(@form, url: meeting_agenda_index_path(meeting), html: { method: :post, class: "form new_agenda" }) do |f| %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
- <%= render partial: "form", object: f, locals: { title: t(".title") } %>
3
+ <div class="item_show__header">
4
+ <h2 class="item_show__header-title">
5
+ <%= t(".title") %>
6
+ </h2>
7
+ </div>
8
+ <div class="item__edit-1col">
9
+ <div class="item__edit-form">
10
+ <%= decidim_form_for(@form, url: meeting_agenda_index_path(meeting), html: { method: :post, class: "form form-defaults new_agenda" }) do |f| %>
4
11
 
5
- <div class="button--double form-general-submit">
6
- <%= f.submit t(".create") %>
12
+ <%= render partial: "form", object: f, locals: { title: t(".title") } %>
13
+ <div class="item__edit-sticky">
14
+ <div class="item__edit-sticky-container">
15
+ <%= f.submit t(".create"), class: "button button__sm button__secondary" %>
16
+ </div>
17
+ </div>
18
+ <% end %>
7
19
  </div>
8
- <% end %>
20
+ </div>
@@ -4,5 +4,14 @@
4
4
  <%= t ".invited_you_to_join_a_meeting", invited_by: @invited_by.name, application: @user.organization.name %>
5
5
  </p>
6
6
 
7
- <p class="email-button email-button__cta cta-decline"><%= link_to t(".decline", meeting_title: present(@meeting).title),routes.decline_invitation_meeting_registration_url(meeting_id: @meeting, participatory_space_id: @meeting.component.participatory_space) %>
8
- <p class="email-button email-button__cta cta-accept"><%= link_to t(".join", meeting_title: present(@meeting).title),routes.meeting_registration_url(meeting_id: @meeting, participatory_space_id: @meeting.component.participatory_space) %>
7
+ <p class="email-button email-button__cta cta-decline">
8
+ <%= link_to t(".decline", meeting_title: present(@meeting).title),
9
+ routes.decline_invitation_meeting_registration_url(meeting_id: @meeting,
10
+ participatory_space_id: @meeting.component.participatory_space
11
+ ) %>
12
+ </p>
13
+ <p class="email-button email-button__cta cta-accept">
14
+ <%= link_to t(".join", meeting_title: present(@meeting).title),
15
+ routes.meeting_registration_url(meeting_id: @meeting,
16
+ participatory_space_id: @meeting.component.participatory_space) %>
17
+ </p>
@@ -1,36 +1,46 @@
1
- <div class="attendee-fields">
2
- <div class="row column">
3
- <fieldset class="check-radio-collection">
4
- <legend><%= t(".attendee_type") %></legend>
5
- <%= form.collection_radio_buttons(:existing_user, [[t(".non_user"), false], [t(".existing_user"), true]], :last, :first) %>
6
- </fieldset>
7
- </div>
1
+ <div class="form__wrapper attendee-fields">
2
+ <div class="card" data-component="accordion" id="accordion-attendee">
3
+ <div class="card-divider">
4
+ <button class="card-divider-button" data-open="true" data-controls="panel-attendee" type="button">
5
+ <%= icon "arrow-right-s-line" %>
6
+ <h2 class="card-title" id="attendee">
7
+ <%= t(".attendee_type") %>
8
+ </h2>
9
+ </button>
10
+ </div>
8
11
 
9
- <div class="text-warning attendee-fields--new-user">
10
- <p><%= t(".invite_explanation") %></p>
11
- </div>
12
+ <div id="panel-attendee" class="card-section">
12
13
 
13
- <div class="grid-x grid-margin-x">
14
- <div class="auto cell attendee-fields--new-user">
15
- <%= form.text_field :name, disabled: disabled %>
16
- </div>
17
- <div class="auto cell attendee-fields--new-user">
18
- <%= form.text_field :email, disabled: disabled %>
19
- </div>
14
+ <div class="row column">
15
+ <fieldset class="check-radio-collection">
16
+ <%= form.collection_radio_buttons(:existing_user, [[t(".non_user"), false], [t(".existing_user"), true]], :last, :first) %>
17
+ </fieldset>
18
+ </div>
20
19
 
21
- <div class="auto cell attendee-fields--user-picker">
22
- <% prompt_options = { url: decidim_admin.users_organization_url, placeholder: t(".select_user") } %>
23
- <%= form.autocomplete_select(:user_id, form.object.user.presence, { multiple: false, class: "autocomplete-field--results-inline" }, prompt_options) do |user|
24
- { value: user.id, label: "#{user.name} (@#{user.nickname})" }
25
- end %>
26
- </div>
20
+ <div class="row column">
21
+ <p><%= t(".invite_explanation") %></p>
22
+ </div>
23
+
24
+ <div class="row column">
25
+ <div class="auto cell attendee-fields--new-user">
26
+ <%= form.text_field :name, disabled: %>
27
+ </div>
28
+ <div class="auto cell attendee-fields--new-user">
29
+ <%= form.text_field :email, disabled: %>
30
+ </div>
27
31
 
28
- <div class="shrink cell">
29
- <div class="text-center mt-sm">
30
- <%= form.submit t(".invite"), disabled: disabled %>
32
+ <div class="auto cell attendee-fields--user-picker">
33
+ <% prompt_options = { url: decidim_admin.users_organization_url, placeholder: t(".select_user") } %>
34
+ <%= form.autocomplete_select(:user_id, form.object.user.presence, { multiple: false, class: "autocomplete-field--results-inline" }, prompt_options) do |user|
35
+ { value: user.id, label: "#{user.name} (@#{user.nickname})" }
36
+ end %>
37
+ </div>
38
+
39
+ </div>
40
+ <div class="row column">
41
+ <%= form.submit t(".invite"), class: "button button__sm button__secondary", disabled: %>
31
42
  </div>
32
43
  </div>
33
44
  </div>
34
45
  </div>
35
-
36
- <%= javascript_pack_tag "decidim_meetings_admin" %>
46
+ <%= append_javascript_pack_tag "decidim_meetings_admin" %>
@@ -1,10 +1,13 @@
1
- <div class="card">
2
- <div class="card-divider">
3
- <h2 class="card-title"><%= t(".invite_attendee") %></h2>
4
- </div>
5
- <div class="card-section">
6
- <%= decidim_form_for(@form, url: meeting_registrations_invites_path, method: :post, html: { class: "form new_meeting_registration_invite" }) do |f| %>
7
- <% disable_form = !allowed_to?(:invite_attendee, :meeting, meeting: meeting) %>
1
+ <% add_decidim_page_title(t(".invite_attendee")) %>
2
+ <div class="item_show__header">
3
+ <h2 class="item_show__header-title">
4
+ <%= t(".invite_attendee") %>
5
+ </h2>
6
+ </div>
7
+ <div class="item__edit item__edit-1col">
8
+ <div class="item__edit-form">
9
+ <%= decidim_form_for(@form, url: meeting_registrations_invites_path, method: :post, html: { class: "form form-defaults new_meeting_registration_invite" }) do |f| %>
10
+ <% disable_form = !allowed_to?(:invite_attendee, :meeting, meeting:) %>
8
11
 
9
12
  <%= render partial: "form", object: f, locals: { disabled: disable_form } %>
10
13
 
@@ -14,86 +17,79 @@
14
17
  </div>
15
18
  <% end %>
16
19
  <% end %>
17
- </div>
18
- </div>
19
20
 
20
- <div class="filters grid-x mt-m">
21
- <div class="medium-7">
22
- <span class="dropdown-menu-inverted_label"><%= t(".filter_by") %> :</span>
23
- <ul class="dropdown menu dropdown-inverted" data-dropdown-menu data-click-open="true" data-close-on-click-inside="false">
24
- <li class="is-dropdown-submenu-parent">
25
- <a href="#">
26
- <% if @status.present? %>
27
- <%= t(".filter.#{@status}") %>
28
- <% else %>
29
- <%= t(".filter.all") %>
30
- <% end %>
31
- </a>
32
- <ul class="menu is-dropdown-submenu">
33
- <li><%= link_to t(".filter.sent"), url_for(status: "sent", q: @query) %></li>
34
- <li><%= link_to t(".filter.accepted"), url_for(status: "accepted", q: @query) %></li>
35
- <li><%= link_to t(".filter.rejected"), url_for(status: "rejected", q: @query) %></li>
36
- <li><%= link_to t(".filter.all"), url_for(q: @query) %></li>
21
+ <%# NOTE: this old filters section should be refactorized in order to use the shared admin_filter_selector method
22
+ it would require the definition of concerns similar to decidim-conferences/app/controllers/concerns/decidim/conferences/admin/filterable.rb %>
23
+ <div class="filters__section mt-4">
24
+ <div class="fcell">
25
+ <ul class="dropdown menu" data-dropdown-menu data-click-open="true" data-close-on-click-inside="false">
26
+ <li class="is-dropdown-submenu-parent">
27
+ <a href="#" class="dropdown button">
28
+ <%= t("filter_label", scope: "decidim.admin.filters") %>
29
+ <%= icon "arrow-down-s-line", class: "dropdown-filter-icon" %>
30
+ </a>
31
+ <ul class="menu is-dropdown-submenu">
32
+ <li><%= link_to t(".filter.sent"), url_for(status: "sent", q: @query) %></li>
33
+ <li><%= link_to t(".filter.accepted"), url_for(status: "accepted", q: @query) %></li>
34
+ <li><%= link_to t(".filter.rejected"), url_for(status: "rejected", q: @query) %></li>
35
+ <li><%= link_to t(".filter.all"), url_for(q: @query) %></li>
36
+ </ul>
37
+ </li>
37
38
  </ul>
38
- </li>
39
- </ul>
40
- </div>
41
- <div class="medium-5">
42
- <%= form_tag "", method: :get do %>
43
- <div class="filters__search">
44
- <div class="input-group">
45
- <%= search_field_tag :q, @query,label: false, class: "input-group-field", placeholder: t(".search") %>
46
- <%= hidden_field_tag :state, @state %>
47
- <div class="input-group-button">
48
- <button type="submit" class="button">
49
- <%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
50
- </button>
39
+ </div>
40
+ <div class="fcell search">
41
+ <%= form_tag "", method: :get do %>
42
+ <div class="input-group">
43
+ <%= search_field_tag :q, @query,label: false, class: "input-group-field", placeholder: t(".search") %>
44
+ <%= hidden_field_tag :state, @state %>
45
+ <div class="input-group-button">
46
+ <button type="submit" class="text-secondary" aria-label="<%= t("decidim.search.term_input_placeholder") %>">
47
+ <%= icon "search-line", class: "fill-secondary w-4 h-4" %>
48
+ </button>
49
+ </div>
51
50
  </div>
52
- </div>
51
+ <% end %>
53
52
  </div>
54
- <% end %>
55
- </div>
56
- </div>
57
-
58
- <div class="card" id="meeting-invites">
59
- <div class="card-divider">
60
- <h2 class="card-title"><%= t(".invites") %></h2>
61
- </div>
53
+ </div>
62
54
 
63
- <div class="card-section">
64
- <div class="table-scroll">
65
- <table class="table-list">
66
- <thead>
67
- <tr>
68
- <th><%= t("models.invite.fields.name", scope: "decidim.meetings") %></th>
69
- <th><%= t("models.invite.fields.email", scope: "decidim.meetings") %></th>
70
- <th><%= t("models.invite.fields.sent_at", scope: "decidim.meetings") %></th>
71
- <th><%= t("models.invite.fields.status", scope: "decidim.meetings") %></th>
72
- </tr>
73
- </thead>
74
- <tbody>
75
- <% invites.each do |invite| %>
76
- <% presenter = Decidim::Meetings::InvitePresenter.new(invite) %>
77
- <tr data-id="<%= invite.id %>">
78
- <td>
79
- <%= invite.user.name %>
80
- </td>
81
- <td>
82
- <%= invite.user.email %>
83
- </td>
84
- <td>
85
- <% if invite.sent_at %>
86
- <%= l invite.sent_at, format: :long %>
87
- <% end %>
88
- </td>
89
- <td class="<%= presenter.status_html_class %>">
90
- <%= presenter.status %>
91
- </td>
55
+ <div class="card" id="meeting-invites">
56
+ <div class="card-divider">
57
+ <h2 class="card-title"><%= t(".invites") %></h2>
58
+ </div>
59
+ <div class="table-scroll">
60
+ <table class="table-list">
61
+ <thead>
62
+ <tr>
63
+ <th><%= t("models.invite.fields.name", scope: "decidim.meetings") %></th>
64
+ <th><%= t("models.invite.fields.email", scope: "decidim.meetings") %></th>
65
+ <th><%= t("models.invite.fields.sent_at", scope: "decidim.meetings") %></th>
66
+ <th><%= t("models.invite.fields.status", scope: "decidim.meetings") %></th>
92
67
  </tr>
93
- <% end %>
94
- </tbody>
95
- </table>
96
- <%= paginate invites, theme: "decidim" %>
68
+ </thead>
69
+ <tbody>
70
+ <% invites.each do |invite| %>
71
+ <% presenter = Decidim::Meetings::InvitePresenter.new(invite) %>
72
+ <tr data-id="<%= invite.id %>">
73
+ <td>
74
+ <%= invite.user.name %>
75
+ </td>
76
+ <td>
77
+ <%= invite.user.email %>
78
+ </td>
79
+ <td>
80
+ <% if invite.sent_at %>
81
+ <%= l invite.sent_at, format: :long %>
82
+ <% end %>
83
+ </td>
84
+ <td class="<%= presenter.status_html_class %>">
85
+ <%= presenter.status %>
86
+ </td>
87
+ </tr>
88
+ <% end %>
89
+ </tbody>
90
+ </table>
91
+ </div>
97
92
  </div>
93
+ <%= decidim_paginate invites %>
98
94
  </div>
99
95
  </div>