decidim-meetings 0.30.2 → 0.31.0.rc1

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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/cancel_registration_meeting_button/cancelation_modal.erb +7 -4
  3. data/app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb +1 -1
  4. data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +36 -0
  5. data/app/cells/decidim/meetings/dates_and_map_cell.rb +1 -1
  6. data/app/cells/decidim/meetings/join_meeting_button/registration_modal.erb +4 -5
  7. data/app/cells/decidim/meetings/join_meeting_button/show.erb +25 -28
  8. data/app/cells/decidim/meetings/join_meeting_button/waitlist_button.erb +22 -0
  9. data/app/cells/decidim/meetings/join_meeting_button_cell.rb +28 -0
  10. data/app/cells/decidim/meetings/question_responses/show.erb +7 -7
  11. data/app/cells/decidim/meetings/question_responses_cell.rb +28 -28
  12. data/app/commands/decidim/meetings/admin/copy_meeting.rb +5 -2
  13. data/app/commands/decidim/meetings/admin/create_agenda.rb +6 -2
  14. data/app/commands/decidim/meetings/admin/create_meeting.rb +7 -3
  15. data/app/commands/decidim/meetings/admin/mark_as_attendee.rb +44 -0
  16. data/app/commands/decidim/meetings/admin/publish_meeting.rb +2 -1
  17. data/app/commands/decidim/meetings/admin/update_agenda.rb +6 -2
  18. data/app/commands/decidim/meetings/admin/update_meeting.rb +15 -6
  19. data/app/commands/decidim/meetings/admin/update_questionnaire.rb +4 -4
  20. data/app/commands/decidim/meetings/admin/update_registrations.rb +19 -7
  21. data/app/commands/decidim/meetings/create_meeting.rb +2 -3
  22. data/app/commands/decidim/meetings/{create_answer.rb → create_response.rb} +11 -11
  23. data/app/commands/decidim/meetings/join_meeting.rb +4 -6
  24. data/app/commands/decidim/meetings/join_waitlist.rb +53 -0
  25. data/app/commands/decidim/meetings/leave_meeting.rb +14 -5
  26. data/app/commands/decidim/meetings/update_meeting.rb +1 -2
  27. data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +1 -1
  28. data/app/controllers/decidim/meetings/admin/agenda_controller.rb +2 -2
  29. data/app/controllers/decidim/meetings/admin/invites_controller.rb +1 -1
  30. data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +1 -1
  31. data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +1 -1
  32. data/app/controllers/decidim/meetings/admin/meetings_controller.rb +4 -4
  33. data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +10 -10
  34. data/app/controllers/decidim/meetings/admin/registrations_attendees_controller.rb +79 -0
  35. data/app/controllers/decidim/meetings/admin/registrations_controller.rb +1 -22
  36. data/app/controllers/decidim/meetings/meeting_closes_controller.rb +1 -1
  37. data/app/controllers/decidim/meetings/meetings_controller.rb +11 -11
  38. data/app/controllers/decidim/meetings/polls/{answers_controller.rb → responses_controller.rb} +7 -7
  39. data/app/controllers/decidim/meetings/registrations_controller.rb +39 -12
  40. data/app/events/decidim/meetings/registration_marked_as_attendee_event.rb +9 -0
  41. data/app/events/decidim/meetings/upcoming_meeting_event.rb +41 -0
  42. data/app/events/decidim/meetings/update_meeting_event.rb +25 -0
  43. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +2 -1
  44. data/app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb +4 -0
  45. data/app/forms/decidim/meetings/admin/meeting_form.rb +28 -3
  46. data/app/forms/decidim/meetings/admin/question_form.rb +3 -3
  47. data/app/forms/decidim/meetings/admin/{answer_option_form.rb → response_option_form.rb} +3 -3
  48. data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +1 -1
  49. data/app/forms/decidim/meetings/base_meeting_form.rb +0 -2
  50. data/app/forms/decidim/meetings/close_meeting_form.rb +2 -1
  51. data/app/forms/decidim/meetings/join_meeting_form.rb +0 -1
  52. data/app/forms/decidim/meetings/meeting_form.rb +3 -2
  53. data/app/forms/decidim/meetings/response_choice_form.rb +14 -0
  54. data/app/forms/decidim/meetings/{answer_form.rb → response_form.rb} +7 -7
  55. data/app/helpers/decidim/meetings/application_helper.rb +0 -1
  56. data/app/helpers/decidim/meetings/meetings_helper.rb +14 -5
  57. data/app/jobs/decidim/meetings/promote_from_waitlist_job.rb +63 -0
  58. data/app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb +1 -1
  59. data/app/mailers/decidim/meetings/registration_mailer.rb +13 -0
  60. data/app/models/decidim/meetings/agenda_item.rb +5 -0
  61. data/app/models/decidim/meetings/meeting.rb +15 -12
  62. data/app/models/decidim/meetings/question.rb +12 -12
  63. data/app/models/decidim/meetings/questionnaire.rb +1 -1
  64. data/app/models/decidim/meetings/registration.rb +19 -7
  65. data/app/models/decidim/meetings/{answer.rb → response.rb} +6 -6
  66. data/app/models/decidim/meetings/response_choice.rb +15 -0
  67. data/app/models/decidim/meetings/{answer_option.rb → response_option.rb} +5 -5
  68. data/app/packs/src/decidim/meetings/admin/destroy_meeting_alert.js +1 -1
  69. data/app/packs/src/decidim/meetings/admin/meetings_components_form.js +1 -8
  70. data/app/packs/src/decidim/meetings/admin/meetings_form.js +1 -1
  71. data/app/packs/src/decidim/meetings/admin/registrations_form.js +1 -1
  72. data/app/packs/src/decidim/meetings/admin/registrations_invite_form.js +1 -1
  73. data/app/packs/src/decidim/meetings/meetings_form.js +1 -1
  74. data/app/packs/src/decidim/meetings/meetings_polls.js +1 -1
  75. data/app/packs/src/decidim/meetings/poll.component.js +5 -5
  76. data/app/packs/stylesheets/decidim/meetings/_item.scss +5 -1
  77. data/app/packs/stylesheets/decidim/meetings/meetings.scss +4 -4
  78. data/app/permissions/decidim/meetings/admin/agenda_permissions.rb +34 -0
  79. data/app/permissions/decidim/meetings/admin/meeting_permissions.rb +44 -0
  80. data/app/permissions/decidim/meetings/admin/permissions.rb +5 -66
  81. data/app/permissions/decidim/meetings/admin/questionnaire_permissions.rb +30 -0
  82. data/app/permissions/decidim/meetings/meeting_permissions.rb +90 -0
  83. data/app/permissions/decidim/meetings/permissions.rb +9 -105
  84. data/app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb +1 -1
  85. data/app/presenters/decidim/meetings/agenda_item_presenter.rb +29 -0
  86. data/app/presenters/decidim/meetings/meeting_presenter.rb +11 -15
  87. data/app/presenters/decidim/meetings/registration_presenter.rb +24 -0
  88. data/app/queries/decidim/meetings/{questionnaire_user_answers.rb → questionnaire_user_responses.rb} +5 -5
  89. data/app/serializers/decidim/meetings/registration_serializer.rb +5 -6
  90. data/app/services/decidim/meetings/diff_renderer.rb +0 -1
  91. data/app/views/decidim/meetings/_calendar_modal.html.erb +1 -0
  92. data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +1 -1
  93. data/app/views/decidim/meetings/admin/invites/_form.html.erb +1 -1
  94. data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +1 -1
  95. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +3 -2
  96. data/app/views/decidim/meetings/admin/meetings/_linked_spaces.html.erb +1 -1
  97. data/app/views/decidim/meetings/admin/meetings/_meeting-tr.html.erb +11 -8
  98. data/app/views/decidim/meetings/admin/meetings/_meeting_actions.html.erb +200 -69
  99. data/app/views/decidim/meetings/admin/meetings/_reminders.html.erb +19 -0
  100. data/app/views/decidim/meetings/admin/meetings/_services.html.erb +1 -1
  101. data/app/views/decidim/meetings/admin/meetings/index.html.erb +7 -5
  102. data/app/views/decidim/meetings/admin/meetings/manage_trash.html.erb +2 -1
  103. data/app/views/decidim/meetings/admin/poll/_form.html.erb +6 -6
  104. data/app/views/decidim/meetings/admin/poll/_question.html.erb +13 -13
  105. data/app/views/decidim/meetings/admin/poll/_response_option.html.erb +35 -0
  106. data/app/views/decidim/meetings/admin/poll/_response_option_template.html.erb +7 -0
  107. data/app/views/decidim/meetings/admin/poll/edit.html.erb +3 -3
  108. data/app/views/decidim/meetings/admin/registration_form/edit_questions.html.erb +5 -5
  109. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +19 -39
  110. data/app/views/decidim/meetings/admin/registrations_attendees/index.html.erb +126 -0
  111. data/app/views/decidim/meetings/layouts/live_event.html.erb +1 -1
  112. data/app/views/decidim/meetings/meeting_closes/_form.html.erb +2 -2
  113. data/app/views/decidim/meetings/meetings/_form.html.erb +2 -11
  114. data/app/views/decidim/meetings/meetings/_meeting.html.erb +2 -2
  115. data/app/views/decidim/meetings/meetings/_meeting_actions.html.erb +3 -3
  116. data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +2 -2
  117. data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +11 -10
  118. data/app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb +3 -3
  119. data/app/views/decidim/meetings/meetings/_registration_code_modal.html.erb +16 -0
  120. data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +1 -1
  121. data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +5 -5
  122. data/app/views/decidim/meetings/polls/responses/_multiple_option.html.erb +13 -0
  123. data/app/views/decidim/meetings/polls/responses/_single_option.html.erb +13 -0
  124. data/app/views/decidim/meetings/polls/{answers → responses}/admin.html.erb +4 -4
  125. data/app/views/decidim/meetings/polls/{answers → responses}/index.html.erb +4 -4
  126. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +6 -1
  127. data/config/assets.rb +2 -2
  128. data/config/locales/ar.yml +1 -26
  129. data/config/locales/bg.yml +2 -32
  130. data/config/locales/ca-IT.yml +86 -40
  131. data/config/locales/ca.yml +86 -40
  132. data/config/locales/cs.yml +71 -43
  133. data/config/locales/de.yml +87 -41
  134. data/config/locales/el.yml +1 -25
  135. data/config/locales/en.yml +89 -43
  136. data/config/locales/es-MX.yml +87 -41
  137. data/config/locales/es-PY.yml +87 -41
  138. data/config/locales/es.yml +87 -41
  139. data/config/locales/eu.yml +86 -40
  140. data/config/locales/fi-plain.yml +86 -40
  141. data/config/locales/fi.yml +85 -39
  142. data/config/locales/fr-CA.yml +79 -38
  143. data/config/locales/fr.yml +79 -38
  144. data/config/locales/ga-IE.yml +1 -7
  145. data/config/locales/gl.yml +1 -19
  146. data/config/locales/hu.yml +1 -22
  147. data/config/locales/id-ID.yml +0 -16
  148. data/config/locales/is-IS.yml +0 -10
  149. data/config/locales/it.yml +1 -29
  150. data/config/locales/ja.yml +88 -42
  151. data/config/locales/lb.yml +1 -15
  152. data/config/locales/lt.yml +1 -28
  153. data/config/locales/lv.yml +0 -16
  154. data/config/locales/nl.yml +1 -26
  155. data/config/locales/no.yml +1 -28
  156. data/config/locales/pl.yml +2 -32
  157. data/config/locales/pt-BR.yml +1 -28
  158. data/config/locales/pt.yml +1 -28
  159. data/config/locales/ro-RO.yml +56 -29
  160. data/config/locales/ru.yml +0 -16
  161. data/config/locales/sk.yml +0 -16
  162. data/config/locales/sl.yml +0 -4
  163. data/config/locales/sv.yml +85 -39
  164. data/config/locales/tr-TR.yml +0 -20
  165. data/config/locales/uk.yml +0 -12
  166. data/config/locales/zh-CN.yml +0 -19
  167. data/config/locales/zh-TW.yml +1 -26
  168. data/db/migrate/20181107175558_add_questionnaire_to_existing_meetings.rb +8 -2
  169. data/db/migrate/20200827153856_add_commentable_counter_cache_to_meetings.rb +8 -2
  170. data/db/migrate/20201016065302_fix_meetings_registration_terms.rb +8 -2
  171. data/db/migrate/20210310120731_add_followable_counter_cache_to_meetings.rb +8 -2
  172. data/db/migrate/20250317103343_rename_answer_to_response_in_decidim_meetings.rb +18 -0
  173. data/db/migrate/20250403094034_add_reminder_customization_to_decidim_meetings.rb +9 -0
  174. data/db/migrate/20250408071941_add_status_to_registrations_to_decidim_meetings_registrations.rb +8 -0
  175. data/lib/decidim/api/agenda_item_type.rb +6 -2
  176. data/lib/decidim/api/agenda_type.rb +6 -2
  177. data/lib/decidim/api/linked_resources_interface.rb +1 -1
  178. data/lib/decidim/api/meeting_type.rb +20 -10
  179. data/lib/decidim/api/service_type.rb +3 -0
  180. data/lib/decidim/meetings/admin_engine.rb +9 -1
  181. data/lib/decidim/meetings/component.rb +29 -8
  182. data/lib/decidim/meetings/engine.rb +6 -21
  183. data/lib/decidim/meetings/meeting_serializer.rb +1 -2
  184. data/lib/decidim/meetings/schema_org_event_meeting_serializer.rb +0 -10
  185. data/lib/decidim/meetings/seeds.rb +4 -13
  186. data/lib/decidim/meetings/test/factories.rb +10 -16
  187. data/lib/decidim/meetings/user_responses_serializer.rb +47 -0
  188. data/lib/decidim/meetings/version.rb +1 -1
  189. data/lib/decidim/meetings.rb +7 -9
  190. metadata +49 -35
  191. data/app/cells/decidim/meetings/attending_organizations_list_cell.rb +0 -32
  192. data/app/forms/decidim/meetings/answer_choice_form.rb +0 -14
  193. data/app/models/decidim/meetings/answer_choice.rb +0 -15
  194. data/app/queries/decidim/meetings/metrics/meeting_followers_metric_measure.rb +0 -31
  195. data/app/queries/decidim/meetings/metrics/meetings_metric_manage.rb +0 -48
  196. data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +0 -35
  197. data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +0 -7
  198. data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +0 -13
  199. data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +0 -13
  200. data/lib/decidim/meetings/download_your_data_user_answers_serializer.rb +0 -39
  201. data/lib/decidim/meetings/user_answers_serializer.rb +0 -47
  202. /data/app/views/decidim/meetings/polls/{answers → responses}/create.js.erb +0 -0
