decidim-conferences 0.28.5 → 0.29.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.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/conference_g_cell.rb +2 -2
  3. data/app/cells/decidim/conferences/conference_speaker_cell.rb +1 -1
  4. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_cell.rb +0 -2
  5. data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +0 -1
  6. data/app/cells/decidim/conferences/media_link/show.erb +1 -1
  7. data/app/cells/decidim/conferences/media_link_cell.rb +0 -3
  8. data/app/cells/decidim/conferences/partner/image.erb +1 -1
  9. data/app/cells/decidim/conferences/partner_cell.rb +1 -1
  10. data/app/cells/decidim/conferences/registration_type_cell.rb +1 -5
  11. data/app/commands/decidim/conferences/admin/create_conference.rb +20 -65
  12. data/app/commands/decidim/conferences/admin/create_conference_speaker.rb +17 -81
  13. data/app/commands/decidim/conferences/admin/create_media_link.rb +10 -44
  14. data/app/commands/decidim/conferences/admin/create_partner.rb +9 -62
  15. data/app/commands/decidim/conferences/admin/create_registration_type.rb +15 -51
  16. data/app/commands/decidim/conferences/admin/destroy_conference_speaker.rb +6 -38
  17. data/app/commands/decidim/conferences/admin/destroy_media_link.rb +6 -38
  18. data/app/commands/decidim/conferences/admin/destroy_partner.rb +6 -38
  19. data/app/commands/decidim/conferences/admin/destroy_registration_type.rb +6 -38
  20. data/app/commands/decidim/conferences/admin/publish_conference_speaker.rb +51 -0
  21. data/app/commands/decidim/conferences/admin/unpublish_conference_speaker.rb +44 -0
  22. data/app/commands/decidim/conferences/admin/update_conference.rb +35 -93
  23. data/app/commands/decidim/conferences/admin/update_conference_speaker.rb +17 -74
  24. data/app/commands/decidim/conferences/admin/update_media_link.rb +8 -44
  25. data/app/commands/decidim/conferences/admin/update_partner.rb +10 -61
  26. data/app/commands/decidim/conferences/admin/update_registration_type.rb +12 -47
  27. data/app/controllers/concerns/decidim/conferences/admin/conferences_invites/filterable.rb +41 -0
  28. data/app/controllers/decidim/conferences/admin/conference_invites_controller.rb +8 -3
  29. data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +33 -1
  30. data/app/controllers/decidim/conferences/admin/conferences_controller.rb +1 -1
  31. data/app/controllers/decidim/conferences/admin/media_links_controller.rb +1 -1
  32. data/app/controllers/decidim/conferences/admin/partners_controller.rb +1 -1
  33. data/app/controllers/decidim/conferences/admin/registration_types_controller.rb +1 -1
  34. data/app/controllers/decidim/conferences/application_controller.rb +4 -1
  35. data/app/controllers/decidim/conferences/conference_program_controller.rb +1 -2
  36. data/app/controllers/decidim/conferences/conference_speakers_controller.rb +1 -4
  37. data/app/controllers/decidim/conferences/conferences_controller.rb +1 -4
  38. data/app/controllers/decidim/conferences/media_controller.rb +1 -4
  39. data/app/controllers/decidim/conferences/registration_types_controller.rb +0 -3
  40. data/app/events/decidim/conferences/conference_role_assigned_event.rb +0 -5
  41. data/app/forms/decidim/conferences/admin/conference_form.rb +5 -5
  42. data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -1
  43. data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -1
  44. data/app/helpers/decidim/conferences/conference_helper.rb +2 -1
  45. data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +5 -9
  46. data/app/models/decidim/conference.rb +2 -2
  47. data/app/models/decidim/conference_speaker.rb +2 -0
  48. data/app/permissions/decidim/conferences/permissions.rb +2 -2
  49. data/app/presenters/decidim/conferences/admin_log/conference_speaker_presenter.rb +2 -1
  50. data/app/views/decidim/conferences/admin/conference_invites/_form.html.erb +5 -5
  51. data/app/views/decidim/conferences/admin/conference_invites/index.html.erb +1 -33
  52. data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +2 -4
  53. data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +11 -1
  54. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +1 -1
  55. data/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb +1 -1
  56. data/app/views/decidim/conferences/admin/media_links/index.html.erb +1 -1
  57. data/app/views/decidim/conferences/admin/media_links/new.html.erb +1 -1
  58. data/app/views/decidim/conferences/admin/partners/index.html.erb +3 -3
  59. data/app/views/decidim/conferences/admin/registration_types/index.html.erb +1 -1
  60. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +7 -11
  61. data/app/views/decidim/conferences/conference_program/_program_item.html.erb +1 -1
  62. data/app/views/decidim/conferences/conference_speakers/index.html.erb +1 -0
  63. data/app/views/decidim/conferences/conferences/_conference_hero.html.erb +1 -1
  64. data/app/views/decidim/conferences/conferences/show.html.erb +5 -3
  65. data/app/views/decidim/conferences/media/index.html.erb +1 -0
  66. data/app/views/decidim/conferences/registration_types/index.html.erb +2 -1
  67. data/app/views/devise/mailer/join_conference.html.erb +1 -1
  68. data/app/views/devise/mailer/join_conference.text.erb +1 -1
  69. data/app/views/layouts/decidim/diploma.html.erb +1 -1
  70. data/config/initializers/wicked_pdf.rb +6 -4
  71. data/config/locales/ar.yml +21 -4
  72. data/config/locales/bg.yml +27 -6
  73. data/config/locales/ca.yml +18 -20
  74. data/config/locales/cs.yml +18 -21
  75. data/config/locales/de.yml +19 -21
  76. data/config/locales/el.yml +21 -6
  77. data/config/locales/en.yml +25 -27
  78. data/config/locales/es-MX.yml +18 -20
  79. data/config/locales/es-PY.yml +21 -23
  80. data/config/locales/es.yml +14 -16
  81. data/config/locales/eu.yml +169 -171
  82. data/config/locales/fi-plain.yml +17 -19
  83. data/config/locales/fi.yml +23 -25
  84. data/config/locales/fr-CA.yml +19 -21
  85. data/config/locales/fr.yml +19 -21
  86. data/config/locales/ga-IE.yml +0 -6
  87. data/config/locales/gl.yml +21 -4
  88. data/config/locales/hu.yml +21 -6
  89. data/config/locales/id-ID.yml +21 -4
  90. data/config/locales/it.yml +21 -4
  91. data/config/locales/ja.yml +17 -17
  92. data/config/locales/lb.yml +19 -6
  93. data/config/locales/lt.yml +21 -6
  94. data/config/locales/lv.yml +21 -6
  95. data/config/locales/nl.yml +21 -4
  96. data/config/locales/no.yml +21 -6
  97. data/config/locales/pl.yml +27 -6
  98. data/config/locales/pt-BR.yml +21 -51
  99. data/config/locales/pt.yml +21 -6
  100. data/config/locales/ro-RO.yml +12 -19
  101. data/config/locales/sk.yml +21 -6
  102. data/config/locales/sv.yml +52 -37
  103. data/config/locales/tr-TR.yml +21 -4
  104. data/config/locales/zh-CN.yml +21 -4
  105. data/config/locales/zh-TW.yml +21 -6
  106. data/db/migrate/20240613095855_add_published_at_to_conference_speakers.rb +7 -0
  107. data/decidim-conferences.gemspec +3 -2
  108. data/lib/decidim/api/conference_partner_type.rb +1 -1
  109. data/lib/decidim/api/conference_speaker_type.rb +1 -1
  110. data/lib/decidim/api/conference_type.rb +6 -2
  111. data/lib/decidim/conferences/admin_engine.rb +6 -1
  112. data/lib/decidim/conferences/engine.rb +1 -0
  113. data/lib/decidim/conferences/menu.rb +11 -0
  114. data/lib/decidim/conferences/seeds.rb +4 -22
  115. data/lib/decidim/conferences/test/factories.rb +5 -0
  116. data/lib/decidim/conferences/version.rb +1 -1
  117. metadata +33 -23
  118. data/app/cells/decidim/conference_activity_cell.rb +0 -10
  119. data/app/helpers/decidim/conferences/media_attachments_helper.rb +0 -19
  120. data/app/helpers/decidim/conferences/partners_helper.rb +0 -17
  121. data/app/uploaders/decidim/cw/conferences/diploma_uploader.rb +0 -14
  122. data/app/uploaders/decidim/cw/conferences/partner_logo_uploader.rb +0 -15
  123. data/app/views/layouts/decidim/conference.html.erb +0 -17
  124. data/config/locales/bn-BD.yml +0 -1
  125. data/config/locales/bs-BA.yml +0 -14
