decidim-conferences 0.29.1 → 0.29.3

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/app/forms/decidim/conferences/admin/conference_form.rb +4 -4
  3. data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -1
  4. data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -1
  5. data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +9 -5
  6. data/app/permissions/decidim/conferences/permissions.rb +8 -0
  7. data/app/views/decidim/conferences/admin/media_links/new.html.erb +1 -1
  8. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +10 -6
  9. data/app/views/layouts/decidim/diploma.html.erb +1 -1
  10. data/config/initializers/wicked_pdf.rb +0 -1
  11. data/config/locales/ar.yml +2 -21
  12. data/config/locales/bg.yml +0 -21
  13. data/config/locales/bn-BD.yml +1 -0
  14. data/config/locales/bs-BA.yml +14 -0
  15. data/config/locales/ca-IT.yml +603 -0
  16. data/config/locales/ca.yml +13 -11
  17. data/config/locales/cs.yml +15 -13
  18. data/config/locales/de.yml +14 -12
  19. data/config/locales/el.yml +0 -21
  20. data/config/locales/en.yml +21 -19
  21. data/config/locales/es-MX.yml +14 -12
  22. data/config/locales/es-PY.yml +17 -15
  23. data/config/locales/es.yml +10 -8
  24. data/config/locales/eu.yml +182 -180
  25. data/config/locales/fi-plain.yml +15 -13
  26. data/config/locales/fi.yml +21 -19
  27. data/config/locales/fr-CA.yml +15 -13
  28. data/config/locales/fr.yml +15 -13
  29. data/config/locales/gl.yml +0 -21
  30. data/config/locales/hu.yml +0 -21
  31. data/config/locales/id-ID.yml +0 -21
  32. data/config/locales/it.yml +0 -21
  33. data/config/locales/ja.yml +12 -10
  34. data/config/locales/lb.yml +0 -19
  35. data/config/locales/lt.yml +0 -21
  36. data/config/locales/lv.yml +0 -21
  37. data/config/locales/nl.yml +0 -21
  38. data/config/locales/no.yml +0 -21
  39. data/config/locales/pl.yml +0 -21
  40. data/config/locales/pt-BR.yml +0 -21
  41. data/config/locales/pt.yml +0 -21
  42. data/config/locales/ro-RO.yml +15 -12
  43. data/config/locales/sk.yml +0 -21
  44. data/config/locales/sv.yml +72 -21
  45. data/config/locales/tr-TR.yml +0 -21
  46. data/config/locales/zh-CN.yml +0 -21
  47. data/config/locales/zh-TW.yml +0 -21
  48. data/decidim-conferences.gemspec +1 -5
  49. data/lib/decidim/conferences/version.rb +1 -1
  50. metadata +14 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 874dda5c327e8a021003d3f4c6fce3519802828a2f8af2408fc806b2f39f85d1
4
- data.tar.gz: 16b2bddb2f547b8325a93f271e519b088ed680ba6262b1e61ca0ef321e983268
3
+ metadata.gz: b056fcba0fa3cf922a47542bc71c71d9000bf744e4fd7189f54c6ca54a5c58ed
4
+ data.tar.gz: 76ee0e478c2ed479a0fd864c0bb16fbc20e08f65e9592fd283b89ca6da6ca56c
5
5
  SHA512:
6
- metadata.gz: 3732c3a0de5f2c16804e7543a0d52adcea2bb4b1a5b25bed781531b63017d65806bad68c3af2dd948620ef4d86b6372f04b3baa2a0c7c01f6184d07ef7a2b524
7
- data.tar.gz: add5c2207039d98a6cdf1e75ea0811830949da0352bf7f27c3a9f09c3b7506bed79ad19a9784c7249f156621a6b150e8ce1bf38abc66babda023042344a7da6d
6
+ metadata.gz: ae34397a1453be305b6c19f31a14d752f0c43d997d36b1ba5d75a2ccbba3f2c405de80368c970fe2d707a621a11c4db27e4506ba04b5d1b80776c09873659271
7
+ data.tar.gz: 7bad3148ab40489e8b06ef2044247c0e33e8027e2a8b9f1cc00d09e5f5b431d466ab2ec807c063352332d7cada14136906b5b2c134290228214e4af7d35556db
@@ -12,10 +12,10 @@ module Decidim
12
12
 