@@ -1,70 +1,201 @@
1
- <% if view == :deleted %>
2
- <% if allowed_to? :restore, :meeting, trashable_deleted_resource: meeting %>
3
- <%= icon_link_to "refresh-line", url_for(action: :restore, id: meeting, controller: "meetings"), t("decidim.admin.actions.restore"), method: :patch, class: "action-icon--restore" %>
4
- <% end %>
5
- <% else %>
6
- <% if allowed_to? :update, :meeting, meeting: meeting %>
7
- <%= icon_link_to "pencil-line", edit_meeting_path(meeting), t("actions.edit", scope: "decidim.meetings"), class: "action-icon--edit" %>
8
- <% else %>
9
- <span class="action-space icon"></span>
10
- <% end %>
11
-
12
- <% if allowed_to? :copy, :meeting, meeting: meeting %>
13
- <%= icon_link_to "file-copy-line", new_meeting_copy_path(meeting), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
14
- <% else %>
15
- <span class="action-space icon"></span>
16
- <% end %>
17
-
18
- <% if allowed_to? :update, :meeting, meeting: meeting %>
19
- <%= icon_link_to "folder-line", meeting_attachment_collections_path(meeting), t("actions.attachment_collections", scope: "decidim.meetings"), class: "action-icon--attachment_collections" %>
20
- <% else %>
21
- <span class="action-space icon"></span>
22
- <% end %>
23
-
24
- <% if allowed_to? :update, :meeting, meeting: meeting %>
25
- <%= icon_link_to "attachment-line", meeting_attachments_path(meeting), t("actions.attachments", scope: "decidim.meetings"), class: "action-icon--attachments" %>
26
- <% else %>
27
- <span class="action-space icon"></span>
28
- <% end %>
29
-
30
- <% if allowed_to? :update, :meeting, meeting: meeting %>
31
- <% if meeting.registration_disabled? %>
32
- <%= icon "group-line", class: "action-icon action-icon--disabled", role: "img", aria_label: t("actions.registrations", scope: "decidim.meetings") %>
33
- <% else %>
34
- <%= icon_link_to "group-line", meeting.on_this_platform? ? edit_meeting_registrations_path(meeting) : meeting.registration_url, t("actions.registrations", scope: "decidim.meetings"), class: "action-icon--registrations" %>
35
- <% end %>
36
- <% end %>
37
-
38
- <% if allowed_to? :update, :meeting, meeting: meeting %>
39
- <%= icon_link_to "calendar-line", meeting.agenda.present? ? edit_meeting_agenda_path(meeting, meeting.agenda) : new_meeting_agenda_path(meeting), t("actions.agenda", scope: "decidim.meetings"), class: "action-icon--agenda" %>
40
- <%= icon_link_to "list-check", edit_meeting_poll_path(meeting), t("actions.manage_poll", scope: "decidim.meetings"), class: "action-icon--manage-poll-questionnaire" %>
41
- <% else %>
42
- <span class="action-space icon"></span>
43
- <% end %>
44
-
45
- <% if allowed_to? :close, :meeting, meeting: meeting %>
46
- <%= icon_link_to "lock-line", edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), t("actions.close", scope: "decidim.meetings"), class: "action-icon--close" %>
47
- <% else %>
48
- <span class="action-space icon"></span>
49
- <% end %>
50
-
51
- <% if allowed_to? :update, :meeting, meeting: meeting %>
52
- <% if meeting.published? %>
53
- <%= icon_link_to "close-circle-line", unpublish_meeting_path(meeting), t("actions.unpublish", scope: "decidim.admin"), method: :put, class: "action-icon--unpublish", data: { confirm: t("actions.unpublish", scope: "decidim.admin") } %>
54
- <% else %>
55
- <%= icon_link_to "check-line", publish_meeting_path(meeting), t("actions.publish", scope: "decidim.admin"), method: :put, class: "action-icon--publish" %>
56
- <% end %>
57
- <% else %>
58
- <span class="action-space icon"></span>
59
- <% end %>
60
-
61
- <%= icon_link_to "eye-line", resource_locator(meeting).path, t("actions.preview", scope: "decidim.meetings"), class: "action-icon--preview", target: :blank, data: { "external-link": false } %>
62
-
63
- <%= resource_permissions_link(meeting) %>
64
-
65
- <% if allowed_to? :soft_delete, :meeting, trashable_deleted_resource: meeting %>
66
- <%= icon_link_to "delete-bin-line", soft_delete_meeting_path(meeting), t("actions.soft_delete", scope: "decidim.admin"), method: :patch, class: "action-icon--delete", data: { confirm: t("actions.confirm_delete_meeting", scope: "decidim.meetings") } %>
67
- <% else %>
68
- <%= icon "delete-bin-line", class: "action-icon action-icon--disabled", role: "img", aria_label: t("actions.soft_delete", scope: "decidim.admin") %>
69
- <% end %>
1
+ <button type="button" data-controller="dropdown" data-target="actions-meeting-<%= meeting.id %>" aria-label="<%= t("actions.actions_label", scope: "decidim.admin") %>">
2
+ <%= icon "more-fill", class: "text-secondary" %>
3
+ </button>
4
+
5
+ <div class="inline-block relative">
6
+ <ul id="actions-meeting-<%= meeting.id %>" class="dropdown dropdown__action" aria-hidden="true">
7
+ <% if view == :deleted && allowed_to?(:restore, :meeting, trashable_deleted_resource: meeting) %>
8
+ <li class="dropdown__item">
9
+ <%= link_to url_for(action: :restore, id: meeting, controller: "meetings"), method: :patch, class: "dropdown__button" do %>
10
+ <%= icon "refresh-line" %>
11
+ <%= t("decidim.admin.actions.restore") %>
12
+ <% end %>
13
+ </li>
14
+ <% elsif view != :deleted %>
15
+ <li class="dropdown__item">
16
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
17
+ <%= link_to edit_meeting_path(meeting), class: "dropdown__button" do %>
18
+ <%= icon "pencil-line" %>
19
+ <%= t("actions.edit", scope: "decidim.meetings") %>
20
+ <% end %>
21
+ <% else %>
22
+ <div class="dropdown__button-disabled">
23
+ <%= with_tooltip t("tooltips.cannot_edit_meetings", scope: "decidim.admin") do %>
24
+ <%= icon "pencil-line", class: "text-gray" %>
25
+ <span><%= t("actions.edit", scope: "decidim.meetings") %></span>
26
+ <% end %>
27
+ </div>
28
+ <% end %>
29
+ </li>
30
+
31
+ <hr>
32
+
33
+ <li class="dropdown__item">
34
+ <% if allowed_to?(:copy, :meeting, meeting: meeting) %>
35
+ <%= link_to new_meeting_copy_path(meeting), class: "dropdown__button" do %>
36
+ <%= icon "file-copy-line" %>
37
+ <%= t("actions.duplicate", scope: "decidim.admin") %>
38
+ <% end %>
39
+ <% else %>
40
+ <div class="dropdown__button-disabled">
41
+ <%= with_tooltip t("tooltips.cannot_duplicate_meetings", scope: "decidim.admin") do %>
42
+ <%= icon "file-copy-line", class: "text-gray" %>
43
+ <span><%= t("actions.duplicate", scope: "decidim.admin") %></span>
44
+ <% end %>
45
+ </div>
46
+ <% end %>
47
+ </li>
48
+
49
+ <hr>
50
+
51
+ <li class="dropdown__item">
52
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
53
+ <%= link_to meeting_attachments_path(meeting), class: "dropdown__button" do %>
54
+ <%= icon "attachment-line" %>
55
+ <%= t("actions.attachments", scope: "decidim.admin") %>
56
+ <% end %>
57
+ <% else %>
58
+ <div class="dropdown__button-disabled">
59
+ <%= with_tooltip t("tooltips.cannot_manage_attachments_meetings", scope: "decidim.admin") do %>
60
+ <%= icon "attachment-line", class: "text-gray" %>
61
+ <span><%= t("actions.attachments", scope: "decidim.admin") %></span>
62
+ <% end %>
63
+ </div>
64
+ <% end %>
65
+ </li>
66
+
67
+ <li class="dropdown__item">
68
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
69
+ <%= link_to meeting_attachment_collections_path(meeting), class: "dropdown__button" do %>
70
+ <%= icon "folder-line" %>
71
+ <%= t("actions.attachment_collections", scope: "decidim.admin") %>
72
+ <% end %>
73
+ <% else %>
74
+ <div class="dropdown__button-disabled">
75
+ <%= with_tooltip t("tooltips.cannot_manage_attachments_meetings", scope: "decidim.admin") do %>
76
+ <%= icon "folder-line", class: "text-gray" %>
77
+ <span><%= t("actions.attachment_collections", scope: "decidim.admin") %></span>
78
+ <% end %>
79
+ </div>
80
+ <% end %>
81
+ </li>
82
+
83
+ <hr>
84
+
85
+ <li class="dropdown__item">
86
+ <% if allowed_to?(:update, :meeting, meeting: meeting) && !meeting.registration_disabled? %>
87
+ <%= link_to(meeting.on_this_platform? ? edit_meeting_registrations_path(meeting) : meeting.registration_url, class: "dropdown__button") do %>
88
+ <%= icon "group-line" %>
89
+ <%= t("actions.registrations", scope: "decidim.meetings") %>
90
+ <% end %>
91
+ <% else %>
92
+ <div class="dropdown__button-disabled">
93
+ <%= with_tooltip t("tooltips.cannot_manage_registrations_meetings", scope: "decidim.admin") do %>
94
+ <%= icon "group-line", class: "text-gray" %>
95
+ <span><%= t("actions.registrations", scope: "decidim.meetings") %></span>
96
+ <% end %>
97
+ </div>
98
+ <% end %>
99
+ </li>
100
+
101
+ <li class="dropdown__item">
102
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
103
+ <%= link_to(meeting.agenda.present? ? edit_meeting_agenda_path(meeting, meeting.agenda) : new_meeting_agenda_path(meeting), class: "dropdown__button") do %>
104
+ <%= icon "calendar-line" %>
105
+ <%= t("actions.agenda", scope: "decidim.meetings") %>
106
+ <% end %>
107
+ <% else %>
108
+ <div class="dropdown__button-disabled">
109
+ <%= with_tooltip t("tooltips.cannot_manage_agenda_meetings", scope: "decidim.admin") do %>
110
+ <%= icon "calendar-line", class: "text-gray" %>
111
+ <span><%= t("actions.agenda", scope: "decidim.meetings") %></span>
112
+ <% end %>
113
+ </div>
114
+ <% end %>
115
+ </li>
116
+
117
+ <li class="dropdown__item">
118
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
119
+ <%= link_to edit_meeting_poll_path(meeting), class: "dropdown__button" do %>
120
+ <%= icon "list-check" %>
121
+ <%= t("actions.manage_poll", scope: "decidim.meetings") %>
122
+ <% end %>
123
+ <% else %>
124
+ <div class="dropdown__button-disabled">
125
+ <%= with_tooltip t("tooltips.cannot_manage_poll_meetings", scope: "decidim.admin") do %>
126
+ <%= icon "list-check", class: "text-gray" %>
127
+ <span><%= t("actions.manage_poll", scope: "decidim.meetings") %></span>
128
+ <% end %>
129
+ </div>
130
+ <% end %>
131
+ </li>
132
+
133
+ <li class="dropdown__item">
134
+ <% if allowed_to?(:close, :meeting, meeting: meeting) %>
135
+ <%= link_to edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), class: "dropdown__button" do %>
136
+ <%= icon "lock-line" %>
137
+ <%= t("actions.close", scope: "decidim.meetings") %>
138
+ <% end %>
139
+ <% else %>
140
+ <div class="dropdown__button-disabled">
141
+ <%= with_tooltip t("tooltips.cannot_close_meetings", scope: "decidim.admin") do %>
142
+ <%= icon "lock-line", class: "text-gray" %>
143
+ <span><%= t("actions.close", scope: "decidim.meetings") %></span>
144
+ <% end %>
145
+ </div>
146
+ <% end %>
147
+ </li>
148
+
149
+ <hr>
150
+
151
+ <li class="dropdown__item">
152
+ <% if allowed_to?(:update, :meeting, meeting: meeting) %>
153
+ <% if meeting.published? %>
154
+ <%= link_to unpublish_meeting_path(meeting), method: :put, data: { confirm: t("actions.unpublish", scope: "decidim.admin") }, class: "dropdown__button" do %>
155
+ <%= icon "close-circle-line" %>
156
+ <%= t("actions.unpublish", scope: "decidim.admin") %>
157
+ <% end %>
158
+ <% else %>
159
+ <%= link_to publish_meeting_path(meeting), method: :put, class: "dropdown__button" do %>
160
+ <%= icon "check-line" %>
161
+ <%= t("actions.publish", scope: "decidim.admin") %>
162
+ <% end %>
163
+ <% end %>
164
+ <% end %>
165
+ </li>
166
+
167
+ <hr>
168
+
169
+ <li class="dropdown__item">
170
+ <%= link_to resource_locator(meeting).path, class: "dropdown__button", target: :blank, data: { "external-link": false } do %>
171
+ <%= icon "eye-line" %>
172
+ <%= t("actions.preview", scope: "decidim.meetings") %>
173
+ <% end %>
174
+ </li>
175
+
176
+ <hr>
177
+
178
+ <li class="dropdown__item">
179
+ <%= dropdown_resource_permissions_link(meeting) %>
180
+ </li>
181
+
182
+ <hr>
183
+
184
+ <li class="dropdown__item">
185
+ <% if allowed_to?(:soft_delete, :meeting, trashable_deleted_resource: meeting) %>
186
+ <%= link_to soft_delete_meeting_path(meeting), method: :patch, data: { confirm: t("actions.confirm_delete_meeting", scope: "decidim.meetings") }, class: "dropdown__button" do %>
187
+ <%= icon "delete-bin-line" %>
188
+ <%= t("actions.soft_delete", scope: "decidim.admin") %>
189
+ <% end %>
190
+ <% else %>
191
+ <div class="dropdown__button-disabled">
192
+ <%= with_tooltip t("tooltips.deleted_meetings_info", scope: "decidim.admin") do %>
193
+ <%= icon "delete-bin-line", class: "text-gray" %>
194
+ <span><%= t("actions.soft_delete", scope: "decidim.admin") %></span>
195
+ <% end %>
196
+ </div>
197
+ <% end %>
198
+ </li>
199
+ </ul>
200
+ </div>
70
201
  <% end %>