@@ -8,39 +8,7 @@
8
8
  </h1>
9
9
  </div>
10
10
 
11
- <%# NOTE: this old filters section should be refactorized in order to use the shared admin_filter_selector method
12
- it would require the definition of concerns similar to decidim-conferences/app/controllers/concerns/decidim/conferences/admin/filterable.rb %>
13
- <div class="filters__section">
14
- <div class="fcell">
15
- <ul class="dropdown menu" data-dropdown-menu data-close-on-click-inside="false">
16
- <li class="is-dropdown-submenu-parent">
17
- <a href="#" class="dropdown button">
18
- <%= t("filter_label", scope: "decidim.admin.filters") %>
19
- <%= icon "arrow-down-s-line", class: "dropdown-filter-icon" %>
20
- </a>
21
- <ul class="menu is-dropdown-submenu">
22
- <li><%= link_to t(".filter.sent"), url_for(status: "sent", q: @query) %></li>
23
- <li><%= link_to t(".filter.accepted"), url_for(status: "accepted", q: @query) %></li>
24
- <li><%= link_to t(".filter.rejected"), url_for(status: "rejected", q: @query) %></li>
25
- <li><%= link_to t(".filter.all"), url_for(q: @query) %></li>
26
- </ul>
27
- </li>
28
- </ul>
29
- </div>
30
- <div class="fcell search">
31
- <%= form_tag "", method: :get do %>
32
- <div class="input-group">
33
- <%= search_field_tag :q, @query,label: false, class: "input-group-field", placeholder: t(".search") %>
34
- <%= hidden_field_tag :state, @state %>
35
- <div class="input-group-button">
36
- <button type="submit" class="text-secondary" aria-label="<%= t("decidim.search.term_input_placeholder") %>">
37
- <%= icon "search-line", class: "fill-secondary w-4 h-4" %>
38
- </button>
39
- </div>
40
- </div>
41
- <% end %>
42
- </div>
43
- </div>
11
+ <%= admin_filter_selector %>
44
12
 
