decidim-meetings 0.29.1 → 0.30.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +6 -4
- data/app/cells/decidim/meetings/dates_and_map_cell.rb +1 -1
- 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 +17 -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/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 +40 -6
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_form.rb +17 -31
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +2 -2
- 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 +23 -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 +5 -17
- data/app/permissions/decidim/meetings/admin/permissions.rb +1 -1
- data/app/permissions/decidim/meetings/permissions.rb +20 -11
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +1 -1
- data/app/presenters/decidim/meetings/meeting_presenter.rb +14 -6
- 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/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/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 +10 -2
- 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/registration_mailer/confirmation.html.erb +1 -1
- 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 +5 -5
- 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 +17 -15
- data/config/locales/bg.yml +5 -26
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +8 -0
- data/config/locales/ca.yml +137 -25
- data/config/locales/cs.yml +139 -28
- data/config/locales/de.yml +172 -92
- data/config/locales/el.yml +1 -20
- data/config/locales/en.yml +133 -21
- data/config/locales/es-MX.yml +137 -25
- data/config/locales/es-PY.yml +137 -25
- data/config/locales/es.yml +137 -25
- data/config/locales/eu.yml +167 -55
- data/config/locales/fi-plain.yml +138 -26
- data/config/locales/fi.yml +150 -38
- data/config/locales/fr-CA.yml +79 -26
- data/config/locales/fr.yml +79 -26
- data/config/locales/ga-IE.yml +0 -10
- data/config/locales/gl.yml +1 -8
- data/config/locales/hu.yml +1 -17
- data/config/locales/id-ID.yml +1 -5
- data/config/locales/is-IS.yml +0 -4
- data/config/locales/it.yml +1 -12
- data/config/locales/ja.yml +96 -26
- data/config/locales/lb.yml +0 -8
- data/config/locales/lt.yml +1 -24
- data/config/locales/lv.yml +1 -5
- data/config/locales/nl.yml +1 -15
- data/config/locales/no.yml +1 -14
- data/config/locales/pl.yml +5 -22
- data/config/locales/pt-BR.yml +1 -22
- data/config/locales/pt.yml +1 -12
- data/config/locales/ro-RO.yml +32 -16
- data/config/locales/ru.yml +1 -5
- data/config/locales/sk.yml +1 -5
- data/config/locales/sv.yml +74 -26
- data/config/locales/tr-TR.yml +1 -8
- data/config/locales/uk.yml +0 -4
- data/config/locales/zh-CN.yml +1 -8
- data/config/locales/zh-TW.yml +1 -19
- 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 +2 -2
- 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 +44 -40
- data/lib/decidim/api/meetings_type.rb +5 -8
- 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 +2 -0
- data/lib/decidim/meetings/meeting_serializer.rb +86 -38
- 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 +14 -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 +35 -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
@@ -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>
|
@@ -1,3 +1,12 @@
|
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: translated_attribute(current_component.participatory_space.try(:description)),
|
3
|
+
title: t("decidim.components.pagination.page_title",
|
4
|
+
component_name: translated_attribute(current_component.name),
|
5
|
+
current_page: meetings.current_page,
|
6
|
+
total_pages: meetings.total_pages ),
|
7
|
+
url: meetings_url,
|
8
|
+
resource: current_component) %>
|
9
|
+
|
1
10
|
<%= render partial: "decidim/meetings/shared/index", locals: {
|
2
11
|
display_map: Decidim::Map.available?(:geocoding, :dynamic) && current_component.settings.maps_enabled? && search.result.not_online.exists?,
|
3
12
|
display_announcement: true,
|
@@ -6,8 +15,7 @@
|
|
6
15
|
filter_options: {
|
7
16
|
date: !@forced_past_meetings,
|
8
17
|
type: true,
|
9
|
-
|
10
|
-
categories: current_component.categories.any?,
|
18
|
+
taxonomies: true,
|
11
19
|
origin: component_settings.creation_enabled_for_participants?,
|
12
20
|
space_type: false,
|
13
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
|
|
@@ -4,13 +4,13 @@ $meetings.html('<%= j(render partial: "decidim/meetings/shared/meetings", locals
|
|
4
4
|
var $urlCalendarUrl = $('#urlCalendarUrl');
|
5
5
|
$urlCalendarUrl.val("<%= short_url(route_name: "calendar", params: { filter: params.fetch(:filter, {}).try(:to_unsafe_hash) }) %>");
|
6
6
|
|
7
|
-
var meeting_frame = document.getElementById("meeting_frame");
|
8
|
-
meeting_frame.dataset.filteredPath = "<%= request.fullpath %>"
|
9
|
-
|
10
7
|
var $map = $("#map");
|
11
8
|
var controller = $map.data("map-controller");
|
12
9
|
if (controller) {
|
13
|
-
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 %>');
|
14
11
|
controller.clearMarkers();
|
15
|
-
|
12
|
+
|
13
|
+
if (markerData.length > 0) {
|
14
|
+
controller.addMarkers(markerData);
|
15
|
+
}
|
16
16
|
}
|
@@ -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 %>
|
data/config/locales/ar.yml
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
ar:
|
3
3
|
activemodel:
|
4
4
|
attributes:
|
5
|
+
answer:
|
6
|
+
add_documents: أضف مستندات
|
5
7
|
close_meeting:
|
6
8
|
attendees_count: عدد الحضور
|
7
9
|
attending_organizations: قائمة المنظمات التي حضرت
|
@@ -85,8 +87,6 @@ ar:
|
|
85
87
|
admin:
|
86
88
|
filters:
|
87
89
|
meetings:
|
88
|
-
category_id_eq:
|
89
|
-
label: الفئة
|
90
90
|
closed_at_present:
|
91
91
|
label: الحالة
|
92
92
|
values:
|
@@ -97,8 +97,6 @@ ar:
|
|
97
97
|
values:
|
98
98
|
'false': السابق
|
99
99
|
'true': القادم
|
100
|
-
scope_id_eq:
|
101
|
-
label: نطاق
|
102
100
|
with_any_origin:
|
103
101
|
label: الأصل
|
104
102
|
values:
|
@@ -135,8 +133,6 @@ ar:
|
|
135
133
|
maps_enabled: تم تمكين الخرائط
|
136
134
|
registration_code_enabled: تم تمكين رمز التسجيل
|
137
135
|
resources_permissions_enabled: يمكن تعيين أذونات الإجراءات لكل اجتماع
|
138
|
-
scope_id: نطاق
|
139
|
-
scopes_enabled: النطاقات مفعلة
|
140
136
|
terms_and_conditions_url_for_meeting_creators: أحكام وشروط عناوين URL لمنشئي الاجتماع
|
141
137
|
step:
|
142
138
|
announcement: إعلان
|
@@ -193,7 +189,7 @@ ar:
|
|
193
189
|
badges:
|
194
190
|
attended_meetings:
|
195
191
|
conditions:
|
196
|
-
|
192
|
+
- سجل للاجتماعات التي تريد حضورها
|
197
193
|
description: تُمنح هذه الشارة عند حضور العديد من الاجتماعات المباشرة.
|
198
194
|
description_another: حضر هذا المشارك %{score} جلسة.
|
199
195
|
description_own: لقد حضرت %{score} اجتماع.
|
@@ -205,8 +201,6 @@ ar:
|
|
205
201
|
attachment_collections: المجلدات
|
206
202
|
attachments: مرفقات
|
207
203
|
close: قريب
|
208
|
-
confirm_destroy: هل أنت متأكد أنك تريد حذف هذا الاجتماع؟
|
209
|
-
destroy: حذف
|
210
204
|
edit: تعديل
|
211
205
|
invalid_destroy:
|
212
206
|
proposals_count:
|
@@ -274,10 +268,10 @@ ar:
|
|
274
268
|
close: قريب
|
275
269
|
title: اجتماع قريب
|
276
270
|
meetings:
|
271
|
+
component:
|
272
|
+
unlink: إلغاء الربط
|
277
273
|
create:
|
278
274
|
success: تم إنشاء الاجتماع بنجاح. لاحظ أن هذا غير منشور حتى الآن، تحتاج إلى نشره بنفسك.
|
279
|
-
destroy:
|
280
|
-
success: تم حذف الاجتماع بنجاح
|
281
275
|
edit:
|
282
276
|
title: تعديل الاجتماعات
|
283
277
|
update: تحديث
|
@@ -291,7 +285,18 @@ ar:
|
|
291
285
|
select_a_registration_type: الرجاء تحديد نوع التسجيل
|
292
286
|
select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
|
293
287
|
index:
|
288
|
+
linked_meeting_warning_html: يجب تعديل هذا الاجتماع من <br><a href="%{href}">%{name}</a>
|
294
289
|
title: اجتماعات
|
290
|
+
linked_spaces:
|
291
|
+
assign: تعيين
|
292
|
+
link_a_space: اربط مساحة
|
293
|
+
private_meeting_warning: لم يتم تطبيق المساحات المربوطة إذا كان الاجتماع خاص وغير شفاف.
|
294
|
+
private_space_warning: لم يتم تطبيق المساحات المربوطة إذا كان الاجتماع ينتمي إلى مساحه خاصة وغير شفافه.
|
295
|
+
select: اختر مساحه
|
296
|
+
table:
|
297
|
+
actions: الإجراءات
|
298
|
+
component: مساحات مربوطة
|
299
|
+
title: مساحات مربوطة
|
295
300
|
new:
|
296
301
|
create: إنشاء
|
297
302
|
title: إنشاء اجتماع
|
@@ -351,8 +356,6 @@ ar:
|
|
351
356
|
questionnaire:
|
352
357
|
update: "قام %{user_name} بتحديث الاستبيان للاجتماع %{meeting_name}"
|
353
358
|
application_helper:
|
354
|
-
filter_category_values:
|
355
|
-
all: الكل
|
356
359
|
filter_meeting_space_values:
|
357
360
|
all: الكل
|
358
361
|
calendar_modal:
|
@@ -455,7 +458,6 @@ ar:
|
|
455
458
|
location_hints_help: 'توضيح حول الموقع: معلومات إضافية. على سبيل المثال: إدراج طابق المبنى في حال كان الاجتماع شخصيا، أو كلمة مرور الاجتماع إذا كان اجتماعا على الإنترنت يحتوي على تقييد الدخول.'
|
456
459
|
online_meeting_url_help: 'الرابط: السماح للمشاركين بالاتصال مباشرة باجتماعك'
|
457
460
|
registration_url_help: 'الرابط: يتيح للمشاركين استخدام الخدمة الخارجية التي تستخدمها للتسجيل'
|
458
|
-
select_a_category: يُرجى اختيار فئة
|
459
461
|
select_a_meeting_type: الرجاء تحديد نوع الاجتماع
|
460
462
|
select_a_registration_type: الرجاء تحديد نوع التسجيل
|
461
463
|
select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
|
@@ -487,6 +489,7 @@ ar:
|
|
487
489
|
micro_camera_permissions_warning: عند النقر على الزر أدناه، سيتم طلب أذونات الميكروفون و/أو الكاميرا، وسوف تنضم إلى مؤتمر الفيديو
|
488
490
|
no_slots_available: لا فتحات المتاحة
|
489
491
|
organizations: حضور المنظمات
|
492
|
+
redirect_notice: هذا الاجتماع جزء من مساحة أخرى، لذلك تم نقلك إلى %{current_space_name}. <br>إذا كنت تفضل، يمكنك العودة إلى <a href="%{previous_space_url}">%{previous_space_name}</a>.
|
490
493
|
registration_code_help_text: رمز التسجيل الخاص بك
|
491
494
|
registration_state:
|
492
495
|
validated: التحقق من صحة
|
@@ -501,7 +504,6 @@ ar:
|
|
501
504
|
visit_finished: عرض الاجتماع السابق
|
502
505
|
withdraw_btn_hint: يمكن أن تسحب اجتماعك اذا غيرت رأيك. لا يتم إلغاء الاجتماع بل سيظهر في قائمة الاجتماعات المسحوبة.
|
503
506
|
withdraw_confirmation_html: هل أنت متأكد من أنك تريد سحب هذا الاجتماع؟<br><br><strong>لا يمكن إلغاء هذا الإجراء!</strong>
|
504
|
-
withdraw_meeting: سحب الاجتماع
|
505
507
|
update:
|
506
508
|
invalid: طرأت مشكلة خلال تحديث الاجتماع.
|
507
509
|
success: لقد قمت بتحديث الاجتماع بنجاح.
|