@@ -0,0 +1,19 @@
1
+ <div class="card" data-controller="accordion" id="accordion-reminders">
2
+ <div class="card-divider">
3
+ <button class="card-divider-button" data-open="true" data-controls="panel-reminders" type="button">
4
+ <%= icon "arrow-right-s-line" %>
5
+ <h2 class="card-title" id="reminders"><%= t(".title") %></h2>
6
+ </button>
7
+ </div>
8
+ <div id="panel-reminders" class="card-section">
9
+ <div class="meeting-reminders">
10
+ <div class="row column">
11
+ <%= form.check_box :reminder_enabled, label: t(".reminder_enabled"), data: { controller: :toggle, "toggle-toggle-value": "customize_reminder_times" } %>
12
+ </div>
13
+ <div id="customize_reminder_times" data-toggler=".hide" class="row column <%= @form.reminder_enabled ? nil : "hide" %>">
14
+ <%= form.number_field :send_reminders_before_hours, label: t(".send_reminder"), help_text: t(".send_reminder_help_text"), min: 1, step: 1, class: "mb-2" %>
15
+ <%= form.translated :text_area, :reminder_message_custom_content, label: t(".reminder_message"), help_text: t(".reminder_message_help_text") %>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </div>
@@ -1,4 +1,4 @@
1
- <div class="card" data-component="accordion" id="accordion-services">
1
+ <div class="card" data-controller="accordion" id="accordion-services">
2
2
  <div class="card-divider">