45
13
  <div class="table-scroll">
46
14
  <table class="table-list">
@@ -4,16 +4,14 @@
4
4
  <h1 class="item_show__header-title">
5
5
  <%= t(".registrations") %>
6
6
  <% if allowed_to? :export_conference_registrations, :conference, conference: conference %>
7
- <span class="exports button button__sm button__secondary button--simple button--title" data-toggle="export-dropdown">
7
+ <span class="exports button button__sm button__secondary button--title" data-toggle="export-dropdown">
8
8
  <%= t "actions.export", scope: "decidim.admin" %>
9
9
  <%= icon "arrow-down-s-line", class: "dropdown-filter-icon" %>
10
10
  </span>
11
11
  <div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
12
12
  <ul class="vertical menu add-components">
13
13
  <% %w(CSV JSON Excel).each do |format| %>
14
- <%= link_to export_conference_conference_registrations_path(conference_id: conference, format:) do %>
15
- <li class="exports--format--<%= format.downcase %> exports--registrations"><%= t("decidim.admin.exports.export_as", name: t("decidim.admin.conferences.exports.registrations"), export_format: format) %></li>
16
- <% end %>
14
+ <li class="exports--format--<%= format.downcase %> exports--registrations"><%= link_to t("decidim.admin.exports.export_as", name: t("decidim.admin.conferences.exports.registrations"), export_format: format), export_conference_conference_registrations_path(conference_id: conference, format:) %></li>
17
15
  <% end %>
18
16
  </ul>
19
17
  </div>
@@ -33,7 +33,7 @@
33
33
  <th><%= t("models.conference_speaker.fields.position", scope: "decidim.admin") %></th>
34
34
  <th><%= t("models.conference_speaker.fields.affiliation", scope: "decidim.admin") %></th>
35
35
 
36
- <th class="actions"></th>
36
+ <th></th>
37
37
  </tr>
38
38
  </thead>
39
39
  <tbody>
@@ -54,6 +54,16 @@
54
54
  <%= icon_link_to "pencil-line", edit_conference_speaker_path(current_conference, speaker), t("actions.edit", scope: "decidim.admin"), class: "action-icon--edit" %>
