decidim-meetings 0.29.4 → 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/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 +141 -31
- data/config/locales/cs.yml +139 -31
- data/config/locales/de.yml +152 -74
- 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 +160 -50
- data/config/locales/fi-plain.yml +142 -27
- data/config/locales/fi.yml +142 -27
- data/config/locales/fr-CA.yml +80 -28
- data/config/locales/fr.yml +80 -28
- 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 +126 -78
- 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
@@ -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 %>
|
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,7 +201,6 @@ ar:
|
|
205
201
|
attachment_collections: المجلدات
|
206
202
|
attachments: مرفقات
|
207
203
|
close: قريب
|
208
|
-
destroy: حذف
|
209
204
|
edit: تعديل
|
210
205
|
invalid_destroy:
|
211
206
|
proposals_count:
|
@@ -273,10 +268,10 @@ ar:
|
|
273
268
|
close: قريب
|
274
269
|
title: اجتماع قريب
|
275
270
|
meetings:
|
271
|
+
component:
|
272
|
+
unlink: إلغاء الربط
|
276
273
|
create:
|
277
274
|
success: تم إنشاء الاجتماع بنجاح. لاحظ أن هذا غير منشور حتى الآن، تحتاج إلى نشره بنفسك.
|
278
|
-
destroy:
|
279
|
-
success: تم حذف الاجتماع بنجاح
|
280
275
|
edit:
|
281
276
|
title: تعديل الاجتماعات
|
282
277
|
update: تحديث
|
@@ -290,7 +285,18 @@ ar:
|
|
290
285
|
select_a_registration_type: الرجاء تحديد نوع التسجيل
|
291
286
|
select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
|
292
287
|
index:
|
288
|
+
linked_meeting_warning_html: يجب تعديل هذا الاجتماع من <br><a href="%{href}">%{name}</a>
|
293
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: مساحات مربوطة
|
294
300
|
new:
|
295
301
|
create: إنشاء
|
296
302
|
title: إنشاء اجتماع
|
@@ -310,6 +316,8 @@ ar:
|
|
310
316
|
registrations:
|
311
317
|
edit:
|
312
318
|
save: حفظ
|
319
|
+
validate: التحقق من صحة
|
320
|
+
validate_registration_code: التحقق من صحة رمز التسجيل
|
313
321
|
form:
|
314
322
|
available_slots_help: اتركه إلى 0 إذا كان لديك فتحات غير محدودة المتاحة.
|
315
323
|
invites: دعوات
|
@@ -328,6 +336,9 @@ ar:
|
|
328
336
|
update:
|
329
337
|
invalid: حدثت مشكلة أثناء حفظ إعدادات التسجيل.
|
330
338
|
success: تم حفظ إعدادات تسجيل الاجتماع بنجاح.
|
339
|
+
validate_registration_code:
|
340
|
+
invalid: رمز التسجيل هذا غير صالح.
|
341
|
+
success: تم التحقق من صحة رمز التسجيل بنجاح.
|
331
342
|
admin_log:
|
332
343
|
invite:
|
333
344
|
create: "%{user_name} دعا %{attendee_name} للانضمام إلى اجتماع %{resource_name} في الفضاء %{space_name}"
|
@@ -345,8 +356,6 @@ ar:
|
|
345
356
|
questionnaire:
|
346
357
|
update: "قام %{user_name} بتحديث الاستبيان للاجتماع %{meeting_name}"
|
347
358
|
application_helper:
|
348
|
-
filter_category_values:
|
349
|
-
all: الكل
|
350
359
|
filter_meeting_space_values:
|
351
360
|
all: الكل
|
352
361
|
calendar_modal:
|
@@ -449,7 +458,6 @@ ar:
|
|
449
458
|
location_hints_help: 'توضيح حول الموقع: معلومات إضافية. على سبيل المثال: إدراج طابق المبنى في حال كان الاجتماع شخصيا، أو كلمة مرور الاجتماع إذا كان اجتماعا على الإنترنت يحتوي على تقييد الدخول.'
|
450
459
|
online_meeting_url_help: 'الرابط: السماح للمشاركين بالاتصال مباشرة باجتماعك'
|
451
460
|
registration_url_help: 'الرابط: يتيح للمشاركين استخدام الخدمة الخارجية التي تستخدمها للتسجيل'
|
452
|
-
select_a_category: يُرجى اختيار فئة
|
453
461
|
select_a_meeting_type: الرجاء تحديد نوع الاجتماع
|
454
462
|
select_a_registration_type: الرجاء تحديد نوع التسجيل
|
455
463
|
select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
|
@@ -459,14 +467,12 @@ ar:
|
|
459
467
|
see_all: عرض كافة الاجتماعات
|
460
468
|
see_all_withdrawn: عرض جميع الاجتماعات المسحوبة
|
461
469
|
text_banner: أنت تستعرض قائمة الاجتماعات التي تم سحبها من قبل مؤلفيها. %{go_back_link}.
|
462
|
-
meeting:
|
463
|
-
close_meeting: اجتماع قريب
|
464
|
-
edit_meeting: تعديل الاجتماعات
|
465
470
|
meetings:
|
466
471
|
upcoming_meetings_warning: حاليًا ، لا توجد اجتماعات مجدولة ، ولكن يمكنك هنا العثور على جميع الاجتماعات السابقة المدرجة.
|
467
472
|
new:
|
468
473
|
back: العودة
|
469
474
|
create: إنشاء
|
475
|
+
title: إنشاء اجتماعك
|
470
476
|
registration_confirm:
|
471
477
|
cancel: إلغاء
|
472
478
|
confirm: تؤكد
|
@@ -483,6 +489,7 @@ ar:
|
|
483
489
|
micro_camera_permissions_warning: عند النقر على الزر أدناه، سيتم طلب أذونات الميكروفون و/أو الكاميرا، وسوف تنضم إلى مؤتمر الفيديو
|
484
490
|
no_slots_available: لا فتحات المتاحة
|
485
491
|
organizations: حضور المنظمات
|
492
|
+
redirect_notice: هذا الاجتماع جزء من مساحة أخرى، لذلك تم نقلك إلى %{current_space_name}. <br>إذا كنت تفضل، يمكنك العودة إلى <a href="%{previous_space_url}">%{previous_space_name}</a>.
|
486
493
|
registration_code_help_text: رمز التسجيل الخاص بك
|
487
494
|
registration_state:
|
488
495
|
validated: التحقق من صحة
|
@@ -497,7 +504,6 @@ ar:
|
|
497
504
|
visit_finished: عرض الاجتماع السابق
|
498
505
|
withdraw_btn_hint: يمكن أن تسحب اجتماعك اذا غيرت رأيك. لا يتم إلغاء الاجتماع بل سيظهر في قائمة الاجتماعات المسحوبة.
|
499
506
|
withdraw_confirmation_html: هل أنت متأكد من أنك تريد سحب هذا الاجتماع؟<br><br><strong>لا يمكن إلغاء هذا الإجراء!</strong>
|
500
|
-
withdraw_meeting: سحب الاجتماع
|
501
507
|
update:
|
502
508
|
invalid: طرأت مشكلة خلال تحديث الاجتماع.
|
503
509
|
success: لقد قمت بتحديث الاجتماع بنجاح.
|