3
3
  <button class="card-divider-button" data-open="true" data-controls="panel-services" type="button">
4
4
  <%= icon "arrow-right-s-line" %>
@@ -3,14 +3,16 @@
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
5
  <%= t(".title") %>
6
- <%= export_dropdowns(query) %>
7
- <%= link_to t("actions.new_meeting", scope: "decidim.meetings"), new_meeting_path, class: "button button__sm button__secondary" if allowed_to? :create, :meeting %>
8
- <%= render partial: "decidim/admin/components/resource_action" %>
6
+ <div class="flex align-middle gap-x-4 ml-auto">
7
+ <%= export_dropdowns(query) %>
8
+ <%= link_to t("actions.new_meeting", scope: "decidim.meetings"), new_meeting_path, class: "button button__sm button__secondary" if allowed_to? :create, :meeting %>
9
+ <%= render partial: "decidim/admin/components/resource_action" %>
10
+ </div>
9
11
  </h1>
10
12
  </div>
11
13
 
12
14
  <%= admin_filter_selector(:meetings) %>
13
- <div class="table-scroll">
15
+ <div class="table-stacked">
14
16
  <table class="table-list">
15
17
  <%= render partial: "meetings-thead" %>
16
18
  <tbody>
@@ -23,7 +25,7 @@
23
25
  </div>