13
13
  translatable_attribute :title, String
14
14
  translatable_attribute :slogan, String
15
- translatable_attribute :short_description, String
16
- translatable_attribute :description, String
17
- translatable_attribute :objectives, String
18
- translatable_attribute :registration_terms, String
15
+ translatable_attribute :short_description, Decidim::Attributes::RichText
16
+ translatable_attribute :description, Decidim::Attributes::RichText
17
+ translatable_attribute :objectives, Decidim::Attributes::RichText
18
+ translatable_attribute :registration_terms, Decidim::Attributes::RichText
19
19
 
20
20
  mimic :conference
21
21
 
@@ -10,7 +10,7 @@ module Decidim
10
10
 
11
11
  translatable_attribute :position, String
12
12
  translatable_attribute :affiliation, String
13
- translatable_attribute :short_bio, String
13
+ translatable_attribute :short_bio, Decidim::Attributes::RichText
14
14
 
15
15
  mimic :conference_speaker
16
16
 
@@ -11,7 +11,7 @@ module Decidim
11
11
  mimic :conference_registration_type
12
12
 
13
13
  translatable_attribute :title, String
14
- translatable_attribute :description, String
14
+ translatable_attribute :description, Decidim::Attributes::RichText
15
15
 
16
16
  attribute :weight, Integer
17
17
  attribute :price, Decimal
@@ -33,14 +33,18 @@ module Decidim
33
33
  private
34
34
 
35
35
  def add_diploma_attachment
36
- diploma = WickedPdf.new.pdf_from_string(
36
+ diploma = WickedPdf.new.pdf_from_string(pdf_content, orientation: "Landscape")
37
+
38
+ attachments["conference-#{@user.nickname.parameterize}-diploma.pdf"] = diploma
39
+ end
40
+
41
+ def pdf_content
42
+ Premailer.new(
37
43
  render_to_string(pdf: "conference-diploma",
38
44
  template: "decidim/conferences/admin/send_conference_diploma_mailer/diploma_user",
39
45
  layout: "decidim/diploma"),
40
- orientation: "Landscape"
41
- )
42
-
43
- attachments["conference-#{@user.nickname.parameterize}-diploma.pdf"] = diploma
46
+ with_html_string: true
47
+ ).to_inline_css
44
48
  end
45
49
  end
46
50
  end
@@ -3,6 +3,8 @@
3
3
  module Decidim
4
4
  module Conferences
5
5
  class Permissions < Decidim::DefaultPermissions
6
+ include Decidim::UserRoleChecker
7
+
6
8
  def permissions
7
9
  user_can_enter_space_area?
8
10
 
@@ -42,6 +44,7 @@ module Decidim
42
44
  user_can_export_conference_registrations?
43
45
  user_can_confirm_conference_registration?
44
46
  user_can_create_conference?
47
+ user_can_upload_images_in_conference?
45
48
 
46
49
  # org admins and space admins can do everything in the admin section
47
50
  org_admin_action?
@@ -314,6 +317,11 @@ module Decidim
314
317
  def conference
315
318
  @conference ||= context.fetch(:current_participatory_space, nil) || context.fetch(:conference, nil)
316
319
  end
320
+
321
+ # Checks of assigned admins can upload images in the conference
322
+ def user_can_upload_images_in_conference?
323
+ allow! if user&.admin_terms_accepted? && user_has_any_role?(user, conference, broad_check: true) && (permission_action.subject == :editor_image)
324
+ end
317
325
  end
318
326
  end
319
327
  end
@@ -1,7 +1,7 @@
1
1
  <% add_decidim_page_title(t("media_links.new.title", scope: "decidim.admin")) %>
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
- <%= t("conference_speakers.new.title", scope: "decidim.admin") %>
4
+ <%= t("media_links.new.title", scope: "decidim.admin") %>
5
5
  </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
@@ -2,9 +2,12 @@
2
2
  <div class="diploma__border">