55
55
  <% end %>
56
56
 
57
+ <% if allowed_to? :update, :conference_speaker, speaker: speaker %>
58
+ <% if speaker.published? %>
59
+ <%= icon_link_to "close-circle-line", unpublish_conference_speaker_path(current_conference, speaker.id), t("actions.unpublish", scope: "decidim.admin"), method: :put, class: "action-icon--unpublish" %>
60
+ <% else %>
61
+ <%= icon_link_to "check-line", publish_conference_speaker_path(current_conference, speaker.id), t("actions.publish", scope: "decidim.admin"), method: :put, class: "action-icon--publish" %>
62
+ <% end %>
63
+ <% else %>
64
+ <span class="action-space icon"></span>
65
+ <% end %>
66
+
57
67
  <% if allowed_to? :destroy, :conference_speaker, speaker: speaker %>
58
68
  <%= icon_link_to "delete-bin-line", conference_speaker_path(current_conference, speaker), t("actions.destroy", scope: "decidim.admin"), class: "action-icon--remove", method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } %>
59
69
  <% end %>
@@ -18,7 +18,7 @@
18
18
  <th><%= sort_link(query, :last_sign_in_at, t("models.user.fields.last_sign_in_at", scope: "decidim.admin"), default_order: :desc) %></th>
19
19
  <th><%= sort_link(query, :invitation_accepted_at, t("models.user.fields.invitation_accepted_at", scope: "decidim.admin"), default_order: :desc) %></th>
20
20
  <th><%= sort_link(query, :role, t("models.conference_user_role.fields.role", scope: "decidim.admin"), default_order: :desc) %></th>
21
- <th class="actions"></th>
21
+ <th></th>
22
22
  </tr>
23
23
  </thead>
24
24
  <tbody>
@@ -1,7 +1,7 @@
1
1
  <p class="email-greeting"><%= t("devise.mailer.invitation_instructions.hello", email: @user.name) %></p>
2
2
 
3
3
  <p class="email-instructions">
4
- <%= t ".invited_existing_user_to_join_a_conference", invited_by: @invited_by.name, application: @user.organization.name %>
4
+ <%= t ".invited_existing_user_to_join_a_conference", invited_by: @invited_by.name, application: organization_name(@user.organization) %>
5
5
  </p>
6
6
 
7
7
  <p class="email-button email-button__cta cta-decline">
@@ -16,7 +16,7 @@
16
16
  <th><%= t("models.media_link.fields.link", scope: "decidim.admin") %></th>
17
17
  <th><%= t("models.media_link.fields.date", scope: "decidim.admin") %></th>
18
18
 
19
- <th class="actions"></th>
19
+ <th></th>
20
20
  </tr>
21
21
  </thead>
22
22
  <tbody>
@@ -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("media_links.new.title", scope: "decidim.admin") %>
4
+ <%= t("conference_speakers.new.title", scope: "decidim.admin") %>
5
5
  </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
@@ -17,7 +17,7 @@
17
17
  <th><%= t("models.partner.fields.link", scope: "decidim.admin") %></th>
18
18
  <th><%= t("models.partner.fields.logo", scope: "decidim.admin") %></th>
19
19
 
20
- <th class="actions"></th>
20
+ <th></th>
21
21
  </tr>
22
22
  </thead>
23
23
  <tbody>
@@ -35,8 +35,8 @@
35
35
  <% end %>
36
36
  </td>
37
37
  <td>
38
- <% if partner.logo.attached? %>
39
- <%= image_tag(partner.attached_uploader(:logo).variant_url(:thumb)) %>
38
+ <% if partner.attached_uploader(:logo).path %>
39
+ <%= image_tag(partner.attached_uploader(:logo).path(variant: :thumb)) %>
40
40
  <% end %>
41
41
  </td>
42
42
  <td class="table-list__actions">
@@ -17,7 +17,7 @@
17
17
  <th><%= t("models.registration_type.fields.weight", scope: "decidim.admin") %></th>
18
18
  <th><%= t("models.registration_type.fields.conference_meetings", scope: "decidim.admin") %></th>
19
19
  <th><%= t("models.registration_type.fields.registrations_count", scope: "decidim.admin") %></th>
20
- <th class="actions"></th>
20
+ <th></th>
21
21
  </tr>
22
22
  </thead>
23
23
  <tbody>