24
26
  <% if allowed_to? :manage_trash, :meeting, participatory_space: current_participatory_space %>
25
27
  <div class="card mt-4">
26
- <%= link_to manage_trash_meetings_path, class: "flex items-center underline text-secondary" do %>
28
+ <%= link_to manage_trash_meetings_path, class: "flex items-center text-secondary" do %>
27
29
  <%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
28
30
  <%= t("actions.view_deleted_meetings", scope: "decidim.meetings") %>
29
31
  <span class="ml-2">
@@ -1,4 +1,5 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
+
2
3
  <div class="card">
3
4
  <div class="item_show__header">
4
5
  <h1 class="item_show__header-title">
@@ -7,7 +8,7 @@
7
8
  </div>
8
9
 
9
10
  <%= admin_filter_selector(:meetings) %>
10
- <div class="table-scroll">
11
+ <div class="table-stacked">
11
12
  <table class="table-list">
12
13
  <%= render partial: "meetings-thead" %>
13
14
  <tbody>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <% announcement_body = capture do %>
8
8
  <ul>
9
- <% t("announcement_html", admin_link: Decidim::EngineRouter.main_proxy(meeting.component).admin_meeting_polls_answers_path(meeting), scope: "decidim.meetings.admin.poll.form").each do |item| %>
9
+ <% t("announcement_html", admin_link: Decidim::EngineRouter.main_proxy(meeting.component).admin_meeting_polls_responses_path(meeting), scope: "decidim.meetings.admin.poll.form").each do |item| %>
10
10
  <li> <%= item %></li>