3
3
  <div class="diploma__content">
4
4
  <div>
5
- <div class="diploma__logo">
6
- <%= wicked_pdf_image_tag @conference.attached_uploader(:main_logo).variant_url(:thumb) %>
7
- </div>
5
+ <% logo = @conference.attached_uploader(:main_logo).variant(:thumb) %>
6
+ <% if logo %>
7
+ <div class="diploma__logo">
8
+ <%= image_tag "data:#{logo.blob.content_type};base64, #{Base64.encode64(logo.download.presence || "")}" %>
9
+ </div>
10
+ <% end %>
8
11
  <div class="diploma__name">
9
12
  <h2><strong><%= translated_attribute(@conference.title) %></strong></h2>
10
13
  <h3><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance") %></h3>
@@ -13,9 +16,10 @@
13
16
  <hr>
14
17
  <div class="diploma__attendance">
15
18
  <strong><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.attendance_verified_by") %></strong>
16
- <div>
17
- <%= wicked_pdf_image_tag @conference.attached_uploader(:signature).variant_url(:thumb) %>
18
- </div>
19
+ <% signature = @conference.attached_uploader(:signature).variant(:thumb) %>
20
+ <% if signature %>
21
+ <div><%= image_tag "data:#{signature.blob.content_type};base64, #{Base64.encode64(signature.download.presence || "")}" %></div>
22
+ <% end %>
19
23
  <%= l(@conference.sign_date, format: :decidim_short) %>, <%= @conference.signature_name %>
20
24
  </div>
21
25
  </div>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
5
  <meta name="viewport" content="width=device-width">
6
- <%= wicked_pdf_stylesheet_pack_tag "decidim_conference_diploma" %>
6
+ <%= stylesheet_pack_tag "decidim_conference_diploma" %>
7
7
  </head>
8
8
  <body>
9
9
  <%= yield %>
@@ -15,7 +15,6 @@ WickedPdf.configure do |config|
15
15
  # one of the wkhtmltopdf-binary family of gems.
16
16
  # or
17
17
  # config.exe_path = '/usr/local/bin/wkhtmltopdf',
18
- config.exe_path = Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
19
18
 
20
19
  # Layout file to be used for all PDFs
21
20
  # (but can be overridden in `render :pdf` calls)
@@ -63,6 +63,8 @@ ar:
63
63
  email: البريد الإلكتروني
64
64
  name: اسم
65
65
  role: وظيفة
66
+ partner:
67
+ logo: الشعار
66
68
  activerecord:
67
69
  models:
68
70
  decidim/conference:
@@ -116,13 +118,11 @@ ar:
116
118
  destroy:
117
119
  success: تم حذف رئيس المؤتمر بنجاح.
118
120
  edit:
119
- title: تحديث المتحدث المؤتمر.
120
121
  update: تحديث
121
122
  index:
122
123
  conference_speakers_title: المتحدثون في المؤتمر
123
124
  new:
124
125
  create: إنشاء
125
- title: رئيس المؤتمر الجديد.
126
126
  update:
127
127
  error: حدثت مشكلة أثناء تحديث متحدث المؤتمر هذا.
128
128
  success: تم تحديث مكبر صوت المؤتمر بنجاح.
@@ -133,11 +133,9 @@ ar:
133
133
  destroy:
134
134
  success: تمت إزالة مسؤول المؤتمر بنجاح.
135
135
  edit:
136
- title: تحديث مسؤول المؤتمر.
137
136
  update: تحديث
138
137
  new:
139
138
  create: إنشاء
140
- title: مشرف المؤتمر الجديد.
141
139
  update:
142
140
  error: حدثت مشكلة أثناء تحديث مشرف المؤتمر هذا.
143
141
  success: تم تحديث مشرف المؤتمر بنجاح.
@@ -166,20 +164,12 @@ ar:
166
164
  media_links:
167
165
  create:
168
166
  error: حدثت مشكلة أثناء إنشاء رابط وسائط جديد.
169
- success: تم إنشاء رابط الوسائط بنجاح.
170
- destroy:
171
- success: تم حذف رابط الوسائط بنجاح.
172
167
  edit:
173
- title: تحديث رابط الوسائط.
174
168
  update: تحديث
175
- index:
176
- media_links_title: روابط الوسائط
177
169
  new:
178
170
  create: إنشاء
179
- title: وصلة الوسائط
180
171
  update:
181
172
  error: حدثت مشكلة أثناء تحديث رابط الوسائط هذا.
182
- success: تم تحديث رابط الوسائط بنجاح.
183
173
  menu:
184
174
  conferences: المؤتمرات
185
175
  conferences_submenu:
@@ -191,14 +181,10 @@ ar:
191
181
  conference_admins: المشرفون على المؤتمر
192
182
  conference_invites: تدعو
193
183
  conference_speakers: مكبرات الصوت
194
- diploma: شهادة حضور
195
184
  info: عن هذا المؤتمر
196
- media_links: روابط الوسائط
197
185
  moderations: الإعتدال
198
186
  partners: شركاء
199
- registration_types: أنواع التسجيل
200
187
  registrations: التسجيلات
201
- user_registrations: تسجيلات المستخدم
202
188
  models:
203
189
  conference:
204
190
  fields:
@@ -227,7 +213,6 @@ ar:
227
213
  date: تاريخ
228
214
  link: حلقة الوصل
229
215
  title: عنوان
230
- name: وصلة الوسائط
231
216
  partner:
232
217
  fields:
233
218
  link: حلقة الوصل
@@ -253,7 +238,6 @@ ar:
253
238
  destroy:
254
239
  success: تمت إزالة شريك المؤتمر بنجاح.
255
240
  edit:
256
- title: تحديث شريك.
257
241
  update: تحديث
258
242
  new:
259
243
  create: إنشاء
@@ -275,7 +259,6 @@ ar:
275
259
  destroy:
276
260
  success: تمت إزالة نوع تسجيل المؤتمر بنجاح.
277
261
  edit:
278
- title: تحديث نوع التسجيل.
279
262
  update: تحديث
280
263
  new:
281
264
  create: إنشاء
@@ -365,7 +348,6 @@ ar:
365
348
  diplomas:
366
349
  edit:
367
350
  save: حفظ
368
- title: شهادة حضور
369
351
  invite_join_conference_mailer:
370
352
  invite:
371
353
  decline: رفض الدعوة "%{conference_title}"
@@ -384,7 +366,6 @@ ar:
384
366
  diploma_html: ستجد شهادة حضور المؤتمر <a href="%{url}">%{title}</a> في المرفقات.
385
367
  diploma_user:
386
368
  attendance_verified_by: تم التحقق من الحضور بواسطة
387
- certificate_of_attendance: شهادة حضور
388
369
  certificate_of_attendance_description: هذا هو التأكيد على أن <strong>%{user}</strong> قد حضر وشارك في <strong>%{title}</strong> الذي عقد في <strong>%{location}</strong> في <strong>%{start} - %{end}</strong>
389
370
  send_diploma:
390
371
  error: حدثت مشكلة أثناء إرسال شهادات حضور المؤتمر.
@@ -120,13 +120,11 @@ bg:
120
120
  destroy:
121
121
  success: Говорителят на конференцията беше изтрит успешно.
122
122
  edit:
123
- title: Актуализиране на говорителя на конференцията.
124
123
  update: Актуализация
125
124
  index:
126
125
  conference_speakers_title: Говорители на конференция
127
126
  new:
128
127
  create: Създаване
129
- title: Нов говорител на конференция.
130
128
  publish:
131
129
  invalid: Възникна проблем при публикуването на този говорител.
132
130
  success: Лекторът на конференцията е публикуван успешно.
@@ -143,13 +141,11 @@ bg:
143
141
  destroy:
144
142
  success: Администраторът на конференцията беше премахнат успешно.
145
143
  edit:
146
- title: Актуализиране на администратора на конференцията.
147
144
  update: Актуализация
148
145
  index:
149
146
  conference_admins_title: Администратори на конференция
150
147
  new:
151
148
  create: Създаване
