decidim-meetings 0.29.2 → 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 +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 +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/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/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 +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/permissions/decidim/meetings/admin/permissions.rb +1 -1
- data/app/permissions/decidim/meetings/permissions.rb +13 -9
- 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/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/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_aside.html.erb +2 -2
- data/app/views/decidim/participatory_spaces/_conference_venues.html.erb +1 -1
- data/config/locales/ar.yml +17 -17
- data/config/locales/bg.yml +5 -25
- data/config/locales/ca.yml +137 -25
- data/config/locales/cs.yml +138 -28
- data/config/locales/de.yml +106 -26
- data/config/locales/el.yml +1 -22
- 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 +138 -26
- data/config/locales/fi-plain.yml +138 -26
- data/config/locales/fi.yml +138 -26
- data/config/locales/fr-CA.yml +79 -26
- data/config/locales/fr.yml +79 -26
- data/config/locales/ga-IE.yml +0 -13
- data/config/locales/gl.yml +1 -12
- data/config/locales/hu.yml +1 -19
- data/config/locales/id-ID.yml +1 -13
- data/config/locales/is-IS.yml +0 -12
- data/config/locales/it.yml +1 -17
- data/config/locales/ja.yml +95 -25
- data/config/locales/lb.yml +0 -11
- data/config/locales/lt.yml +1 -23
- data/config/locales/lv.yml +1 -13
- data/config/locales/nl.yml +1 -17
- data/config/locales/no.yml +1 -16
- data/config/locales/pl.yml +5 -21
- data/config/locales/pt-BR.yml +1 -21
- data/config/locales/pt.yml +1 -17
- data/config/locales/ro-RO.yml +30 -17
- data/config/locales/ru.yml +1 -13
- data/config/locales/sk.yml +1 -13
- data/config/locales/sv.yml +74 -26
- data/config/locales/tr-TR.yml +1 -19
- data/config/locales/uk.yml +0 -12
- data/config/locales/zh-CN.yml +1 -18
- data/config/locales/zh-TW.yml +1 -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/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 -21
- 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
@@ -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
|
|
@@ -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
|
}
|
@@ -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: إنشاء اجتماع
|
@@ -350,8 +356,6 @@ ar:
|
|
350
356
|
questionnaire:
|
351
357
|
update: "قام %{user_name} بتحديث الاستبيان للاجتماع %{meeting_name}"
|
352
358
|
application_helper:
|
353
|
-
filter_category_values:
|
354
|
-
all: الكل
|
355
359
|
filter_meeting_space_values:
|
356
360
|
all: الكل
|
357
361
|
calendar_modal:
|
@@ -454,7 +458,6 @@ ar:
|
|
454
458
|
location_hints_help: 'توضيح حول الموقع: معلومات إضافية. على سبيل المثال: إدراج طابق المبنى في حال كان الاجتماع شخصيا، أو كلمة مرور الاجتماع إذا كان اجتماعا على الإنترنت يحتوي على تقييد الدخول.'
|
455
459
|
online_meeting_url_help: 'الرابط: السماح للمشاركين بالاتصال مباشرة باجتماعك'
|
456
460
|
registration_url_help: 'الرابط: يتيح للمشاركين استخدام الخدمة الخارجية التي تستخدمها للتسجيل'
|
457
|
-
select_a_category: يُرجى اختيار فئة
|
458
461
|
select_a_meeting_type: الرجاء تحديد نوع الاجتماع
|
459
462
|
select_a_registration_type: الرجاء تحديد نوع التسجيل
|
460
463
|
select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
|
@@ -464,9 +467,6 @@ ar:
|
|
464
467
|
see_all: عرض كافة الاجتماعات
|
465
468
|
see_all_withdrawn: عرض جميع الاجتماعات المسحوبة
|
466
469
|
text_banner: أنت تستعرض قائمة الاجتماعات التي تم سحبها من قبل مؤلفيها. %{go_back_link}.
|
467
|
-
meeting:
|
468
|
-
close_meeting: اجتماع قريب
|
469
|
-
edit_meeting: تعديل الاجتماعات
|
470
470
|
meetings:
|
471
471
|
upcoming_meetings_warning: حاليًا ، لا توجد اجتماعات مجدولة ، ولكن يمكنك هنا العثور على جميع الاجتماعات السابقة المدرجة.
|
472
472
|
new:
|
@@ -489,6 +489,7 @@ ar:
|
|
489
489
|
micro_camera_permissions_warning: عند النقر على الزر أدناه، سيتم طلب أذونات الميكروفون و/أو الكاميرا، وسوف تنضم إلى مؤتمر الفيديو
|
490
490
|
no_slots_available: لا فتحات المتاحة
|
491
491
|
organizations: حضور المنظمات
|
492
|
+
redirect_notice: هذا الاجتماع جزء من مساحة أخرى، لذلك تم نقلك إلى %{current_space_name}. <br>إذا كنت تفضل، يمكنك العودة إلى <a href="%{previous_space_url}">%{previous_space_name}</a>.
|
492
493
|
registration_code_help_text: رمز التسجيل الخاص بك
|
493
494
|
registration_state:
|
494
495
|
validated: التحقق من صحة
|
@@ -503,7 +504,6 @@ ar:
|
|
503
504
|
visit_finished: عرض الاجتماع السابق
|
504
505
|
withdraw_btn_hint: يمكن أن تسحب اجتماعك اذا غيرت رأيك. لا يتم إلغاء الاجتماع بل سيظهر في قائمة الاجتماعات المسحوبة.
|
505
506
|
withdraw_confirmation_html: هل أنت متأكد من أنك تريد سحب هذا الاجتماع؟<br><br><strong>لا يمكن إلغاء هذا الإجراء!</strong>
|
506
|
-
withdraw_meeting: سحب الاجتماع
|
507
507
|
update:
|
508
508
|
invalid: طرأت مشكلة خلال تحديث الاجتماع.
|
509
509
|
success: لقد قمت بتحديث الاجتماع بنجاح.
|
data/config/locales/bg.yml
CHANGED
@@ -97,8 +97,6 @@ bg:
|
|
97
97
|
'false': Не се приема
|
98
98
|
'true': Прието
|
99
99
|
meetings:
|
100
|
-
category_id_eq:
|
101
|
-
label: Категория
|
102
100
|
closed_at_present:
|
103
101
|
label: Състояние
|
104
102
|
values:
|
@@ -109,8 +107,6 @@ bg:
|
|
109
107
|
values:
|
110
108
|
'false': Минали
|
111
109
|
'true': Предстоящо
|
112
|
-
scope_id_eq:
|
113
|
-
label: Обхват
|
114
110
|
with_any_origin:
|
115
111
|
label: Произход
|
116
112
|
values:
|
@@ -160,8 +156,6 @@ bg:
|
|
160
156
|
maps_enabled: Картите са активирани
|
161
157
|
registration_code_enabled: Регистрационният код е активиран
|
162
158
|
resources_permissions_enabled: Разрешенията за действия могат да се задават за всяка среща
|
163
|
-
scope_id: Обхват
|
164
|
-
scopes_enabled: Обхватите са активирани
|
165
159
|
terms_and_conditions_url_for_meeting_creators: URL адрес за правила и условия за създатели на срещи
|
166
160
|
step:
|
167
161
|
announcement: Обявление
|
@@ -221,7 +215,7 @@ bg:
|
|
221
215
|
badges:
|
222
216
|
attended_meetings:
|
223
217
|
conditions:
|
224
|
-
|
218
|
+
- Регистрирайте се за срещите, които искате да посетите
|
225
219
|
description: Тази значка се предоставя, когато посетите няколко срещи на живо.
|
226
220
|
description_another: Този участник е посетил %{score} срещи.
|
227
221
|
description_own: Посетили сте %{score} срещи.
|
@@ -235,7 +229,6 @@ bg:
|
|
235
229
|
attachment_collections: Папки
|
236
230
|
attachments: Прикачени файлове
|
237
231
|
close: Затвори
|
238
|
-
destroy: Изтрий
|
239
232
|
edit: Редактирай
|
240
233
|
invalid_destroy:
|
241
234
|
proposals_count:
|
@@ -313,12 +306,6 @@ bg:
|
|
313
306
|
create:
|
314
307
|
invalid: Възникна проблем при създаването на тази среща.
|
315
308
|
success: Срещата е създадена успешно. Забележете, че това все още не е публикувано, трябва да го публикувате ръчно.
|
316
|
-
destroy:
|
317
|
-
invalid:
|
318
|
-
proposals_count:
|
319
|
-
one: Срещата не може да бъде премахната, понеже има %{count} участник свързан с нея.
|
320
|
-
other: Срещата не може да бъде премахната, понеже има %{count} участника свързани с нея.
|
321
|
-
success: Срещата беше изтрита успешно
|
322
309
|
edit:
|
323
310
|
title: Редактиране на срещата
|
324
311
|
update: Актуализация
|
@@ -366,10 +353,10 @@ bg:
|
|
366
353
|
poll:
|
367
354
|
form:
|
368
355
|
announcement_html:
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
356
|
+
- Когато даден въпрос получи отговори или бъде публикуван/затворен, той вече не може да бъде редактиран.
|
357
|
+
- Можете да добавите въпрос по всяко време.
|
358
|
+
- Анкетата ще бъде затворена, когато резултатите от всички създадени въпроси бъдат публикувани.
|
359
|
+
- Посетете <a href='%{admin_link}'>страницата за администриране на анкетата</a>, за да изпратите въпроси и да публикувате резултати.
|
373
360
|
registrations:
|
374
361
|
edit:
|
375
362
|
save: Запази
|
@@ -410,8 +397,6 @@ bg:
|
|
410
397
|
questionnaire:
|
411
398
|
update: "%{user_name} актуализира въпросника за срещата %{meeting_name}"
|
412
399
|
application_helper:
|
413
|
-
filter_category_values:
|
414
|
-
all: Всички
|
415
400
|
filter_meeting_space_values:
|
416
401
|
all: Всички
|
417
402
|
calendar:
|
@@ -521,7 +506,6 @@ bg:
|
|
521
506
|
location_hints_help: 'Съвети за местоположение: допълнителна информация. Пример: етажът на сградата, ако е лична среща, или паролата за среща, ако е онлайн среща с ограничен достъп.'
|
522
507
|
online_meeting_url_help: 'Връзка: позволява на участниците да се свързват директно с вашата среща'
|
523
508
|
registration_url_help: 'Линк: позволете на участниците да отидат на външната услуга, която използвате за регистрации'
|
524
|
-
select_a_category: Моля, изберете категория
|
525
509
|
select_a_meeting_type: Моля, изберете тип среща
|
526
510
|
select_a_registration_type: Моля, изберете тип регистрация
|
527
511
|
select_an_iframe_access_level: Моля, изберете ниво на достъп до iframe
|
@@ -532,9 +516,7 @@ bg:
|
|
532
516
|
see_all_withdrawn: Вижте всички оттеглени срещи
|
533
517
|
text_banner: Разглеждате списъка с оттеглени от авторите срещи. %{go_back_link}.
|
534
518
|
meeting:
|
535
|
-
close_meeting: Затваряне на срещата
|
536
519
|
edit_close_meeting: Редактиране на отчета за срещата
|
537
|
-
edit_meeting: Редактиране на срещата
|
538
520
|
join_meeting: Присъединяване към срещата
|
539
521
|
reply_poll: Отговор на анкета
|
540
522
|
view_poll: Вижте анкетата
|
@@ -571,7 +553,6 @@ bg:
|
|
571
553
|
visit_finished: Вижте миналата среща
|
572
554
|
withdraw_btn_hint: Можете да отмените срещата си, ако промените решението си. Срещата не се изтрива, тя ще се появи в списъка с оттеглени срещи.
|
573
555
|
withdraw_confirmation_html: Сигурни ли сте, че искате да отмените тази среща?<br><br><strong>Това действие не може да бъде отменено!</strong>
|
574
|
-
withdraw_meeting: Оттегляне на срещата
|
575
556
|
update:
|
576
557
|
invalid: Възникна проблем при актуализирането на срещата.
|
577
558
|
success: Актуализирахте успешно срещата.
|
@@ -663,7 +644,6 @@ bg:
|
|
663
644
|
transparent: Прозрачно
|
664
645
|
withdraw: Оттеглено
|
665
646
|
withdraw:
|
666
|
-
error: Възникна грешка при оттеглянето на срещата.
|
667
647
|
success: Срещата е оттеглена успешно.
|
668
648
|
metrics:
|
669
649
|
meetings:
|