11
11
  <% end %>
12
12
  </ul>
@@ -19,9 +19,9 @@
19
19
  form: question_form,
20
20
  id: tabs_id_for_question(blank_question),
21
21
  editable: true,
22
- answer_option_template_selector: "#answer-option-template-dummy" %>
22
+ response_option_template_selector: "#response-option-template-dummy" %>
23
23
  </script>
24
- <%= render "decidim/meetings/admin/poll/answer_option_template", form: question_form, editable: true, template_id: "answer-option-template-dummy" %>
24
+ <%= render "decidim/meetings/admin/poll/response_option_template", form: question_form, editable: true, template_id: "response-option-template-dummy" %>
25
25
  <% end %>
26
26
 
27
27
  <div class="questionnaire-questions-list flex flex-col py-6 gap-6 last:pb-0">
@@ -31,8 +31,8 @@
31
31
  form: question_form,
32
32
  id: tabs_id_for_question(question),
33
33
  editable: question.editable?,
34
- answer_option_template_selector: "#answer-option-template-#{index}" %>
35
- <%= render "decidim/meetings/admin/poll/answer_option_template", form: question_form, editable: question.editable?, template_id: "answer-option-template-#{index}" %>
34
+ response_option_template_selector: "#response-option-template-#{index}" %>
35
+ <%= render "decidim/meetings/admin/poll/response_option_template", form: question_form, editable: question.editable?, template_id: "response-option-template-#{index}" %>
36
36
  <% end %>
37
37
  <% end %>
38
38
  </div>
@@ -43,7 +43,7 @@
43
43
  <%= append_javascript_pack_tag "decidim_forms_admin" %>
44
44
 
45
45
  <script>
