decidim-meetings 0.29.6 → 0.30.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.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/cancel_registration_meeting_button/cancelation_modal.erb +1 -1
- data/app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb +3 -1
- data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +1 -1
- data/app/cells/decidim/meetings/dates_and_map/show.erb +8 -8
- data/app/cells/decidim/meetings/highlighted_meetings_for_component/show.erb +1 -1
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +5 -2
- data/app/cells/decidim/meetings/meeting_card_metadata_cell.rb +3 -3
- data/app/cells/decidim/meetings/meeting_l_cell.rb +12 -0
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +1 -2
- data/app/commands/decidim/meetings/admin/create_meeting.rb +8 -2
- data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_meeting.rb +8 -2
- data/app/commands/decidim/meetings/create_meeting.rb +2 -2
- data/app/commands/decidim/meetings/update_meeting.rb +2 -3
- data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +9 -5
- data/app/controllers/concerns/decidim/meetings/component_filterable.rb +1 -2
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +14 -22
- data/app/controllers/decidim/meetings/admin/registration_form_controller.rb +8 -0
- data/app/controllers/decidim/meetings/directory/meetings_controller.rb +2 -4
- data/app/controllers/decidim/meetings/meetings_controller.rb +42 -7
- data/app/forms/decidim/meetings/admin/meeting_form.rb +16 -30
- data/app/forms/decidim/meetings/base_meeting_form.rb +6 -0
- data/app/forms/decidim/meetings/meeting_form.rb +2 -30
- data/app/helpers/decidim/meetings/admin/application_helper.rb +11 -1
- data/app/helpers/decidim/meetings/application_helper.rb +35 -1
- data/app/helpers/decidim/meetings/directory/application_helper.rb +9 -48
- data/app/helpers/decidim/meetings/meetings_helper.rb +5 -0
- data/app/models/decidim/meetings/invite.rb +10 -0
- data/app/models/decidim/meetings/meeting.rb +28 -1
- data/app/models/decidim/meetings/meeting_link.rb +25 -0
- data/app/packs/entrypoints/decidim_meetings_admin.js +1 -0
- data/app/packs/src/decidim/meetings/admin/meetings_components_form.js +77 -0
- data/app/packs/src/decidim/meetings/admin/meetings_form.js +8 -0
- data/app/packs/stylesheets/decidim/meetings/_item.scss +2 -2
- data/app/permissions/decidim/meetings/admin/permissions.rb +1 -1
- data/app/permissions/decidim/meetings/permissions.rb +14 -10
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +1 -1
- data/app/presenters/decidim/meetings/meeting_presenter.rb +13 -1
- data/app/queries/decidim/meetings/filtered_meetings.rb +2 -2
- data/app/queries/decidim/meetings/metrics/meeting_followers_metric_measure.rb +2 -2
- data/app/queries/decidim/meetings/metrics/meetings_metric_manage.rb +6 -6
- data/app/serializers/decidim/meetings/base_download_your_data_serializer.rb +32 -0
- data/app/serializers/decidim/meetings/download_your_data_invite_serializer.rb +6 -26
- data/app/serializers/decidim/meetings/download_your_data_meeting_serializer.rb +15 -0
- data/app/serializers/decidim/meetings/download_your_data_registration_serializer.rb +6 -24
- data/app/serializers/decidim/meetings/registration_serializer.rb +0 -2
- data/app/views/decidim/meetings/_calendar_modal.html.erb +2 -2
- data/app/views/decidim/meetings/admin/meetings/_component.html.erb +15 -0
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +7 -9
- data/app/views/decidim/meetings/admin/meetings/_linked_spaces.html.erb +53 -0
- data/app/views/decidim/meetings/admin/meetings/_meeting-tr.html.erb +42 -0
- data/app/views/decidim/meetings/admin/meetings/_meeting_actions.html.erb +70 -0
- data/app/views/decidim/meetings/admin/meetings/_meetings-thead.html.erb +26 -0
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +16 -142
- data/app/views/decidim/meetings/admin/meetings/manage_trash.html.erb +23 -0
- data/app/views/decidim/meetings/admin/poll/_form.html.erb +3 -32
- data/app/views/decidim/meetings/admin/poll/_question.html.erb +10 -0
- data/app/views/decidim/meetings/admin/registration_form/edit_questions.html.erb +44 -0
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +1 -0
- data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -2
- data/app/views/decidim/meetings/live_events/show.html.erb +5 -5
- data/app/views/decidim/meetings/meetings/_form.html.erb +4 -8
- data/app/views/decidim/meetings/meetings/_meeting.html.erb +51 -26
- data/app/views/decidim/meetings/meetings/_meeting_actions.html.erb +34 -0
- data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +20 -59
- data/app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb +2 -5
- data/app/views/decidim/meetings/meetings/_schema_org_event_meeting.html.erb +3 -0
- data/app/views/decidim/meetings/meetings/index.html.erb +1 -2
- data/app/views/decidim/meetings/meetings/new.html.erb +0 -1
- data/app/views/decidim/meetings/meetings/show.html.erb +5 -5
- data/app/views/decidim/meetings/polls/answers/index.html.erb +5 -5
- data/app/views/decidim/meetings/shared/_filters.html.erb +1 -13
- data/app/views/decidim/meetings/shared/_index.html.erb +1 -1
- data/app/views/decidim/meetings/shared/_index.js.erb +3 -2
- data/app/views/decidim/meetings/shared/_meetings.html.erb +1 -1
- data/app/views/decidim/meetings/shared/_meetings_aside.html.erb +2 -2
- data/app/views/decidim/participatory_spaces/_conference_venues.html.erb +1 -1
- data/config/locales/ar.yml +23 -17
- data/config/locales/bg.yml +16 -25
- data/config/locales/ca.yml +142 -32
- data/config/locales/cs.yml +139 -31
- data/config/locales/de.yml +182 -104
- data/config/locales/el.yml +7 -22
- data/config/locales/en.yml +132 -22
- data/config/locales/es-MX.yml +145 -35
- data/config/locales/es-PY.yml +146 -36
- data/config/locales/es.yml +146 -36
- data/config/locales/eu.yml +181 -71
- data/config/locales/fi-plain.yml +138 -28
- data/config/locales/fi.yml +137 -27
- data/config/locales/fr-CA.yml +80 -29
- data/config/locales/fr.yml +80 -29
- data/config/locales/ga-IE.yml +0 -13
- data/config/locales/gl.yml +6 -12
- data/config/locales/hu.yml +9 -21
- data/config/locales/id-ID.yml +6 -13
- data/config/locales/is-IS.yml +1 -15
- data/config/locales/it.yml +7 -19
- data/config/locales/ja.yml +94 -26
- data/config/locales/lb.yml +6 -16
- data/config/locales/lt.yml +8 -24
- data/config/locales/lv.yml +6 -13
- data/config/locales/nl.yml +9 -19
- data/config/locales/no.yml +6 -16
- data/config/locales/pl.yml +17 -22
- data/config/locales/pt-BR.yml +8 -22
- data/config/locales/pt.yml +7 -17
- data/config/locales/ro-RO.yml +33 -20
- data/config/locales/ru.yml +6 -13
- data/config/locales/sk.yml +7 -14
- data/config/locales/sv.yml +131 -83
- data/config/locales/tr-TR.yml +7 -19
- data/config/locales/uk.yml +6 -15
- data/config/locales/zh-CN.yml +7 -18
- data/config/locales/zh-TW.yml +7 -21
- data/db/migrate/20181107175558_add_questionnaire_to_existing_meetings.rb +1 -1
- data/db/migrate/20200827153856_add_commentable_counter_cache_to_meetings.rb +1 -1
- data/db/migrate/20201016065302_fix_meetings_registration_terms.rb +1 -1
- data/db/migrate/20210310120731_add_followable_counter_cache_to_meetings.rb +1 -1
- data/db/migrate/20240712104245_create_decidim_meetings_meeting_link.rb +12 -0
- data/db/migrate/20240828103603_add_deleted_at_to_decidim_meetings_meetings.rb +8 -0
- data/decidim-meetings.gemspec +1 -1
- data/lib/decidim/api/agenda_item_type.rb +6 -7
- data/lib/decidim/api/agenda_type.rb +3 -4
- data/lib/decidim/api/meeting_type.rb +33 -41
- data/lib/decidim/api/meetings_type.rb +4 -5
- data/lib/decidim/api/service_type.rb +1 -1
- data/lib/decidim/meetings/admin_engine.rb +9 -1
- data/lib/decidim/meetings/component.rb +14 -4
- data/lib/decidim/meetings/download_your_data_user_answers_serializer.rb +13 -7
- data/lib/decidim/meetings/engine.rb +1 -6
- data/lib/decidim/meetings/meeting_serializer.rb +70 -59
- data/lib/decidim/meetings/schema_org_event_meeting_serializer.rb +151 -0
- data/lib/decidim/meetings/seeds.rb +2 -4
- data/lib/decidim/meetings/test/factories.rb +8 -0
- data/lib/decidim/meetings/test/translated_event.rb +3 -3
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings.rb +1 -0
- metadata +32 -22
- data/app/cells/decidim/meetings/meetings_map/show.erb +0 -16
- data/app/cells/decidim/meetings/meetings_map_cell.rb +0 -32
- data/app/commands/decidim/meetings/admin/destroy_meeting.rb +0 -21
- data/app/helpers/decidim/meetings/map_helper.rb +0 -21
- data/app/views/decidim/meetings/meetings/_actions.html.erb +0 -6
- data/config/locales/ca-IT.yml +0 -693
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<%= render "decidim/meetings/admin/poll/answer_option_template", form: question_form, editable: true, template_id: "answer-option-template-dummy" %>
|
|
25
25
|
<% end %>
|
|
26
26
|
|
|
27
|
-
<div class="questionnaire-questions-list flex flex-col py-6 gap-6 last:pb-0"
|
|
27
|
+
<div class="questionnaire-questions-list flex flex-col py-6 gap-6 last:pb-0">
|
|
28
28
|
<% @form.questions.each_with_index do |question, index| %>
|
|
29
29
|
<%= fields_for "questionnaire[questions][]", question do |question_form| %>
|
|
30
30
|
<%= render "decidim/meetings/admin/poll/question",
|
|
@@ -44,35 +44,6 @@
|
|
|
44
44
|
|
|
45
45
|
<script>
|
|
46
46
|
document.addEventListener("DOMContentLoaded", function () {
|
|
47
|
-
window.Decidim.createEditableForm()
|
|
48
|
-
|
|
49
|
-
// Function to initialize the sortable functionality
|
|
50
|
-
function initializeSortable() {
|
|
51
|
-
const container = document.querySelector("#questionnaire-questions-list");
|
|
52
|
-
const questionCards = container?.querySelectorAll(".card.questionnaire-question");
|
|
53
|
-
|
|
54
|
-
if (!container || !questionCards?.length) return;
|
|
55
|
-
|
|
56
|
-
questionCards.forEach(card => {
|
|
57
|
-
card.setAttribute("draggable", "true");
|
|
58
|
-
card.setAttribute("role", "option");
|
|
59
|
-
card.setAttribute("aria-grabbed", "false");
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
window.Decidim?.createSortableList?.("#questionnaire-questions-list");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Initialize on load and when new options such as questions etc are added
|
|
66
|
-
initializeSortable();
|
|
67
|
-
|
|
68
|
-
const observer = new MutationObserver(() => {
|
|
69
|
-
clearTimeout(observer.timer);
|
|
70
|
-
observer.timer = setTimeout(initializeSortable, 500);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
const container = document.querySelector("#questionnaire-questions-list");
|
|
74
|
-
if (container) {
|
|
75
|
-
observer.observe(container, { childList: true, subtree: true });
|
|
76
|
-
}
|
|
77
|
-
});
|
|
47
|
+
window.Decidim.createEditableForm()
|
|
48
|
+
})
|
|
78
49
|
</script>
|
|
@@ -24,6 +24,16 @@
|
|
|
24
24
|
</span>
|
|
25
25
|
</button>
|
|
26
26
|
|
|
27
|
+
<button class="button button__sm button__transparent-secondary small alert move-up-question button--title">
|
|
28
|
+
<%= icon "arrow-up-line" %>
|
|
29
|
+
<span><%= t("up", scope: "decidim.forms.admin.questionnaires.question") %></span>
|
|
30
|
+
</button>
|
|
31
|
+
|
|
32
|
+
<button class="button button__sm button__transparent-secondary small alert move-down-question button--title">
|
|
33
|
+
<%= icon "arrow-down-line" %>
|
|
34
|
+
<span><%= t("down", scope: "decidim.forms.admin.questionnaires.question") %></span>
|
|
35
|
+
</button>
|
|
36
|
+
|
|
27
37
|
<% if editable %>
|
|
28
38
|
<button class="button button__sm button__transparent-secondary small alert remove-question button--title">
|
|
29
39
|
<%= t("remove", scope: "decidim.forms.admin.questionnaires.question") %>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<% add_decidim_page_title(t("decidim.forms.admin.questionnaires.edit_questions.title")) %>
|
|
2
|
+
|
|
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") } %>
|
|
5
|
+
<% else %>
|
|
6
|
+
|
|
7
|
+
<div class="questionnaire-questions">
|
|
8
|
+
<div class="item_show__header">
|
|
9
|
+
<h1 class="item_show__header-title">
|
|
10
|
+
<%= t("decidim.forms.admin.questionnaires.edit_questions.title") %>
|
|
11
|
+
<% if questionnaire.questions_editable? %>
|
|
12
|
+
<button class="button button__sm button__secondary add-question"><%= t("add_question", scope: "decidim.forms.admin.questionnaires.edit_questions") %></button>
|
|
13
|
+
<button class="button button__sm button__secondary add-separator"><%= t("add_separator", scope: "decidim.forms.admin.questionnaires.edit_questions") %></button>
|
|
14
|
+
<button class="button button__sm button__secondary add-title-and-description"><%= t("add_title_and_description", scope: "decidim.forms.admin.questionnaires.edit_questions") %></button>
|
|
15
|
+
<% end %>
|
|
16
|
+
<% if allowed_to? :preview, :questionnaire %>
|
|
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
|
+
<% 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 %>
|
|
22
|
+
<%= link_to t("actions.show", scope: "decidim.forms.admin.questionnaires"), questionnaire_participants_url, class: "button button__sm button__secondary new whitespace-nowrap" %>
|
|
23
|
+
<% end %>
|
|
24
|
+
<% else %>
|
|
25
|
+
<button class="button button__sm button__secondary whitespace-nowrap" disabled><%= t("empty", scope: "decidim.forms.admin.questionnaires.answers") %></button>
|
|
26
|
+
<% end %>
|
|
27
|
+
</h1>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div class="item__edit item__edit-1col">
|
|
32
|
+
<div class="item__edit-form">
|
|
33
|
+
<%= decidim_form_for(@form, url: update_questions_meeting_registrations_form_path(meeting_id: meeting.id), method: :patch, html: { class: "form-defaults form edit_questions_survey" }) do |form| %>
|
|
34
|
+
<%= render partial: "decidim/forms/admin/questionnaires/questions_form", object: form %>
|
|
35
|
+
<div class="item__edit-sticky">
|
|
36
|
+
<div class="item__edit-sticky-container">
|
|
37
|
+
<%= form.submit t("save", scope: "decidim.forms.admin.questionnaires.edit"), class: "button button__sm button__secondary" %>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
<% end %>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<% end %>
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
<% end %>
|
|
22
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" %>
|
|
23
24
|
</div>
|
|
24
25
|
</h1>
|
|
25
26
|
</div>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<% provide(:title, present(meeting).title) %>
|
|
2
2
|
|
|
3
|
-
<% add_decidim_meta_tags(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
<% add_decidim_meta_tags(
|
|
4
|
+
title: present(meeting).title,
|
|
5
|
+
description: present(meeting).description,
|
|
6
|
+
url: meeting_url(meeting.id),
|
|
7
|
+
resource: meeting) %>
|
|
8
8
|
|
|
9
9
|
<div class="meeting-polls__iframe">
|
|
10
10
|
<%== live_meeting_embed_code %>
|
|
@@ -53,16 +53,12 @@
|
|
|
53
53
|
<%= form.datetime_field :end_time %>
|
|
54
54
|
</div>
|
|
55
55
|
|
|
56
|
-
<% if
|
|
57
|
-
|
|
58
|
-
<%=
|
|
59
|
-
|
|
56
|
+
<% if @form.taxonomy_filters&.any? %>
|
|
57
|
+
<% @form.taxonomy_filters.each do |filter| %>
|
|
58
|
+
<%= filter_taxonomy_items_select_field form, :taxonomies, filter %>
|
|
59
|
+
<% end %>
|
|
60
60
|
<% end %>
|
|
61
61
|
|
|
62
|
-
<div>
|
|
63
|
-
<%= form.categories_select :decidim_category_id, current_participatory_space.categories, prompt: t(".select_a_category"), disable_parents: false %>
|
|
64
|
-
</div>
|
|
65
|
-
|
|
66
62
|
<div class="row column">
|
|
67
63
|
<%= form.select :registration_type,
|
|
68
64
|
@form.registration_type_select,
|
|
@@ -1,31 +1,48 @@
|
|
|
1
1
|
<%= render layout: "layouts/decidim/shared/layout_item" do %>
|
|
2
|
+
|
|
3
|
+
<%= render partial: "schema_org_event_meeting" %>
|
|
4
|
+
|
|
2
5
|
<section class="layout-main__section layout-main__heading">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<%=
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
<h1 class="h2 decorator"><%= present(meeting).title(links: true, html_escape: true ) %></h1>
|
|
7
|
+
<%= cell "decidim/meetings/dates_and_map", meeting %>
|
|
8
|
+
<div class="block md:hidden">
|
|
9
|
+
<%= render partial: "meeting_aside", locals: { hide_modal: true } %>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<%= render partial: "meeting_poll_actions", locals: { mobile: true } %>
|
|
13
|
+
|
|
14
|
+
<% if meeting.private_meeting? || meeting.withdrawn? %>
|
|
15
|
+
<div class="layout-author has_status">
|
|
16
|
+
<% if meeting.private_meeting? %>
|
|
17
|
+
<span class="<%= meeting_type_badge_css_class("private") %> label">
|
|
18
|
+
<%= t("private_meeting", scope: "decidim.meetings.types") %>
|
|
19
|
+
</span>
|
|
20
|
+
<% end %>
|
|
21
|
+
<% if meeting.private_meeting? and meeting.transparent? %>
|
|
22
|
+
<span class="<%= meeting_type_badge_css_class("transparent") %> label">
|
|
23
|
+
<%= t("transparent", scope: "decidim.meetings.types") %>
|
|
24
|
+
</span>
|
|
25
|
+
<% end %>
|
|
26
|
+
<% if meeting.withdrawn? %>
|
|
27
|
+
<span class="<%= meeting_type_badge_css_class("withdraw") %> label">
|
|
28
|
+
<%= t("withdraw", scope: "decidim.meetings.types") %>
|
|
29
|
+
</span>
|
|
30
|
+
<% end %>
|
|
31
|
+
</div>
|
|
32
|
+
<% end %>
|
|
33
|
+
|
|
34
|
+
<div class="layout-author <%= "has_status" if meeting.private_meeting? || meeting.withdrawn? %>">
|
|
35
|
+
<div class="relative flex items-center justify-center w-full">
|
|
36
|
+
<div class="w-10/12 flex items-center gap-4">
|
|
37
|
+
<%= cell "decidim/author", author_presenter_for(meeting.normalized_author), from: meeting, context_actions: nil, layout: :compact %>
|
|
38
|
+
</div>
|
|
39
|
+
<%= render "decidim/shared/resource_actions", resource: meeting do %>
|
|
40
|
+
<%= render "decidim/meetings/meetings/meeting_actions" %>
|
|
41
|
+
<% end %>
|
|
42
|
+
</div>
|
|
26
43
|
</div>
|
|
27
|
-
</section>
|
|
28
44
|
|
|
45
|
+
</section>
|
|
29
46
|
<section class="layout-main__section">
|
|
30
47
|
<div class="editor-content">
|
|
31
48
|
<%= render_meeting_body(@meeting) %>
|
|
@@ -52,14 +69,22 @@
|
|
|
52
69
|
</section>
|
|
53
70
|
<% end %>
|
|
54
71
|
|
|
72
|
+
<%= cell("decidim/tags", meeting) %>
|
|
73
|
+
|
|
55
74
|
<section class="layout-main__section layout-main__buttons" data-buttons>
|
|
56
|
-
<%=
|
|
75
|
+
<%= cell "decidim/comments_button", nil %>
|
|
76
|
+
|
|
77
|
+
<div class="ml-auto lg:ml-0">
|
|
78
|
+
<%= cell "decidim/share_widget", meeting %>
|
|
79
|
+
</div>
|
|
57
80
|
</section>
|
|
58
81
|
|
|
59
82
|
<%= pad_iframe_for meeting %>
|
|
60
83
|
|
|
61
84
|
<% content_for :aside do %>
|
|
62
|
-
|
|
85
|
+
<div class="hidden md:block">
|
|
86
|
+
<%= render partial: "meeting_aside" %>
|
|
87
|
+
</div>
|
|
63
88
|
<% end %>
|
|
64
89
|
|
|
65
90
|
<% content_for :item_footer do %>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<% if allowed_to?(:update, :meeting, meeting: meeting) %>
|
|
2
|
+
<li role="menuitem">
|
|
3
|
+
<%= link_to edit_meeting_path(meeting), class: "button button__sm button__text button__text-secondary" do %>
|
|
4
|
+
<span><%= t("edit_meeting", scope: "decidim.meetings.meetings.meeting") %></span>
|
|
5
|
+
<%= icon "pencil-line" %>
|
|
6
|
+
<% end %>
|
|
7
|
+
</li>
|
|
8
|
+
<% end %>
|
|
9
|
+
|
|
10
|
+
<% if allowed_to?(:close, :meeting, meeting: meeting) %>
|
|
11
|
+
<% caption = meeting.closed? ? t("edit_close_meeting", scope: "decidim.meetings.meetings.meeting") : t("close_meeting", scope: "decidim.meetings.meetings.meeting") %>
|
|
12
|
+
<li role="menuitem">
|
|
13
|
+
<%= link_to edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), class: "button button__sm button__text button__text-secondary" do %>
|
|
14
|
+
<span><%= caption %></span>
|
|
15
|
+
<%= icon "lock-line" %>
|
|
16
|
+
<% end %>
|
|
17
|
+
</li>
|
|
18
|
+
<% end %>
|
|
19
|
+
|
|
20
|
+
<% if meeting.withdrawable_by?(current_user) %>
|
|
21
|
+
<li role="menuitem">
|
|
22
|
+
<%= action_authorized_link_to(
|
|
23
|
+
:withdraw,
|
|
24
|
+
withdraw_meeting_path(meeting),
|
|
25
|
+
method: :put,
|
|
26
|
+
class: "button button__sm button__text button__text-secondary" ,
|
|
27
|
+
title: t("withdraw_btn_hint", scope: "decidim.meetings.meetings.show"),
|
|
28
|
+
data: { confirm: t("withdraw_confirmation_html", scope: "decidim.meetings.meetings.show") }
|
|
29
|
+
) do %>
|
|
30
|
+
<span><%= t("withdraw_meeting", scope:"decidim.meetings.meetings.show") %></span>
|
|
31
|
+
<%= icon "arrow-go-back-line" %>
|
|
32
|
+
<% end %>
|
|
33
|
+
</li>
|
|
34
|
+
<% end %>
|
|
@@ -2,40 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<% if meeting.can_be_joined_by?(current_user) || meeting.on_different_platform? %>
|
|
4
4
|
<section class="layout-aside__section layout-aside__buttons layout-aside__ctas-buttons" data-sticky-buttons>
|
|
5
|
-
<%= cell "decidim/meetings/join_meeting_button", meeting, show_remaining_slots: true %>
|
|
6
|
-
</section>
|
|
7
|
-
<% end %>
|
|
8
|
-
|
|
9
|
-
<% if allowed_to?(:update, :meeting, meeting: meeting) || allowed_to?(:close, :meeting, meeting: meeting) || meeting.withdrawable_by?(current_user) %>
|
|
10
|
-
<section class="layout-aside__section layout-aside__buttons">
|
|
11
|
-
<% if allowed_to?(:update, :meeting, meeting: meeting) %>
|
|
12
|
-
<%= link_to edit_meeting_path(meeting), class: "button button__sm button__transparent-secondary w-full" do %>
|
|
13
|
-
<span><%= t("edit_meeting", scope: "decidim.meetings.meetings.meeting") %></span>
|
|
14
|
-
<%= icon "pencil-line" %>
|
|
15
|
-
<% end %>
|
|
16
|
-
<% end %>
|
|
17
|
-
|
|
18
|
-
<% if allowed_to?(:close, :meeting, meeting: meeting) %>
|
|
19
|
-
<% caption = meeting.closed? ? t("edit_close_meeting", scope: "decidim.meetings.meetings.meeting") : t("close_meeting", scope: "decidim.meetings.meetings.meeting") %>
|
|
20
|
-
|
|
21
|
-
<%= link_to edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), class: "button button__sm button__transparent-secondary w-full" do %>
|
|
22
|
-
<span><%= caption %></span>
|
|
23
|
-
<%= icon "pencil-line" %>
|
|
24
|
-
<% end %>
|
|
25
|
-
<% end %>
|
|
26
|
-
|
|
27
|
-
<% if meeting.withdrawable_by?(current_user) %>
|
|
28
|
-
<%= action_authorized_link_to(
|
|
29
|
-
:withdraw,
|
|
30
|
-
withdraw_meeting_path(meeting),
|
|
31
|
-
method: :put,
|
|
32
|
-
class: "button button__sm button__transparent-secondary w-full",
|
|
33
|
-
title: t("withdraw_btn_hint", scope: "decidim.meetings.meetings.show"),
|
|
34
|
-
data: { confirm: t("withdraw_confirmation_html", scope: "decidim.meetings.meetings.show") }
|
|
35
|
-
) do %>
|
|
36
|
-
<span><%= t("withdraw_meeting", scope:"decidim.meetings.meetings.show") %></span>
|
|
37
|
-
<% end %>
|
|
38
|
-
<% end %>
|
|
5
|
+
<%= cell "decidim/meetings/join_meeting_button", meeting, show_remaining_slots: true, hide_modal: local_assigns[:hide_modal] %>
|
|
39
6
|
</section>
|
|
40
7
|
<% end %>
|
|
41
8
|
|
|
@@ -63,37 +30,31 @@
|
|
|
63
30
|
<% meeting.attending_organizations.split("\n").each do |organizations| %>
|
|
64
31
|
<li><%= organizations %></li>
|
|
65
32
|
<% end %>
|
|
66
|
-
|
|
33
|
+
</ul>
|
|
34
|
+
<% end %>
|
|
67
35
|
<% end %>
|
|
68
36
|
<% end %>
|
|
69
|
-
<% end %>
|
|
70
37
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
38
|
+
<% if registration.present? && registration.meeting.component.settings.registration_code_enabled %>
|
|
39
|
+
<%= render layout: "decidim/meetings/layouts/aside_block", locals: { emoji: "coupon-line" } do %>
|
|
40
|
+
<h3 class="meeting__aside-block__title"><%= registration_code_help_text %></h3>
|
|
41
|
+
<div class="meeting__aside-block__large"><%= registration.code %></div>
|
|
42
|
+
<% if registration.validated? %>
|
|
43
|
+
<div class="label success"><%= t("validated", scope: "decidim.meetings.meetings.show.registration_state") %></div>
|
|
44
|
+
<% else %>
|
|
45
|
+
<div class="label warning"><%= t("validation_pending", scope: "decidim.meetings.meetings.show.registration_state") %></div>
|
|
46
|
+
<% end %>
|
|
79
47
|
<% end %>
|
|
80
48
|
<% end %>
|
|
81
|
-
<% end %>
|
|
82
49
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
50
|
+
<% if meeting.services.any? %>
|
|
51
|
+
<% meeting.services.each do |service| %>
|
|
52
|
+
<%= render layout: "decidim/meetings/layouts/aside_block", locals: { emoji: "star-line" } do %>
|
|
53
|
+
<h3 class="meeting__aside-block__title"><%= translated_attribute(service["title"]) %></h3>
|
|
54
|
+
<div class="meeting__aside-block__text"><%= translated_attribute(service["description"]) %></div>
|
|
55
|
+
<% end %>
|
|
88
56
|
<% end %>
|
|
89
57
|
<% end %>
|
|
90
|
-
|
|
91
|
-
</section>
|
|
58
|
+
<%= cell "decidim/meetings/cancel_registration_meeting_button", meeting, hide_modal: local_assigns[:hide_modal] %>
|
|
59
|
+
</section>
|
|
92
60
|
<% end %>
|
|
93
|
-
|
|
94
|
-
<section class="layout-aside__section actions__secondary">
|
|
95
|
-
<%= cell "decidim/meetings/cancel_registration_meeting_button", meeting %>
|
|
96
|
-
<%= follow_button_for(meeting) %>
|
|
97
|
-
<%= cell "decidim/share_button", nil %>
|
|
98
|
-
<%= cell "decidim/report_button", meeting %>
|
|
99
|
-
</section>
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
<% extra_classes = local_assigns.fetch(:mobile, false) ? " block md:hidden" : " hidden md:block" %>
|
|
2
2
|
<% if meeting.poll&.has_questions? %>
|
|
3
3
|
<section class="layout-aside__section layout-aside__buttons<%= extra_classes %>">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<%= meeting.poll.has_open_questions? ? t("reply_poll", scope: "decidim.meetings.meetings.meeting") : t("view_poll", scope: "decidim.meetings.meetings.meeting") %>
|
|
7
|
-
</span>
|
|
8
|
-
<% end %>
|
|
4
|
+
<% reply_text = meeting.poll.has_open_questions? ? t("reply_poll", scope: "decidim.meetings.meetings.meeting") : t("view_poll", scope: "decidim.meetings.meetings.meeting") %>
|
|
5
|
+
<%= action_authorized_link_to :reply_poll, reply_text, meeting_polls_answers_path(meeting), class: "button button__xl button__secondary w-full", data: { "redirect_url" => meeting_polls_answers_path(meeting) }, resource: meeting %>
|
|
9
6
|
<% if !allowed_to?(:reply_poll, :meeting, meeting:) && allowed_to?(:update, :poll, meeting:) %>
|
|
10
7
|
<%= link_to admin_meeting_polls_answers_path(meeting), class: "button button__sm button__transparent-secondary w-full" do %>
|
|
11
8
|
<span><%= t("administrate", scope: "decidim.meetings.polls.answers.index") %></span>
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
filter_options: {
|
|
16
16
|
date: !@forced_past_meetings,
|
|
17
17
|
type: true,
|
|
18
|
-
|
|
19
|
-
categories: current_component.categories.any?,
|
|
18
|
+
taxonomies: true,
|
|
20
19
|
origin: component_settings.creation_enabled_for_participants?,
|
|
21
20
|
space_type: false,
|
|
22
21
|
activity: current_user.present?
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<% provide(:title, present(meeting).title) %>
|
|
2
2
|
|
|
3
|
-
<% add_decidim_meta_tags(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
<% add_decidim_meta_tags(
|
|
4
|
+
title: present(meeting).title,
|
|
5
|
+
description: present(meeting).description,
|
|
6
|
+
url: meeting_url(meeting.id),
|
|
7
|
+
resource: meeting) %>
|
|
8
8
|
|
|
9
9
|
<%
|
|
10
10
|
edit_link(
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<% add_decidim_meta_tags(
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<% add_decidim_meta_tags(
|
|
2
|
+
title: present(meeting).title,
|
|
3
|
+
description: present(meeting).description,
|
|
4
|
+
url: meeting_url(meeting.id),
|
|
5
|
+
resource: meeting) %>
|
|
6
6
|
|
|
7
7
|
<%= append_javascript_pack_tag "decidim_meetings" %>
|
|
8
8
|
<%= append_stylesheet_pack_tag "decidim_meetings" %>
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
f.append(method: :with_any_date, collection: filter_date_values, label_scope: "decidim.meetings.meetings.filters", id: "date", type: :radio_buttons) if filter_options[:date]
|
|
3
|
-
f.append(method: :with_any_type, collection: filter_type_values, label_scope: "decidim.meetings.meetings.filters", id: "type") if filter_options[:type]
|
|
4
|
-
f.append(method: :with_any_scope, collection: filter_scopes_values, label_scope: "decidim.shared.participatory_space_filters.filters", id: "scope") if filter_options[:scopes]
|
|
5
|
-
f.append(method: :with_any_scope, collection: filter_global_scopes_values, label_scope: "decidim.shared.participatory_space_filters.filters", id: "scope") if filter_options[:directory_scopes]
|
|
6
|
-
f.append(method: :with_any_category, collection: filter_categories_values, label_scope: "decidim.meetings.meetings.filters", id: "category") if filter_options[:categories]
|
|
7
|
-
f.append(method: :with_any_global_category, collection: directory_filter_categories_values, label_scope: "decidim.meetings.meetings.filters", id: "category") if filter_options[:directory_categories]
|
|
8
|
-
f.append(method: :with_any_origin, collection: filter_origin_values, label_scope: "decidim.meetings.meetings.filters", id: "origin") if filter_options[:origin]
|
|
9
|
-
f.append(method: :with_any_space, collection: directory_meeting_spaces_values, label_scope: "decidim.meetings.directory.meetings.index", id: "space_type") if filter_options[:space_type]
|
|
10
|
-
f.append(method: :activity, collection: activity_filter_values, label_scope: "decidim.meetings.meetings.filters", id: "activity", type: :radio_buttons) if filter_options[:activity]
|
|
11
|
-
end %>
|
|
12
|
-
|
|
13
|
-
<%= render layout: "decidim/shared/filters", locals: { filter_sections:, search_variable:, skip_to_id: "meetings" } do %>
|
|
1
|
+
<%= render layout: "decidim/shared/filters", locals: { filter_sections: filter_sections(**filter_options), search_variable:, skip_to_id: "meetings" } do %>
|
|
14
2
|
<%= render partial: "decidim/meetings/calendar_modal", locals: {
|
|
15
3
|
path: short_url(
|
|
16
4
|
route_name: "calendar",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<%= render layout: "layouts/decidim/shared/layout_two_col" do %>
|
|
11
11
|
<% if display_map %>
|
|
12
12
|
<div class="meeting-list__map">
|
|
13
|
-
<%= cell "decidim/
|
|
13
|
+
<%= cell "decidim/map", search.result, metadata_card: "decidim/meetings/meeting_card_metadata" %>
|
|
14
14
|
</div>
|
|
15
15
|
<% end %>
|
|
16
16
|
|
|
@@ -7,9 +7,10 @@ $urlCalendarUrl.val("<%= short_url(route_name: "calendar", params: { filter: par
|
|
|
7
7
|
var $map = $("#map");
|
|
8
8
|
var controller = $map.data("map-controller");
|
|
9
9
|
if (controller) {
|
|
10
|
-
var markerData = JSON.parse('<%= escape_javascript
|
|
10
|
+
var markerData = JSON.parse('<%= escape_javascript cell("decidim/map", search.result, metadata_card: "decidim/meetings/meeting_card_metadata").geocoded_data.to_json.html_safe %>');
|
|
11
11
|
controller.clearMarkers();
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
if (markerData.length > 0) {
|
|
13
14
|
controller.addMarkers(markerData);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<% if meetings.length.zero? %>
|
|
12
12
|
<%= cell("decidim/announcement", t("decidim.meetings.meetings.meetings.no_meetings_warning"), callout_class: "warning" ) %>
|
|
13
13
|
<% else %>
|
|
14
|
-
<h2 class="h5 md:h3 decorator"
|
|
14
|
+
<h2 class="h5 md:h3 decorator"><%= t("meetings_count", scope: "decidim.meetings.meetings.count", count: meetings.total_count) %></h2>
|
|
15
15
|
|
|
16
16
|
<%= cell("decidim/announcement", t("decidim.meetings.meetings.meetings.upcoming_meetings_warning"), callout_class: "warning" ) if @forced_past_meetings %>
|
|
17
17
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<h2 class="title-decorator"><%= t("decidim.components.meetings.name") %></h2>
|
|
6
6
|
<% end %>
|
|
7
7
|
|
|
8
|
-
<% if
|
|
9
|
-
<%= action_authorized_link_to :create, new_meeting_path, class: "button button__xl button__secondary w-full", data: { "redirect_url" => new_meeting_path } do %>
|
|
8
|
+
<% if allowed_to?(:create, :meeting) %>
|
|
9
|
+
<%= action_authorized_link_to :create, new_meeting_path, permissions_holder: current_component, class: "button button__xl button__secondary w-full", data: { "redirect_url" => new_meeting_path } do %>
|
|
10
10
|
<span><%= t("new_meeting", scope: "decidim.meetings.meetings.index") %></span>
|
|
11
11
|
<%= icon "add-line" %>
|
|
12
12
|
<% end %>
|