152
- title: Нов администратор на конференция.
153
149
  update:
154
150
  error: Възникна проблем при актуализирането на този администратор на конференцията.
155
151
  success: Администраторът на конференцията беше актуализиран успешно.
@@ -179,20 +175,12 @@ bg:
179
175
  media_links:
180
176
  create:
181
177
  error: Възникна проблем при създаването на нов медия линк.
182
- success: Медийният линк беше създаден успешно.
183
- destroy:
184
- success: Медийният линк беше изтрит успешно.
185
178
  edit:
186
- title: Актуализиране на медийния линк.
187
179
  update: Актуализация
188
- index:
189
- media_links_title: Медийни линкове
190
180
  new:
191
181
  create: Създаване
192
- title: Медия линк
193
182
  update:
194
183
  error: Възникна проблем при актуализирането на този медия линк.
195
- success: Медийният линк беше актуализиран успешно.
196
184
  menu:
197
185
  conferences: Конференции
198
186
  conferences_submenu:
@@ -204,15 +192,11 @@ bg:
204
192
  conference_admins: Администратори на конференция
205
193
  conference_invites: Покани
206
194
  conference_speakers: Говорители
207
- diploma: Сертификати за присъствие
208
195
  info: Относно тази конференция
209
- media_links: Медия линкове
210
196
  moderations: Модерации
211
197
  partners: Партньори
212
- registration_types: Типове регистрация
213
198
  registrations: Регистрации
214
199
  see_conference: Виз конференцията
215
- user_registrations: Потребителска регистрация
216
200
  models:
217
201
  conference:
218
202
  fields:
@@ -241,7 +225,6 @@ bg:
241
225
  date: Дата
242
226
  link: Линк
243
227
  title: Заглавие
244
- name: Медия линк
245
228
  partner:
246
229
  fields:
247
230
  link: Линк
@@ -267,7 +250,6 @@ bg:
267
250
  destroy:
268
251
  success: Партньорът за конференцията беше премахнат успешно.
269
252
  edit:
270
- title: Актуализиране на партньора.
271
253
  update: Актуализация
272
254
  new:
273
255
  create: Създаване
@@ -289,7 +271,6 @@ bg:
289
271
  destroy:
290
272
  success: Типът регистрация за конференцията беше премахнат успешно.
291
273
  edit:
292
- title: Актуализиране на типа на регистрацията.
293
274
  update: Актуализация
294
275
  new:
295
276
  create: Създаване
@@ -384,7 +365,6 @@ bg:
384
365
  diplomas:
385
366
  edit:
386
367
  save: Запази
387
- title: Сертификати за присъствие
388
368
  invite_join_conference_mailer:
389
369
  invite:
390
370
  decline: Отказ на поканата за „%{conference_title}“
@@ -404,7 +384,6 @@ bg:
404
384
  diploma_html: Ще намерите сертификата за присъствие на конференцията <a href="%{url}">%{title}</a> в прикачените файлове.
405
385
  diploma_user:
406
386
  attendance_verified_by: Присъствието е потвърдено от
407
- certificate_of_attendance: Сертификати за присъствие
408
387
  certificate_of_attendance_description: С настоящото се удостоверява, че <strong>%{user}</strong> посети и взе участие в(ъв) <strong>%{title}</strong>, <strong>%{location}</strong> на <strong>%{start} — %{end}</strong>
409
388
  send_diploma:
410
389
  error: Възникна проблем при изпращането на сертификатите за присъствие на конференцията.
@@ -0,0 +1 @@
1
+ bn:
@@ -0,0 +1,14 @@
1
+ ---
2
+ bs:
3
+ decidim:
4
+ admin:
5
+ models:
6
+ conference_user_role:
7
+ roles:
8
+ valuator: Procenjivač
9
+ events:
10
+ conferences:
11
+ role_assigned:
12
+ email_intro: Imenovani ste na funkciju %{role} konferencije %{resource_title}.
13
+ email_outro: Dobili ste ovo obaveštenje zbog toga što ste %{role} konferencije %{resource_title}.
14
+ email_subject: Imenovani ste na funkciju %{role} %{resource_title}.