46
- document.addEventListener("DOMContentLoaded", function () {
46
+ document.addEventListener("turbo:load", function () {
47
47
  window.Decidim.createEditableForm()
48
48
  })
49
49
  </script>
@@ -1,7 +1,7 @@
1
1
  <% question = form.object %>
2
2
  <% is_expanded = question.errors.any? %>
3
3
  <div class="card questionnaire-question" id="<%= id %>-field">
4
- <div class="form__wrapper" data-component="accordion">
4
+ <div class="form__wrapper" data-controller="accordion">
5
5
  <div class="card-divider">
6
6
  <h2 class="card-title">
7
7
  <span>
@@ -24,19 +24,19 @@
24
24
  </span>
25
25
  </button>
26
26
 
27
- <button class="button button__sm button__transparent-secondary small alert move-up-question button--title">
27
+ <button class="button button__xs button__transparent-secondary small alert move-up-question button--title">
28
28
  <%= icon "arrow-up-line" %>
29
- <span><%= t("up", scope: "decidim.forms.admin.questionnaires.question") %></span>
29
+ <span class="hidden md:block"><%= t("up", scope: "decidim.forms.admin.questionnaires.question") %></span>
30
30
  </button>
31
31
 
32
- <button class="button button__sm button__transparent-secondary small alert move-down-question button--title">
32
+ <button class="button button__xs button__transparent-secondary small alert move-down-question button--title">
33
33
  <%= icon "arrow-down-line" %>
34
- <span><%= t("down", scope: "decidim.forms.admin.questionnaires.question") %></span>
34
+ <span class="hidden md:block"><%= t("down", scope: "decidim.forms.admin.questionnaires.question") %></span>
35
35
  </button>
36
36
 
37
37
  <% if editable %>
38
- <button class="button button__sm button__transparent-secondary small alert remove-question button--title">
39
- <%= t("remove", scope: "decidim.forms.admin.questionnaires.question") %>
38
+ <button class="button button__xs button__transparent-secondary small alert remove-question button--title">
39
+ <span class="hidden md:block"><%= t("remove", scope: "decidim.forms.admin.questionnaires.question") %></span>
40
40
  </button>
41
41
  <% end %>
42
42
  </span>
@@ -74,17 +74,17 @@
74
74
  <%= form.hidden_field :position, value: question.position || 0 %>
75
75
  <%= form.hidden_field :deleted, disabled: !editable %>
76
76
 
77
- <div class="questionnaire-question-answer-options<%= question.editable? ? "" : "-disabled" %>" data-template="<%= answer_option_template_selector %>">
78
- <div class="questionnaire-question-answer-options-list">
79
- <% question.answer_options.each do |answer_option| %>
80
- <%= fields_for "questionnaire[questions][#{question.to_param}][answer_options][]", answer_option do |answer_option_form| %>
81
- <%= render "decidim/meetings/admin/poll/answer_option", form: answer_option_form, question:, editable: question.editable? %>
77
+ <div class="questionnaire-question-response-options<%= question.editable? ? "" : "-disabled" %>" data-template="<%= response_option_template_selector %>">
78
+ <div class="questionnaire-question-response-options-list">
79
+ <% question.response_options.each do |response_option| %>
80
+ <%= fields_for "questionnaire[questions][#{question.to_param}][response_options][]", response_option do |response_option_form| %>
81
+ <%= render "decidim/meetings/admin/poll/response_option", form: response_option_form, question:, editable: question.editable? %>
82
82
  <% end %>
83
83
  <% end %>
84
84
  </div>
85
85
  <% if editable %>
86
86
  <div class="row column">
87
- <button type="button" class="button button__sm button__secondary mt-4 add-answer-option"><%= t("add_answer_option", scope: "decidim.forms.admin.questionnaires.question") %></button>
87
+ <button type="button" class="button button__sm button__secondary mt-4 add-response-option"><%= t("add_response_option", scope: "decidim.forms.admin.questionnaires.question") %></button>
88
88
  </div>
89
89
  <% end %>
90
90
  </div>
@@ -0,0 +1,35 @@
1
+ <% response_option = form.object %>
2
+
3
+ <div class="card questionnaire-question-response-option">
4
+ <div class="card-divider">
5
+ <h2 class="card-title">
6
+ <span><%= t("response_option", scope: "decidim.forms.admin.questionnaires.response_option") %></span>
7
+ <% if editable %>
8
+ <button class="button button__xs button__transparent-secondary small alert remove-response-option button--title mb-2">
9
+ <%= icon("delete-bin-line") %>
10
+ <span class="hidden md:block"><%= t("remove", scope: "decidim.forms.admin.questionnaires.response_option") %></span>
11
+ </button>
12
+ <% end %>
13
+ </h2>
14
+ </div>
15
+
16
+ <div class="card-section">
17
+ <div class="row column">
18
+ <%=
19
+ form.translated(
20
+ :text_field,
21
+ :body,
22
+ tabs_id: tabs_id_for_question_response_option(question, response_option),
23
+ label: t("statement", scope: "decidim.forms.admin.questionnaires.response_option"),
24
+ disabled: !editable
25
+ )
26
+ %>
27
+ </div>
28
+ </div>
29
+
30
+ <% if response_option.persisted? %>
31
+ <%= form.hidden_field :id, disabled: !editable %>
32
+ <% end %>
33
+
34
+ <%= form.hidden_field :deleted, disabled: !editable %>
35
+ </div>
@@ -0,0 +1,7 @@
1
+ <% question = form.object %>
2
+
3
+ <script type="text/template" class="decidim-response-option-template decidim-template" id="<%= template_id %>">
4
+ <%= fields_for "questionnaire[questions][#{question.to_param}][response_options][]", blank_response_option do |response_option_form| %>
5
+ <%= render "decidim/meetings/admin/poll/response_option", form: response_option_form, question:, editable: question.editable? %>
6
+ <% end %>
7
+ </script>
@@ -2,12 +2,12 @@
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
4
  <%= edit_questionnaire_title %>
5
- <% if questionnaire.answers.any? %>
5
+ <% if questionnaire.responses.any? %>
6
6
  <div class="button--title">
7
- <%= export_dropdown(current_component, questionnaire.id) if allowed_to?(:export_answers, :questionnaire) %>
7
+ <%= export_dropdown(current_component, questionnaire.id) if allowed_to?(:export_responses, :questionnaire) %>
8
8
  </div>
9
9
  <% else %>
10
- <button class="button button__sm button__secondary" disabled><%= t("empty", scope: "decidim.forms.admin.questionnaires.answers") %></button>
10
+ <button class="button button__sm button__secondary" disabled><%= t("empty", scope: "decidim.forms.admin.questionnaires.responses") %></button>
11
11
  <% end %>
12
12
  </h1>
13
13
  </div>
@@ -1,7 +1,7 @@
1
1
  <% add_decidim_page_title(t("decidim.forms.admin.questionnaires.edit_questions.title")) %>
2
2
 
3
3
  <% if templates_defined? && choose_template? %>
4
- <%= render partial: "decidim/templates/admin/questionnaire_templates/choose", locals: { target: questionnaire, form_title: t("decidim.forms.admin.questionnaires.edit.title") } %>
4
+ <%= render partial: "decidim/templates/admin/questionnaire_templates/choose", locals: { target: questionnaire, form_title: t("decidim.forms.admin.questionnaires.edit.title"), show_buttons: true } %>
5
5
  <% else %>
6
6
 
7
7
  <div class="questionnaire-questions">
@@ -16,13 +16,13 @@
16
16
  <% if allowed_to? :preview, :questionnaire %>
17
17
  <%= link_to t("preview", scope: "decidim.forms.admin.questionnaires.form"), public_url, class: "button button__sm button__transparent-secondary", target: :_blank, data: { "external-link": false } %>
18
18
  <% end %>
19
- <% if questionnaire.answers.any? %>
20
- <%= export_dropdown(current_component, questionnaire.id) if allowed_to? :export_answers, :questionnaire %>
21
- <% if allowed_to? :show, :questionnaire_answers %>
19
+ <% if questionnaire.responses.any? %>
20
+ <%= export_dropdown(current_component, questionnaire.id) if allowed_to? :export_responses, :questionnaire %>
21
+ <% if allowed_to? :show, :questionnaire_responses %>
22
22
  <%= link_to t("actions.show", scope: "decidim.forms.admin.questionnaires"), questionnaire_participants_url, class: "button button__sm button__secondary new whitespace-nowrap" %>
23
23
  <% end %>
24
24
  <% else %>
25
- <button class="button button__sm button__secondary whitespace-nowrap" disabled><%= t("empty", scope: "decidim.forms.admin.questionnaires.answers") %></button>
25
+ <button class="button button__sm button__secondary whitespace-nowrap" disabled><%= t("empty", scope: "decidim.forms.admin.questionnaires.responses") %></button>
26
26
  <% end %>
27
27
  </h1>
28
28
  </div>
@@ -3,57 +3,37 @@
3
3
  <h1 class="item_show__header-title">
4
4
  <%= t("title", scope: "decidim.meetings.admin.registrations.form") %>
5
5
  <div class="flex items-center gap-x-4 ml-auto">
6
- <%= link_to t("invites", scope: "decidim.meetings.admin.registrations.form"), meeting_registrations_invites_path(meeting), class: "button button__sm button__secondary #{"disabled" unless allowed_to? :read_invites, :meeting, meeting: meeting}" %>
6
+ <%= link_to t("registrations", scope: "decidim.meetings.admin.registrations.form"), meeting_registrations_attendees_path(meeting), class: "button button__sm button__transparent-secondary #{"disabled" unless allowed_to? :read_invites, :meeting, meeting: meeting}" %>
7
+ <%= link_to t("invites", scope: "decidim.meetings.admin.registrations.form"), meeting_registrations_invites_path(meeting), class: "button button__sm button__transparent-secondary #{"disabled" unless allowed_to? :read_invites, :meeting, meeting: meeting}" %>
8
+
7
9
  <% if allowed_to? :export_registrations, :meeting, meeting: meeting %>
8
- <span class="exports button button__sm button__secondary button--title" data-toggle="export-dropdown">
9
- <%= t "actions.export", scope: "decidim.admin" %>
10
- <%= icon "arrow-down-s-line", class: "dropdown-filter-icon" %>
11
- </span>
12
- <div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
13
- <ul class="vertical menu add-components">
10
+ <div class="relative">
11
+ <button class="button button__sm button__transparent-secondary" data-controller="dropdown" data-target="export-dropdown">
12
+ <%= t "actions.export", scope: "decidim.admin" %>
13
+ <%= icon "arrow-down-s-line" %>
14
+ <%= icon "arrow-down-s-line" %>
15
+ </button>
16
+
17
+ <ul class="dropdown dropdown_bottom" id="export-dropdown">
14
18
  <% %w(CSV JSON Excel).each do |format| %>
15
- <%= link_to export_meeting_registrations_path(meeting_id: meeting, format:) do %>
16
- <li class="exports--format--<%= format.downcase %> exports--registrations"><%= t("decidim.admin.exports.export_as", name: t("decidim.#{current_component.manifest.name}.admin.exports.registrations"), export_format: format) %></li>
17
- <% end %>
19
+ <li class="dropdown__item">
20
+ <%= link_to export_meeting_registrations_path(meeting_id: meeting, format:), class: "dropdown__button" do %>
21
+ <%= t("decidim.admin.exports.export_as", name: t("decidim.#{current_component.manifest.name}.admin.exports.registrations"), export_format: format) %>
22
+ <% end %>
23
+ </li>
18
24
  <% end %>
19
25
  </ul>
20
26
  </div>
21
27
  <% end %>
22
- <%= link_to t("registration_form" , scope: "decidim.meetings.admin.registrations.form"), edit_meeting_registrations_form_path(meeting_id: meeting.id), class: "button button__sm button__secondary" %>
23
- <%= link_to t("manage_questions" , scope: "decidim.meetings.admin.registrations.form"), edit_questions_meeting_registrations_form_path(meeting_id: meeting.id), class: "button button__sm button__secondary" %>
28
+
29
+ <%= link_to t("registration_form" , scope: "decidim.meetings.admin.registrations.form"), edit_meeting_registrations_form_path(meeting_id: meeting.id), class: "button button__sm button__transparent-secondary" %>
30
+ <%= link_to t("manage_questions" , scope: "decidim.meetings.admin.registrations.form"), edit_questions_meeting_registrations_form_path(meeting_id: meeting.id), class: "button button__sm button__transparent-secondary" %>
24
31
  </div>
25
32
  </h1>
26
33
  </div>
27
34
 
28
35
  <div class="item__edit item__edit-1col">
29
36
  <div class="item__edit-form">
30
- <% if meeting.component.settings.registration_code_enabled %>
31
- <div class="card mb-4">
32
- <div class="card-divider">
33
- <h2 class="card-title">
34
- <%= t(".validate_registration_code") %>
35
- </h2>
36
- </div>
37
- <div class="card-section">
38
- <%= decidim_form_for(@validation_form, url: validate_registration_code_meeting_registrations_path, html: { class: "form form-defaults validate_meeting_registration_code" }) do |f| %>
39
- <div class="form__wrapper">
40
- <div class="card-section">
41
- <div class="row column">
42
- <div>
43
- <%= f.label :code %>
44
- </div>
45
- <%= f.text_field :code, label: false %>
46
- </div>
47
- <div class="row column">
48
- <%= f.submit t(".validate"), class: "button button__sm button__secondary" %>
49
- </div>
50
- </div>
51
- </div>
52
- <% end %>
53
- </div>
54
- </div>
55
- <% end %>
56
-
57
37
  <%= cell("decidim/announcement", t("recommendation_message", scope: "decidim.meetings.admin.registrations.form"), callout_class: "warning" ) %>
58
38
 
59
39
  <%= decidim_form_for(@form, url: meeting_registrations_path, html: { class: "form-defaults form edit_meeting_registrations mt-4" }) do |f| %>