@@ -2,24 +2,20 @@
2
2
  <div class="diploma__border">
3
3
  <div class="diploma__content">
4
4
  <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 %>
5
+ <div class="diploma__logo">
6
+ <%= wicked_pdf_image_tag @conference.attached_uploader(:main_logo).url(variant: :thumb, host: @conference.organization.host) %>
7
+ </div>
11
8
  <div class="diploma__name">
12
9
  <h2><strong><%= translated_attribute(@conference.title) %></strong></h2>
13
10
  <h3><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance") %></h3>
14
11
  <p><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance_description", user: @user.name, title: translated_attribute(@conference.title), location: @conference.location, start: l(@conference.start_date, format: :decidim_short), end: l(@conference.end_date, format: :decidim_short) ).html_safe %></p>
15
12
  </div>
16
- <hr class="mt-m mb-m">
13
+ <hr>
17
14
  <div class="diploma__attendance">
18
15
  <strong><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.attendance_verified_by") %></strong>
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 %>
16
+ <div>
17
+ <%= wicked_pdf_image_tag @conference.attached_uploader(:signature).url(variant: :thumb, host: @conference.organization.host) %>
18
+ </div>
23
19
  <%= l(@conference.sign_date, format: :decidim_short) %>, <%= @conference.signature_name %>
24
20
  </div>
25
21
  </div>
@@ -1,7 +1,7 @@
1
1
  <% if meetings.present? %>
2
2
  <div class="conference__program-item">
3
3
  <div class="conference__program-time">
4
- <%= start_time.to_s(:time) %> - <%= end_time.to_s(:time) %>
4
+ <%= start_time.to_fs(:time) %> - <%= end_time.to_fs(:time) %>
5
5
  </div>
6
6
  <div>
7
7
  <% categories = meetings.map(&:category).uniq %>
@@ -1,4 +1,5 @@
1
1
  <% add_decidim_meta_tags(title: t("conference_speakers.index.title", scope: "decidim")) %>
2
+ <% add_decidim_page_title(translated_attribute(current_participatory_space.title)) %>
2
3
 
3
4
  <%
