decidim-meetings 0.29.1 → 0.29.2
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/dates_and_map/show.erb +5 -3
- data/app/cells/decidim/meetings/dates_and_map_cell.rb +1 -1
- data/app/cells/decidim/meetings/meeting_l_cell.rb +5 -0
- 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 +1 -1
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +2 -2
- data/app/packs/stylesheets/decidim/meetings/_item.scss +5 -17
- data/app/permissions/decidim/meetings/permissions.rb +7 -2
- data/app/presenters/decidim/meetings/meeting_presenter.rb +1 -5
- data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +1 -1
- data/app/views/decidim/meetings/shared/_index.js.erb +3 -4
- data/config/locales/ar.yml +3 -1
- data/config/locales/bg.yml +0 -1
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +8 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +5 -4
- data/config/locales/de.yml +70 -70
- data/config/locales/el.yml +3 -1
- data/config/locales/es-MX.yml +3 -3
- data/config/locales/es-PY.yml +3 -3
- data/config/locales/es.yml +4 -4
- data/config/locales/eu.yml +35 -35
- data/config/locales/fi-plain.yml +2 -2
- data/config/locales/fi.yml +12 -12
- data/config/locales/fr-CA.yml +4 -4
- data/config/locales/fr.yml +4 -4
- data/config/locales/ga-IE.yml +3 -0
- data/config/locales/gl.yml +7 -3
- data/config/locales/hu.yml +5 -3
- data/config/locales/id-ID.yml +9 -1
- data/config/locales/is-IS.yml +9 -1
- data/config/locales/it.yml +8 -3
- data/config/locales/ja.yml +2 -2
- data/config/locales/lb.yml +4 -1
- data/config/locales/lt.yml +2 -3
- data/config/locales/lv.yml +9 -1
- data/config/locales/nl.yml +3 -1
- data/config/locales/no.yml +3 -1
- data/config/locales/pl.yml +0 -1
- data/config/locales/pt-BR.yml +5 -6
- data/config/locales/pt.yml +6 -1
- data/config/locales/ro-RO.yml +5 -2
- data/config/locales/ru.yml +9 -1
- data/config/locales/sk.yml +9 -1
- data/config/locales/tr-TR.yml +13 -2
- data/config/locales/uk.yml +9 -1
- data/config/locales/zh-CN.yml +11 -1
- data/config/locales/zh-TW.yml +3 -1
- data/decidim-meetings.gemspec +1 -1
- data/lib/decidim/api/meeting_type.rb +12 -0
- data/lib/decidim/api/meetings_type.rb +1 -3
- data/lib/decidim/meetings/engine.rb +2 -0
- data/lib/decidim/meetings/meeting_serializer.rb +37 -0
- data/lib/decidim/meetings/test/factories.rb +6 -0
- data/lib/decidim/meetings/version.rb +1 -1
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1914015424af6badd9b0449162f29d9531f45777617c85abf7afc8bcfc7fc439
|
4
|
+
data.tar.gz: a60c1966bd2920683d25767d342118657da641bbf0332d3b19a4a038602810d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b299704d14a16389756ded8685c48e5e5e4283640fe8418e7be764a52f8fa837325d8659b3a9686bef37f60467fe8186942251cf9439b954b1353681984f6491
|
7
|
+
data.tar.gz: ffd91e602170b5a2479c63565c01f990daa13ef2db41561b23c4c5c18319a8a3b51ba921bae5dec70f22c0235a0fa3590eb0dde046676e7da92df2769fce70e2
|
@@ -15,9 +15,11 @@
|
|
15
15
|
</div>
|
16
16
|
</div>
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
<%
|
18
|
+
<% if display_map? %>
|
19
|
+
<%= static_map %>
|
20
|
+
<% elsif online? %>
|
21
21
|
<%= cell("decidim/address", meeting, online: true) %>
|
22
|
+
<% else %>
|
23
|
+
<%= cell("decidim/address", meeting) %>
|
22
24
|
<% end %>
|
23
25
|
</div>
|
@@ -7,7 +7,7 @@ module Decidim
|
|
7
7
|
class CloseMeetingForm < Decidim::Form
|
8
8
|
include TranslatableAttributes
|
9
9
|
|
10
|
-
translatable_attribute :closing_report,
|
10
|
+
translatable_attribute :closing_report, Decidim::Attributes::RichText
|
11
11
|
attribute :video_url, String
|
12
12
|
attribute :audio_url, String
|
13
13
|
attribute :closing_visible, Boolean, default: true
|
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
include TranslatableAttributes
|
9
9
|
|
10
10
|
translatable_attribute :title, String
|
11
|
-
translatable_attribute :description,
|
11
|
+
translatable_attribute :description, Decidim::Attributes::RichText
|
12
12
|
|
13
13
|
attribute :duration, Integer, default: 0
|
14
14
|
attribute :parent_id, Integer
|
@@ -23,7 +23,7 @@ module Decidim
|
|
23
23
|
attribute :iframe_access_level, String
|
24
24
|
|
25
25
|
translatable_attribute :title, String
|
26
|
-
translatable_attribute :description,
|
26
|
+
translatable_attribute :description, Decidim::Attributes::RichText
|
27
27
|
translatable_attribute :location, String
|
28
28
|
translatable_attribute :location_hints, String
|
29
29
|
|
@@ -15,8 +15,8 @@ module Decidim
|
|
15
15
|
attribute :available_slots, Integer
|
16
16
|
attribute :reserved_slots, Integer
|
17
17
|
|
18
|
-
translatable_attribute :registration_terms,
|
19
|
-
translatable_attribute :registration_email_custom_content,
|
18
|
+
translatable_attribute :registration_terms, Decidim::Attributes::RichText
|
19
|
+
translatable_attribute :registration_email_custom_content, Decidim::Attributes::RichText
|
20
20
|
|
21
21
|
validates :registration_terms, translatable_presence: true, if: ->(form) { form.registrations_enabled? }
|
22
22
|
validates :available_slots, :reserved_slots, presence: true, if: ->(form) { form.registrations_enabled? }
|
@@ -6,29 +6,17 @@
|
|
6
6
|
}
|
7
7
|
|
8
8
|
&__calendar {
|
9
|
-
@apply
|
9
|
+
@apply order-first flex flex-col min-w-48 rounded bg-background text-center md:w-14;
|
10
10
|
|
11
11
|
&:only-child &-month {
|
12
12
|
@apply rounded-t;
|
13
13
|
}
|
14
14
|
|
15
15
|
&-container {
|
16
|
-
@apply
|
16
|
+
@apply flex flex-wrap flex-col md:flex-row gap-2 border-4 border-background rounded;
|
17
17
|
|
18
|
-
|
19
|
-
@apply
|
20
|
-
|
21
|
-
&:not(:last-child) {
|
22
|
-
@apply col-span-2 md:col-auto order-2 md:order-1;
|
23
|
-
}
|
24
|
-
|
25
|
-
&:last-child {
|
26
|
-
@apply md:col-span-2 pr-4;
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
> *:nth-child(3) {
|
31
|
-
@apply order-1 md:order-2 h-[135px] md:h-full;
|
18
|
+
ul {
|
19
|
+
@apply flex-1 p-2;
|
32
20
|
}
|
33
21
|
}
|
34
22
|
|
@@ -55,7 +43,7 @@
|
|
55
43
|
}
|
56
44
|
|
57
45
|
&__lg {
|
58
|
-
@apply
|
46
|
+
@apply flex min-w-48;
|
59
47
|
}
|
60
48
|
|
61
49
|
&__lg &-month {
|
@@ -4,12 +4,17 @@ module Decidim
|
|
4
4
|
module Meetings
|
5
5
|
class Permissions < Decidim::DefaultPermissions
|
6
6
|
def permissions
|
7
|
-
return permission_action unless user
|
8
|
-
|
9
7
|
# Delegate the admin permission checks to the admin permissions class
|
10
8
|
return Decidim::Meetings::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin
|
11
9
|
return permission_action if permission_action.scope != :public
|
12
10
|
|
11
|
+
if permission_action.subject == :meeting && permission_action.action == :read
|
12
|
+
toggle_allow(!meeting&.hidden? && meeting&.current_user_can_visit_meeting?(user))
|
13
|
+
return permission_action
|
14
|
+
end
|
15
|
+
|
16
|
+
return permission_action unless user
|
17
|
+
|
13
18
|
case permission_action.subject
|
14
19
|
when :answer
|
15
20
|
case permission_action.action
|
@@ -74,7 +74,7 @@ module Decidim
|
|
74
74
|
return unless meeting
|
75
75
|
|
76
76
|
handle_locales(meeting.registration_email_custom_content, all_locales) do |content|
|
77
|
-
renderer = Decidim::ContentRenderers::HashtagRenderer.new(
|
77
|
+
renderer = Decidim::ContentRenderers::HashtagRenderer.new(decidim_sanitize_editor_admin(content))
|
78
78
|
renderer.render(links:).html_safe
|
79
79
|
end
|
80
80
|
end
|
@@ -135,10 +135,6 @@ module Decidim
|
|
135
135
|
|
136
136
|
proposals.map.with_index { |proposal, index| "#{index + 1}) #{proposal.title}\n" }
|
137
137
|
end
|
138
|
-
|
139
|
-
def sanitized(content)
|
140
|
-
decidim_sanitize_editor(content)
|
141
|
-
end
|
142
138
|
end
|
143
139
|
end
|
144
140
|
end
|
@@ -4,13 +4,12 @@ $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
10
|
var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.result).to_json.html_safe %>');
|
14
11
|
controller.clearMarkers();
|
15
|
-
|
12
|
+
if (markerData.length > 0){
|
13
|
+
controller.addMarkers(markerData);
|
14
|
+
}
|
16
15
|
}
|
data/config/locales/ar.yml
CHANGED
@@ -205,7 +205,6 @@ ar:
|
|
205
205
|
attachment_collections: المجلدات
|
206
206
|
attachments: مرفقات
|
207
207
|
close: قريب
|
208
|
-
confirm_destroy: هل أنت متأكد أنك تريد حذف هذا الاجتماع؟
|
209
208
|
destroy: حذف
|
210
209
|
edit: تعديل
|
211
210
|
invalid_destroy:
|
@@ -465,6 +464,9 @@ ar:
|
|
465
464
|
see_all: عرض كافة الاجتماعات
|
466
465
|
see_all_withdrawn: عرض جميع الاجتماعات المسحوبة
|
467
466
|
text_banner: أنت تستعرض قائمة الاجتماعات التي تم سحبها من قبل مؤلفيها. %{go_back_link}.
|
467
|
+
meeting:
|
468
|
+
close_meeting: اجتماع قريب
|
469
|
+
edit_meeting: تعديل الاجتماعات
|
468
470
|
meetings:
|
469
471
|
upcoming_meetings_warning: حاليًا ، لا توجد اجتماعات مجدولة ، ولكن يمكنك هنا العثور على جميع الاجتماعات السابقة المدرجة.
|
470
472
|
new:
|
data/config/locales/bg.yml
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
bn:
|
data/config/locales/ca.yml
CHANGED
@@ -533,7 +533,7 @@ ca:
|
|
533
533
|
see_all_withdrawn: Veure totes les trobades cancel·lades
|
534
534
|
text_banner: Estàs veient un llistat de trobades cancel·lades per les seves autores. %{go_back_link}.
|
535
535
|
meeting:
|
536
|
-
close_meeting: Tancar
|
536
|
+
close_meeting: Tancar trobada
|
537
537
|
edit_close_meeting: Editar l'informe de la trobada
|
538
538
|
edit_meeting: Editar la trobada
|
539
539
|
join_meeting: Unir-se a la trobada
|
data/config/locales/cs.yml
CHANGED
@@ -116,7 +116,7 @@ cs:
|
|
116
116
|
'false': Minulé
|
117
117
|
'true': Nadcházející
|
118
118
|
scope_id_eq:
|
119
|
-
label:
|
119
|
+
label: Rozsah
|
120
120
|
with_any_origin:
|
121
121
|
label: Původ
|
122
122
|
values:
|
@@ -153,6 +153,7 @@ cs:
|
|
153
153
|
actions:
|
154
154
|
comment: Komentář
|
155
155
|
join: Přidat se
|
156
|
+
reply_poll: Odpověď ankety
|
156
157
|
name: Setkání
|
157
158
|
settings:
|
158
159
|
global:
|
@@ -165,7 +166,7 @@ cs:
|
|
165
166
|
maps_enabled: Mapy povoleny
|
166
167
|
registration_code_enabled: Registrační kód povolen
|
167
168
|
resources_permissions_enabled: Nastavení oprávnění lze nastavit pro každou schůzku
|
168
|
-
scope_id:
|
169
|
+
scope_id: Rozsah
|
169
170
|
scopes_enabled: Oblasti působnosti povoleny
|
170
171
|
terms_and_conditions_url_for_meeting_creators: URL pro Zásady a podmínky ke schůzce tvůrců
|
171
172
|
step:
|
@@ -240,7 +241,7 @@ cs:
|
|
240
241
|
attachment_collections: Složky
|
241
242
|
attachments: Přílohy
|
242
243
|
close: Zavřít
|
243
|
-
confirm_destroy: Opravdu chcete tuto
|
244
|
+
confirm_destroy: Opravdu chcete smazat tuto schůzi?
|
244
245
|
destroy: Odstranit
|
245
246
|
edit: Upravit
|
246
247
|
invalid_destroy:
|
@@ -546,7 +547,7 @@ cs:
|
|
546
547
|
see_all_withdrawn: Zobrazit všechny stažené schůzky
|
547
548
|
text_banner: Zobrazujete seznam schůzek stažených jejich autory. %{go_back_link}.
|
548
549
|
meeting:
|
549
|
-
close_meeting:
|
550
|
+
close_meeting: Zavřete schůzku
|
550
551
|
edit_close_meeting: Upravit zprávu schůzky
|
551
552
|
edit_meeting: Upravit schůzku
|
552
553
|
join_meeting: Připojit se ke schůzce
|