4
5
  edit_link(
@@ -1,4 +1,4 @@
1
- <section style="background-image:url('<%= current_participatory_space.attached_uploader(:banner_image).url %>');" data-conference-hero>
1
+ <section style="background-image:url('<%= current_participatory_space.attached_uploader(:banner_image).path %>');" data-conference-hero>
2
2
  <div class="conference__hero">
3
3
  <div class="conference__hero-text">
4
4
  <h1 class="h1 text-5xl">
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_meta_tags({
2
- image_url: current_participatory_space.attached_uploader(:hero_image).url,
2
+ title: translated_attribute(current_participatory_space.title),
3
+ image_url: current_participatory_space.attached_uploader(:hero_image).path,
3
4
  description: translated_attribute(current_participatory_space.short_description),
4
- url: conference_url(current_participatory_space),
5
- twitter_handler: current_organization.twitter_handler
5
+ url: conference_url(current_participatory_space)
6
6
  }) %>
7
7
 
8
8
  <%
@@ -14,6 +14,8 @@ edit_link(
14
14
  )
15
15
  %>
16
16
 
17
+ <%= render partial: "layouts/decidim/header/follow_space_menu_bar_button", locals: { participatory_space: current_participatory_space } %>
18
+
17
19
  <%# NOTE: This page is wrapped within a main tag, in order to
18
20
  include the hero inside the two-column layout.
19
21
  Therefore is mandatory to pass the "main_enabled: false" flag
@@ -1,4 +1,5 @@
1
1
  <% add_decidim_meta_tags(title: t("media.index.title", scope: "decidim")) %>
2
+ <% add_decidim_page_title(translated_attribute(current_participatory_space.title)) %>
2
3
 
3
4
  <%
4
5
  edit_link(
@@ -1,4 +1,5 @@
1
1
  <% add_decidim_meta_tags(title: t("registration_types.index.title", scope: "decidim.conferences")) %>
2
+ <% add_decidim_page_title(translated_attribute(current_participatory_space.title)) %>
2
3
 
3
4
  <%
4
5
  edit_link(
@@ -15,7 +16,7 @@ edit_link(
15
16
  <%# NOTE: this page does not use a regular layout %>
16
17
  <main class="container">
17
18
 
18
- <section class="section">
19
+ <section>
19
20
  <h1 class="title-decorator my-12">
20
21
  <span class="not-sr-only"><%= t("registration_types.index.register", scope: "decidim.conferences") %></span>
21
22
  <span class="sr-only"><%= t("registration_types.index.register", scope: "decidim.conferences") %> (<%= translated_attribute current_participatory_space.title %>)</span>
@@ -1,7 +1,7 @@
1
1
  <p class="email-greeting"><%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %></p>
2
2
 
3
3
  <p class="email-instructions">
4
- <%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
4
+ <%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: organization_name(@user.organization)) %>
5
5
  </p>
6
6
 
7
7
  <p class="email-button email-button__cta"><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_registration_type_conference_registration_path(conference_slug: @opts[:conference], registration_type_id: @opts[:registration_type]), host: @resource.organization.host) %></p>
@@ -1,6 +1,6 @@
1
1
  <%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %>
2
2
 
3
- <%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_existing_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
3
+ <%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_existing_user_to_join_a_conference", invited_by: @resource.invited_by.name, application: organization_name(@user.organization)) %>
4
4
 
5
5
  <%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_registration_type_conference_registration_path(conference_slug: @opts[:conference], registration_type_id: @opts[:registration_type]), host: @resource.organization.host) %>
6
6
 
@@ -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
- <%= stylesheet_pack_tag "decidim_conference_diploma" %>
6
+ <%= wicked_pdf_stylesheet_pack_tag "decidim_conference_diploma" %>
7
7
  </head>
8
8
  <body>
9
9
  <%= yield %>
@@ -10,12 +10,14 @@
10
10
  #
11
11
  # https://github.com/mileszs/wicked_pdf/blob/master/README.md
12
12
 
13
- WickedPdf.config = {
13
+ WickedPdf.configure do |config|
14
14
  # Path to the wkhtmltopdf executable: This usually is not needed if using
15
15
  # one of the wkhtmltopdf-binary family of gems.
16
- # exe_path: '/usr/local/bin/wkhtmltopdf',
16
+ # or
17
+ # config.exe_path = '/usr/local/bin/wkhtmltopdf',
18
+ config.exe_path = Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
17
19
 
18
20
  # Layout file to be used for all PDFs
19
21
  # (but can be overridden in `render :pdf` calls)
20
- # layout: 'pdf.html',
21
- }
22
+ # config.layout = 'pdf.html'
23
+ end
@@ -116,11 +116,13 @@ ar:
116
116
  destroy:
117
117
  success: تم حذف رئيس المؤتمر بنجاح.
118
118
  edit:
119
+ title: تحديث المتحدث المؤتمر.
119
120
  update: تحديث
120
121
  index:
121
122
  conference_speakers_title: المتحدثون في المؤتمر
122
123
  new:
123
124
  create: إنشاء
125
+ title: رئيس المؤتمر الجديد.
124
126
  update:
125
127
  error: حدثت مشكلة أثناء تحديث متحدث المؤتمر هذا.
126
128
  success: تم تحديث مكبر صوت المؤتمر بنجاح.
@@ -131,9 +133,11 @@ ar:
131
133
  destroy:
132
134
  success: تمت إزالة مسؤول المؤتمر بنجاح.
133
135
  edit:
136
+ title: تحديث مسؤول المؤتمر.
134
137
  update: تحديث
135
138
  new:
136
139
  create: إنشاء
140
+ title: مشرف المؤتمر الجديد.
137
141
  update:
138
142
  error: حدثت مشكلة أثناء تحديث مشرف المؤتمر هذا.
139
143
  success: تم تحديث مشرف المؤتمر بنجاح.
@@ -162,12 +166,20 @@ ar:
162
166
  media_links:
163
167
  create:
164
168
  error: حدثت مشكلة أثناء إنشاء رابط وسائط جديد.
169
+ success: تم إنشاء رابط الوسائط بنجاح.
170
+ destroy:
171
+ success: تم حذف رابط الوسائط بنجاح.
165
172
  edit:
173
+ title: تحديث رابط الوسائط.
166
174
  update: تحديث
175
+ index:
176
+ media_links_title: روابط الوسائط
167
177
  new:
168
178
  create: إنشاء
179
+ title: وصلة الوسائط
169
180
  update:
170
181
  error: حدثت مشكلة أثناء تحديث رابط الوسائط هذا.
182
+ success: تم تحديث رابط الوسائط بنجاح.
171
183
  menu:
172
184
  conferences: المؤتمرات
173
185
  conferences_submenu:
@@ -179,10 +191,14 @@ ar:
179
191
  conference_admins: المشرفون على المؤتمر
180
192
  conference_invites: تدعو
181
193
  conference_speakers: مكبرات الصوت
194
+ diploma: شهادة حضور
182
195
  info: عن هذا المؤتمر
196
+ media_links: روابط الوسائط
183
197
  moderations: الإعتدال
184
198
  partners: شركاء
199
+ registration_types: أنواع التسجيل
185
200
  registrations: التسجيلات
201
+ user_registrations: تسجيلات المستخدم
186
202
  models:
187
203
  conference:
188
204
  fields:
@@ -211,6 +227,7 @@ ar:
211
227
  date: تاريخ
212
228
  link: حلقة الوصل
213
229
  title: عنوان
230
+ name: وصلة الوسائط
214
231
  partner:
215
232
  fields:
216
233
  link: حلقة الوصل
@@ -236,6 +253,7 @@ ar:
236
253
  destroy:
237
254
  success: تمت إزالة شريك المؤتمر بنجاح.
238
255
  edit:
256
+ title: تحديث شريك.
239
257
  update: تحديث
240
258
  new:
241
259
  create: إنشاء
@@ -257,6 +275,7 @@ ar:
257
275
  destroy:
258
276
  success: تمت إزالة نوع تسجيل المؤتمر بنجاح.
259
277
  edit:
278
+ title: تحديث نوع التسجيل.
260
279
  update: تحديث
261
280
  new:
262
281
  create: إنشاء
@@ -317,12 +336,8 @@ ar:
317
336
  non_user: مشارك غير موجود
318
337
  select_user: اختر المشارك
319
338
  index:
320
- filter:
321
- all: الكل
322
- sent: أرسلت
323
339
  invite_attendee: دعوة مشارك
324
340
  invites: تدعو
325
- search: بحث
326
341
  new:
327
342
  invite: دعا
328
343
  new_invite: دعوة مشارك
@@ -350,6 +365,7 @@ ar:
350
365
  diplomas:
351
366
  edit:
352
367
  save: حفظ
368
+ title: شهادة حضور
353
369
  invite_join_conference_mailer:
354
370
  invite:
355
371
  decline: رفض الدعوة "%{conference_title}"
@@ -368,6 +384,7 @@ ar:
368
384
  diploma_html: ستجد شهادة حضور المؤتمر <a href="%{url}">%{title}</a> في المرفقات.
369
385
  diploma_user:
370
386
  attendance_verified_by: تم التحقق من الحضور بواسطة
387
+ certificate_of_attendance: شهادة حضور
371
388
  certificate_of_attendance_description: هذا هو التأكيد على أن <strong>%{user}</strong> قد حضر وشارك في <strong>%{title}</strong> الذي عقد في <strong>%{location}</strong> في <strong>%{start} - %{end}</strong>
372
389
  send_diploma:
373
390
  error: حدثت مشكلة أثناء إرسال شهادات حضور المؤتمر.
@@ -120,11 +120,19 @@ bg:
120
120
  destroy:
121
121
  success: Говорителят на конференцията беше изтрит успешно.
122
122
  edit:
123
+ title: Актуализиране на говорителя на конференцията.
123
124
  update: Актуализация
124
125
  index:
125
126
  conference_speakers_title: Говорители на конференция
126
127
  new:
127
128
  create: Създаване
129
+ title: Нов говорител на конференция.
130
+ publish:
131
+ invalid: Възникна проблем при публикуването на този говорител.
132
+ success: Лекторът на конференцията е публикуван успешно.
133
+ unpublish:
134
+ invalid: Възникна проблем при отмяната на публикуването на този говорител.
135
+ success: Публикуването на говорител на конференцията бе успешно премахнато.
128
136
  update:
129
137
  error: Възникна проблем при актуализирането на този говорител на конференцията.
130
138
  success: Говорителят на конференцията беше актуализиран успешно.
@@ -135,11 +143,13 @@ bg:
135
143
  destroy:
136
144
  success: Администраторът на конференцията беше премахнат успешно.
137
145
  edit:
146
+ title: Актуализиране на администратора на конференцията.
138
147
  update: Актуализация
139
148
  index:
140
149
  conference_admins_title: Администратори на конференция
141
150
  new:
142
151
  create: Създаване
152
+ title: Нов администратор на конференция.
143
153
  update:
144
154
  error: Възникна проблем при актуализирането на този администратор на конференцията.
145
155
  success: Администраторът на конференцията беше актуализиран успешно.
@@ -169,12 +179,20 @@ bg:
169
179
  media_links:
170
180
  create:
171
181
  error: Възникна проблем при създаването на нов медия линк.
182
+ success: Медийният линк беше създаден успешно.
183
+ destroy:
184
+ success: Медийният линк беше изтрит успешно.
172
185
  edit:
186
+ title: Актуализиране на медийния линк.
173
187
  update: Актуализация
188
+ index:
189
+ media_links_title: Медийни линкове
174
190
  new:
175
191
  create: Създаване
192
+ title: Медия линк
176
193
  update:
177
194
  error: Възникна проблем при актуализирането на този медия линк.
195
+ success: Медийният линк беше актуализиран успешно.
178
196
  menu:
179
197
  conferences: Конференции
180
198
  conferences_submenu:
@@ -186,11 +204,15 @@ bg:
186
204
  conference_admins: Администратори на конференция
187
205
  conference_invites: Покани
188
206
  conference_speakers: Говорители
207
+ diploma: Сертификати за присъствие
189
208
  info: Относно тази конференция
209
+ media_links: Медия линкове
190
210
  moderations: Модерации
191
211
  partners: Партньори
212
+ registration_types: Типове регистрация
192
213
  registrations: Регистрации
193
214
  see_conference: Виз конференцията
215
+ user_registrations: Потребителска регистрация
194
216
  models:
195
217
  conference:
196
218
  fields:
@@ -219,6 +241,7 @@ bg:
219
241
  date: Дата
220
242
  link: Линк
221
243
  title: Заглавие
244
+ name: Медия линк
222
245
  partner:
223
246
  fields:
224
247
  link: Линк
@@ -244,6 +267,7 @@ bg:
244
267
  destroy:
245
268
  success: Партньорът за конференцията беше премахнат успешно.
246
269
  edit:
270
+ title: Актуализиране на партньора.
247
271
  update: Актуализация
248
272
  new:
249
273
  create: Създаване
@@ -265,6 +289,7 @@ bg:
265
289
  destroy:
266
290
  success: Типът регистрация за конференцията беше премахнат успешно.
267
291
  edit:
292
+ title: Актуализиране на типа на регистрацията.
268
293
  update: Актуализация
269
294
  new:
270
295
  create: Създаване
@@ -329,14 +354,8 @@ bg:
329
354
  non_user: Несъществуващ участник
330
355
  select_user: Избор на участник
331
356
  index:
332
- filter:
333
- accepted: Прието
334
- all: Всички
335
- rejected: Отхвърлен
336
- sent: Изпратено
337
357
  invite_attendee: Покани участник
338
358
  invites: Покани
339
- search: Търсене
340
359
  new:
341
360
  explanation: Участникът ще бъде поканен да се присъедини към конференция. Ако техният имейл не е регистриран, те също ще бъдат поканени в организацията.
342
361
  invite: Покани
@@ -365,6 +384,7 @@ bg:
365
384
  diplomas:
366
385
  edit:
367
386
  save: Запази
387
+ title: Сертификати за присъствие
368
388
  invite_join_conference_mailer:
369
389
  invite:
370
390
  decline: Отказ на поканата за „%{conference_title}“
@@ -384,6 +404,7 @@ bg:
384
404
  diploma_html: Ще намерите сертификата за присъствие на конференцията <a href="%{url}">%{title}</a> в прикачените файлове.
385
405
  diploma_user:
386
406
  attendance_verified_by: Присъствието е потвърдено от
407
+ certificate_of_attendance: Сертификати за присъствие
387
408
  certificate_of_attendance_description: С настоящото се удостоверява, че <strong>%{user}</strong> посети и взе участие в(ъв) <strong>%{title}</strong>, <strong>%{location}</strong> на <strong>%{start} — %{end}</strong>
388
409
  send_diploma:
389
410
  error: Възникна проблем при изпращането на сертификатите за присъствие на конференцията.