decidim-meetings 0.13.1 → 0.14.1

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/admin/decidim_meetings_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/meetings/admin/registrations_invite_form.es6 +25 -0
  4. data/app/cells/decidim/meetings/join_meeting_button/show.erb +2 -0
  5. data/app/cells/decidim/meetings/meeting_cell.rb +1 -1
  6. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +57 -8
  7. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +51 -0
  8. data/app/commands/decidim/meetings/decline_invitation.rb +45 -0
  9. data/app/commands/decidim/meetings/join_meeting.rb +8 -3
  10. data/app/controllers/decidim/meetings/admin/attachment_collections_controller.rb +0 -4
  11. data/app/controllers/decidim/meetings/admin/attachments_controller.rb +0 -4
  12. data/app/controllers/decidim/meetings/admin/invites_controller.rb +14 -5
  13. data/app/controllers/decidim/meetings/admin/registrations_controller.rb +20 -0
  14. data/app/controllers/decidim/meetings/registrations_controller.rb +16 -0
  15. data/app/events/decidim/meetings/registration_code_validated_event.rb +15 -0
  16. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
  17. data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +9 -2
  18. data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +33 -0
  19. data/app/mailers/decidim/meetings/registration_mailer.rb +2 -1
  20. data/app/models/decidim/meetings/invite.rb +38 -0
  21. data/app/models/decidim/meetings/meeting.rb +6 -0
  22. data/app/models/decidim/meetings/registration.rb +18 -0
  23. data/app/permissions/decidim/meetings/admin/permissions.rb +2 -2
  24. data/app/permissions/decidim/meetings/permissions.rb +8 -1
  25. data/app/presenters/decidim/meetings/admin_log/invite_presenter.rb +35 -0
  26. data/app/presenters/decidim/meetings/invite_presenter.rb +26 -0
  27. data/app/queries/decidim/meetings/admin/invites.rb +59 -0
  28. data/app/serializers/decidim/meetings/data_portability_invite_serializer.rb +35 -0
  29. data/app/serializers/decidim/meetings/data_portability_registration_serializer.rb +1 -0
  30. data/app/serializers/decidim/meetings/registration_serializer.rb +1 -0
  31. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -0
  32. data/app/views/decidim/meetings/admin/invites/_form.html.erb +34 -5
  33. data/app/views/decidim/meetings/admin/invites/index.html.erb +99 -0
  34. data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
  35. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +2 -3
  36. data/app/views/decidim/meetings/admin/meetings/index.html.erb +2 -0
  37. data/app/views/decidim/meetings/admin/registrations/_form.html.erb +1 -1
  38. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +24 -0
  39. data/app/views/decidim/meetings/meetings/_meetings.html.erb +1 -1
  40. data/app/views/decidim/meetings/meetings/index.js.erb +0 -1
  41. data/app/views/decidim/meetings/meetings/show.html.erb +9 -0
  42. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +2 -0
  43. data/app/views/decidim/participatory_spaces/_meeting.html.erb +1 -1
  44. data/app/views/devise/mailer/join_meeting.html.erb +1 -0
  45. data/app/views/devise/mailer/join_meeting.text.erb +4 -0
  46. data/config/locales/ca.yml +53 -5
  47. data/config/locales/en.yml +53 -5
  48. data/config/locales/es-PY.yml +52 -4
  49. data/config/locales/es.yml +53 -5
  50. data/config/locales/eu.yml +52 -4
  51. data/config/locales/fi.yml +164 -116
  52. data/config/locales/fr.yml +53 -5
  53. data/config/locales/gl.yml +52 -4
  54. data/config/locales/hu.yml +391 -0
  55. data/config/locales/it.yml +52 -4
  56. data/config/locales/nl.yml +52 -4
  57. data/config/locales/pl.yml +52 -4
  58. data/config/locales/pt-BR.yml +56 -8
  59. data/config/locales/pt.yml +52 -4
  60. data/config/locales/ru.yml +57 -9
  61. data/config/locales/sv.yml +135 -87
  62. data/config/locales/uk.yml +56 -8
  63. data/db/migrate/20180607142020_create_decidim_meetings_invites.rb +15 -0
  64. data/db/migrate/20180615160839_add_code_to_decidim_meetings_registrations.rb +7 -0
  65. data/db/migrate/20180711111023_add_validated_at_to_decidim_meetings_registrations.rb +7 -0
  66. data/lib/decidim/meetings.rb +1 -0
  67. data/lib/decidim/meetings/admin_engine.rb +3 -1
  68. data/lib/decidim/meetings/component.rb +2 -0
  69. data/lib/decidim/meetings/engine.rb +1 -0
  70. data/lib/decidim/meetings/registrations.rb +14 -0
  71. data/lib/decidim/meetings/registrations/code_generator.rb +39 -0
  72. data/lib/decidim/meetings/test/factories.rb +20 -4
  73. data/lib/decidim/meetings/version.rb +1 -1
  74. metadata +30 -14
  75. data/app/views/decidim/meetings/admin/invites/new.html.erb +0 -21
@@ -1,5 +1,5 @@
1
1
  <%= decidim_form_for(@form, url: meeting_copies_path(meeting), method: :post, html: { class: "form copy_meetings" }) do |f| %>
2
- <%= render partial: "form", object: f, locals: { title: t("meeting_copies.new.title", scope: "decidim.admin"), select: t("meeting_copies.new.select", scope: "decidim.admin")} %>
2
+ <%= render partial: "form", object: f, locals: { title: t("meeting_copies.new.title", scope: "decidim.admin"), select: t("meeting_copies.new.select", scope: "decidim.admin") } %>
3
3
 
4
4
  <div class="button--double form-general-submit">
5
5
  <%= f.submit t("meeting_copies.new.copy", scope: "decidim.admin") %>
@@ -2,14 +2,13 @@
2
2
  <div class="card-divider">
3
3
  <h2 class="card-title"><%= title %></h2>
4
4
  </div>
5
-
6
5
  <div class="card-section">
7
6
  <div class="row column">
8
- <%= form.translated :text_field, :title, autofocus: true %>
7
+ <%= form.translated :text_field, :title, autofocus: true, class: "js-hashtags", hashtaggable: true %>
9
8
  </div>
10
9
 
11
10
  <div class="row column">
12
- <%= form.translated :editor, :description %>
11
+ <%= form.translated :editor, :description, class: "js-hashtags", hashtaggable: true %>
13
12
  </div>
14
13
 
15
14
  <div class="row column">
@@ -71,6 +71,8 @@
71
71
  <%= icon_link_to "paperclip", meeting_attachments_path(meeting), t("actions.attachments", scope: "decidim.meetings"), class: "action-icon--attachments" %>
72
72
  <% end %>
73
73
 
74
+ <%= resource_permissions_link(meeting) %>
75
+
74
76
  <% if allowed_to? :destroy, :meeting, meeting: meeting %>
75
77
  <%= icon_link_to "circle-x", meeting_path(meeting), t("actions.destroy", scope: "decidim.meetings"), method: :delete, class: "action-icon--remove", data: { confirm: t("actions.confirm_destroy", scope: "decidim.meetings") } %>
76
78
  <% end %>
@@ -2,7 +2,7 @@
2
2
  <div class="card-divider">
3
3
  <h2 class="card-title">
4
4
  <%= title %>
5
- <%= link_to t(".invite_user"), meeting.registrations_enabled ? new_meeting_registrations_invites_path(meeting) : "#", class: "button tiny button--title #{'disabled' unless allowed_to? :invite_user, :meeting, meeting: meeting}" %>
5
+ <%= link_to t(".invites"), meeting_registrations_invites_path(meeting), class: "button tiny button--title #{'disabled' unless allowed_to? :read_invites, :meeting, meeting: meeting}" %>
6
6
  <% if allowed_to? :export_registrations, :meeting, meeting: meeting %>
7
7
  <span class="exports dropdown tiny button button--simple button--title" data-toggle="export-dropdown"><%= t "actions.export", scope: "decidim.admin" %></span>
8
8
  <div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
@@ -1,3 +1,27 @@
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= t(".validate_registration_code") %>
5
+ </h2>
6
+ </div>
7
+ <div class="card-section">
8
+ <%= decidim_form_for(@validation_form, url: validate_registration_code_meeting_registrations_path, html: { class: "form validate_meeting_registration_code" }) do |f| %>
9
+
10
+ <div class="grid-x grid-margin-x">
11
+ <div class="auto cell">
12
+ <%= f.text_field :code %>
13
+ </div>
14
+
15
+ <div class="shrink cell">
16
+ <div class="text-center mt-sm">
17
+ <%= f.submit t(".validate") %>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ <% end %>
22
+ </div>
23
+ </div>
24
+
1
25
  <%= decidim_form_for(@form, url: meeting_registrations_path, html: { class: "form edit_meeting_registrations" }) do |f| %>
2
26
  <%= render partial: "form", object: f %>
3
27
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  <div class="row small-up-1 medium-up-2 card-grid">
14
14
  <% meetings.each do |meeting| %>
15
- <%= card_for meeting, context: { current_user: current_user } %>
15
+ <%= card_for meeting %>
16
16
  <% end %>
17
17
  </div>
18
18
  <%= decidim_paginate meetings, order_start_time: params[:order_start_time], scope_id: params[:scope_id] %>
@@ -9,4 +9,3 @@ window.Decidim.currentMap = window.Decidim.loadMap(
9
9
  'map',
10
10
  JSON.parse('<%= escape_javascript meetings_data_for_map(geocoded_meetings).to_json.html_safe %>')
11
11
  );
12
-
@@ -6,6 +6,15 @@
6
6
  url: meeting_url(meeting.id)
7
7
  }) %>
8
8
 
9
+ <%
10
+ edit_link(
11
+ resource_locator(meeting).edit,
12
+ :update,
13
+ :meeting,
14
+ meeting: meeting
15
+ )
16
+ %>
17
+
9
18
  <div class="row column view-header">
10
19
  <h2 class="heading2"><%= translated_attribute meeting.title %></h2>
11
20
  <% if meeting.organizer.present? %>
@@ -1,3 +1,5 @@
1
1
  <p><%= t(".confirmed_html", title: translated_attribute(@meeting.title), url: @locator.url) %></p>
2
2
 
3
+ <p><%= t(".registration_code", code: @registration.code) %></p>
4
+
3
5
  <p><%= t(".details") %></p>
@@ -1 +1 @@
1
- <%= card_for meeting, size: :list_item, context: { current_user: current_user } %>
1
+ <%= card_for meeting, size: :list_item %>
@@ -4,6 +4,7 @@
4
4
  <%= t("decidim.meetings.admin.invite_join_meeting_mailer.invite.invited_you_to_join_a_meeting", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
5
5
  </p>
6
6
 
7
+ <p><%= link_to t("devise.mailer.invitation_instructions.decline"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].component).decline_invitation_meeting_registration_path(meeting_id: @opts[:meeting], participatory_space_id: @opts[:meeting].component.participatory_space), host: @resource.organization.host) %></p>
7
8
  <p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].component).meeting_registration_path(meeting_id: @opts[:meeting], participatory_space_id: @opts[:meeting].component.participatory_space), host: @resource.organization.host) %></p>
8
9
 
9
10
  <% if @resource.invitation_due_at %>
@@ -2,6 +2,10 @@
2
2
 
3
3
  <%= t("decidim.meetings.admin.invite_join_meeting_mailer.invite.invited_you_to_join_a_meeting", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
4
4
 
5
+ <%= t("devise.mailer.invitation_instructions.decline") %>:
6
+ <% accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].component).decline_invitation_meeting_registration_path(meeting_id: @opts[:meeting], participatory_space_id: @opts[:meeting].component.participatory_space), host: @resource.organization.host) %>
7
+
8
+ <%= t("devise.mailer.invitation_instructions.accept") %>:
5
9
  <% accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].component).meeting_registration_path(meeting_id: @opts[:meeting], participatory_space_id: @opts[:meeting].component.participatory_space), host: @resource.organization.host) %>
6
10
 
7
11
  <% if @resource.invitation_due_at %>
@@ -38,6 +38,10 @@ ca:
38
38
  base:
39
39
  too_many_minutes: La durada dels elements supera la durada de la trobada per %{count} minuts
40
40
  too_many_minutes_child: La durada del sub-ítem supera la durada del punt "%{parent_title}" del programa per %{count} minuts
41
+ meeting_registration_invite:
42
+ attributes:
43
+ email:
44
+ already_invited: Aquest correu electrònic ja ha estat convidat
41
45
  models:
42
46
  decidim/meetings/close_meeting_event: Trobada tancada
43
47
  decidim/meetings/create_meeting_event: Trobada
@@ -76,6 +80,7 @@ ca:
76
80
  announcement: Anunci
77
81
  comments_enabled: Comentaris habilitats
78
82
  default_registration_terms: Termes de registre per defecte
83
+ resources_permissions_enabled: Es poden establir permisos d'accions per a cada trobada
79
84
  step:
80
85
  announcement: Anunci
81
86
  comments_blocked: Comentaris bloquejats
@@ -101,6 +106,11 @@ ca:
101
106
  email_outro: Has rebut aquesta notificació perquè estàs seguint la trobada "%{resource_title}". Pots deixar-la de seguir des de l'enllaç anterior.
102
107
  email_subject: La trobada "%{resource_title}" s'ha actualitzat
103
108
  notification_title: La trobada <a href="%{resource_path}">%{resource_title}</a> ha estat actualitzada.
109
+ registration_code_validated:
110
+ email_intro: S'ha validat el teu codi de registre "%{registration_code}".
111
+ email_outro: Has rebut aquesta notificació perquè s'ha validat el teu codi de registre per a la trobada "%{resource_title}".
112
+ email_subject: S'ha validat el teu codi de registre "%{registration_code}"
113
+ notification_title: S'ha validat el teu codi de registre "%{registration_code}" per a la trobada <a href="%{resource_path}">%{resource_title}</a>.
104
114
  registrations_enabled:
105
115
  email_intro: 'La trobada "%{resource_title}" ha activat inscripcions. Pots registrar-te a la seva pàgina:'
106
116
  email_outro: Has rebut aquesta notificació perquè estàs seguint la trobada "%{resource_title}". Pots deixar-la de seguir des de l'enllaç anterior.
@@ -160,16 +170,31 @@ ca:
160
170
  registrations: Inscripcions
161
171
  invite_join_meeting_mailer:
162
172
  invite:
163
- invited_you_to_join_a_meeting: "%{invited_by} t'ha convidat a participar en una trobada a %{application}. Pots acceptar la invitació a través de l'enllaç següent."
173
+ decline: Declina la invitació
174
+ invited_you_to_join_a_meeting: "%{invited_by} t'ha convidat a unir-te a una reunió a l' %{application}. Pots rebutjar o acceptar la invitació a través dels enllaços a continuació."
164
175
  join: Uneix-te a la trobada '%{meeting_title}'
165
176
  invites:
166
177
  create:
167
178
  error: Hi ha hagut un problema al convidar l'usuari a unir-se a la trobada.
168
179
  success: L'usuari s'ha convidat correctament a unir-se a la trobada.
169
- new:
170
- explanation: L'usuari serà convidat a participar en una trobada. Si el correu electrònic no està registrat, també se'l convidarà a l'organització.
180
+ form:
181
+ attendee_type: Tipus d'assistent
182
+ existing_user: Usuari existent
171
183
  invite: Convidar
172
- new_invite: Convida l'usuari
184
+ invite_explanation: L'usuari serà convidat a participar a la trobada i també a l'organització.
185
+ non_user: Usuari no existent
186
+ select_user: Selecciona l'usuari
187
+ index:
188
+ filter:
189
+ accepted: Acceptades
190
+ all: Totes
191
+ rejected: Rebutjades
192
+ sent: Enviat
193
+ filter_by: Filtra per
194
+ invite_attendee: Convida l'assistent
195
+ invites: Invitacions
196
+ registrations_disabled: No pots convidar un assistent perquè les inscripcions estan inhabilitades.
197
+ search: Cerca
173
198
  meeting_closes:
174
199
  edit:
175
200
  close: Tancar
@@ -226,9 +251,11 @@ ca:
226
251
  registrations:
227
252
  edit:
228
253
  save: Desa
254
+ validate: Validar
255
+ validate_registration_code: Valida el codi de registre
229
256
  form:
230
257
  available_slots_help: Deixeu-lo a 0 si teniu espais il·limitats disponibles.
231
- invite_user: Convida l'usuari
258
+ invites: Invitacions
232
259
  registrations_count:
233
260
  one: Hi ha hagut 1 inscripció.
234
261
  other: Hi ha hagut %{count} inscripcions.
@@ -237,7 +264,14 @@ ca:
237
264
  update:
238
265
  invalid: S'ha produït un problema en desar la configuració de la inscripció.
239
266
  success: La configuració de les inscripcions de la trobada s'ha desat correctament.
267
+ validate_registration_code:
268
+ invalid: Aquest codi de registre no és vàlid.
269
+ success: El codi de registre s'ha validat amb èxit.
240
270
  admin_log:
271
+ invite:
272
+ create: "%{user_name} ha convidat %{attendee_name} a unir-se a la trobada %{resource_name} dins l'espai %{space_name}"
273
+ deleted: "%{user_name} ha eliminat l'invitació de %{attendee_name} per unir-se a la trobada %{resource_name} a l'espai %{space_name}"
274
+ update: "%{user_name} ha convidat %{attendee_name} a unir-se a la trobada %{resource_name} a l'espai %{space_name}"
241
275
  meeting:
242
276
  close: "%{user_name} ha tancat la trobada %{resource_name} a l'espai %{space_name}"
243
277
  create: "%{user_name} ha creat la trobada %{resource_name} a l'espai %{space_name}"
@@ -296,6 +330,16 @@ ca:
296
330
  other: "%{count} inscripcions restants"
297
331
  view: Veure
298
332
  models:
333
+ invite:
334
+ fields:
335
+ email: Correu electrònic
336
+ name: Nom
337
+ sent_at: Enviat el
338
+ status: Estat
339
+ status:
340
+ accepted: Acceptada (%{at})
341
+ rejected: Rebutjada (%{at})
342
+ sent: Enviat
299
343
  meeting:
300
344
  fields:
301
345
  closed: Tancada
@@ -308,10 +352,14 @@ ca:
308
352
  confirmation:
309
353
  confirmed_html: La teva inscripció a la trobada <a href="%{url}">%{title}</a> ha estat confirmada.
310
354
  details: A l'arxiu adjunt trobaràs els detalls de la reunió.
355
+ registration_code: El teu codi de registre és %{code}.
311
356
  registrations:
312
357
  create:
313
358
  invalid: Hi ha hagut un problema en inscriure's a aquesta reunió.
314
359
  success: T'has inscrit a la reunió amb èxit.
360
+ decline_invitation:
361
+ invalid: Hi ha hagut un problema en declinar la invitació.
362
+ success: Has declinat la invitació amb èxit.
315
363
  destroy:
316
364
  invalid: Hi ha hagut un problema en sortir d'aquesta trobada.
317
365
  success: Heu deixat la trobada amb èxit.
@@ -39,6 +39,10 @@ en:
39
39
  base:
40
40
  too_many_minutes: The duration of the items exceed the meeting duration by %{count} minutes
41
41
  too_many_minutes_child: The duration of the item childs exceed the agenda item "%{parent_title}" parent duration by %{count} minutes
42
+ meeting_registration_invite:
43
+ attributes:
44
+ email:
45
+ already_invited: This email has already been invited
42
46
  models:
43
47
  decidim/meetings/close_meeting_event: Meeting closed
44
48
  decidim/meetings/create_meeting_event: Meeting
@@ -77,6 +81,7 @@ en:
77
81
  announcement: Announcement
78
82
  comments_enabled: Comments enabled
79
83
  default_registration_terms: Default registration terms
84
+ resources_permissions_enabled: Actions permissions can be set for each meeting
80
85
  step:
81
86
  announcement: Announcement
82
87
  comments_blocked: Comments blocked
@@ -102,6 +107,11 @@ en:
102
107
  email_outro: You have received this notification because you are following the "%{resource_title}" meeting. You can unfollow it from the previous link.
103
108
  email_subject: The "%{resource_title}" meeting was updated
104
109
  notification_title: The <a href="%{resource_path}">%{resource_title}</a> meeting was updated.
110
+ registration_code_validated:
111
+ email_intro: Your registration code "%{registration_code}" has been validated.
112
+ email_outro: You have received this notification because your registration code for the "%{resource_title}" meeting has been validated.
113
+ email_subject: Your registration code "%{registration_code}" has been validated
114
+ notification_title: Your registration code "%{registration_code}" for the <a href="%{resource_path}">%{resource_title}</a> meeting has been validated.
105
115
  registrations_enabled:
106
116
  email_intro: 'The "%{resource_title}" meeting has enabled registrations. You can register yourself on its page:'
107
117
  email_outro: You have received this notification because you are following the "%{resource_title}" meeting. You can unfollow it from the previous link.
@@ -161,16 +171,31 @@ en:
161
171
  registrations: Registrations
162
172
  invite_join_meeting_mailer:
163
173
  invite:
164
- invited_you_to_join_a_meeting: "%{invited_by} has invited you to join a meeting at %{application}. You can accept it through the link below."
174
+ decline: Decline invitation
175
+ invited_you_to_join_a_meeting: "%{invited_by} has invited you to join a meeting at %{application}. You can decline or accept it through the links below."
165
176
  join: Join meeting '%{meeting_title}'
166
177
  invites:
167
178
  create:
168
179
  error: There's been a problem while inviting the user to join the meeting.
169
180
  success: User successfully invited to join the meeting.
170
- new:
171
- explanation: The user will be invited to join a meeting. If the email is not registered they will be invited to the organization as well.
181
+ form:
182
+ attendee_type: Attendee type
183
+ existing_user: Existing user
172
184
  invite: Invite
173
- new_invite: Invite user
185
+ invite_explanation: The user will be invited to join the meeting and to the organization as well.
186
+ non_user: Non existing user
187
+ select_user: Select user
188
+ index:
189
+ filter:
190
+ accepted: Accepted
191
+ all: All
192
+ rejected: Rejected
193
+ sent: Sent
194
+ filter_by: Filter by
195
+ invite_attendee: Invite attendee
196
+ invites: Invites
197
+ registrations_disabled: You can't invite an attendee because the registrations are disabled.
198
+ search: Search
174
199
  meeting_closes:
175
200
  edit:
176
201
  close: Close
@@ -227,9 +252,11 @@ en:
227
252
  registrations:
228
253
  edit:
229
254
  save: Save
255
+ validate: Validate
256
+ validate_registration_code: Validate registration code
230
257
  form:
231
258
  available_slots_help: Leave it to 0 if you have unlimited slots available.
232
- invite_user: Invite user
259
+ invites: Invites
233
260
  registrations_count:
234
261
  one: There has been 1 registration.
235
262
  other: There has been %{count} registrations.
@@ -239,7 +266,14 @@ en:
239
266
  update:
240
267
  invalid: There's been a problem saving the registration settings.
241
268
  success: Meeting registrations settings successfully saved.
269
+ validate_registration_code:
270
+ invalid: This registration code is invalid.
271
+ success: Registration code successfully validated.
242
272
  admin_log:
273
+ invite:
274
+ create: "%{user_name} invited %{attendee_name} to join %{resource_name} meeting on the %{space_name} space"
275
+ deleted: "%{user_name} uninvited %{attendee_name} from joining %{resource_name} meeting on the %{space_name} space"
276
+ update: "%{user_name} invited %{attendee_name} to join %{resource_name} meeting on the %{space_name} space"
243
277
  meeting:
244
278
  close: "%{user_name} closed the %{resource_name} meeting on the %{space_name} space"
245
279
  create: "%{user_name} created the %{resource_name} meeting on the %{space_name} space"
@@ -299,6 +333,16 @@ en:
299
333
  zero: No slots remaining
300
334
  view: View
301
335
  models:
336
+ invite:
337
+ fields:
338
+ email: Email
339
+ name: Name
340
+ sent_at: Sent at
341
+ status: Status
342
+ status:
343
+ accepted: Accepted (%{at})
344
+ rejected: Rejected (%{at})
345
+ sent: Sent
302
346
  meeting:
303
347
  fields:
304
348
  closed: Closed
@@ -311,10 +355,14 @@ en:
311
355
  confirmation:
312
356
  confirmed_html: Your registration for the meeting <a href="%{url}">%{title}</a> has been confirmed.
313
357
  details: You will find the meeting's details in the attachment.
358
+ registration_code: Your registration code is %{code}.
314
359
  registrations:
315
360
  create:
316
361
  invalid: There's been a problem joining this meeting.
317
362
  success: You have joined the meeting successfully.
363
+ decline_invitation:
364
+ invalid: There's been a problem declining the invitation.
365
+ success: You have declined the invitation successfully.
318
366
  destroy:
319
367
  invalid: There's been a problem leaving this meeting.
320
368
  success: You have left the meeting successfully.
@@ -38,6 +38,10 @@ es-PY:
38
38
  base:
39
39
  too_many_minutes: La duración de los ítems supera la duración del encuentro en %{count} minutos
40
40
  too_many_minutes_child: La duración de los sub-ítems excede el punto "%{parent_title}" del orden del dia en %{count} minuto
41
+ meeting_registration_invite:
42
+ attributes:
43
+ email:
44
+ already_invited: Esta persona ya ha sido invitada
41
45
  models:
42
46
  decidim/meetings/close_meeting_event: Encuentro cerrado
43
47
  decidim/meetings/create_meeting_event: Encuentro
@@ -76,6 +80,7 @@ es-PY:
76
80
  announcement: Anuncio
77
81
  comments_enabled: Comentarios habilitados
78
82
  default_registration_terms: Términos de registro predeterminados
83
+ resources_permissions_enabled: Los permisos sobre acciones pueden establecerse para cada encuentro
79
84
  step:
80
85
  announcement: Anuncio
81
86
  comments_blocked: Comentarios bloqueados
@@ -101,6 +106,11 @@ es-PY:
101
106
  email_outro: Has recibido esta notificación porque sigues el encuentro "%{resource_title}". Puedes dejar de seguirlo en el enlace anterior.
102
107
  email_subject: Se ha actualizado el encuentro "%{resource_title}"
103
108
  notification_title: El encuentro <a href="%{resource_path}">%{resource_title}</a> ha sido actualizado.
109
+ registration_code_validated:
110
+ email_intro: Su código de registro "%{registration_code}" ha sido validado.
111
+ email_outro: Recibió esta notificación porque su código de registro para el encuentro "%{resource_title}" ha sido validado.
112
+ email_subject: Su código de registro "%{registration_code}" ha sido validado
113
+ notification_title: Su código de registro "%{registration_code}" para el encuentro <a href="%{resource_path}">%{resource_title}</a> ha sido validado.
104
114
  registrations_enabled:
105
115
  email_intro: 'El encuentro "%{resource_title}" ha ha abierto las inscripciones. Puedes inscribirte en su página:'
106
116
  email_outro: Has recibido esta notificación porque sigues el encuentro "%{resource_title}". Puedes dejar de seguirlo en el enlace anterior.
@@ -160,16 +170,31 @@ es-PY:
160
170
  registrations: Inscripciones
161
171
  invite_join_meeting_mailer:
162
172
  invite:
173
+ decline: Rechazar invitación
163
174
  invited_you_to_join_a_meeting: "%{invited_by} te ha invitado a unirte a un encuentro en %{application}. Puedes aceptarlo a través del siguiente enlace."
164
175
  join: Únete al encuentro '%{meeting_title}'
165
176
  invites:
166
177
  create:
167
178
  error: Ha habido un problema al invitar al usuario a unirse al encuentro.
168
179
  success: El usuario ha sido invitado con éxito a unirse al encuentro.
169
- new:
170
- explanation: El usuario será invitado a unirse a un encuentro. Si el correo electrónico no está registrado, será invitado a la organización también.
180
+ form:
181
+ attendee_type: Tipo de asistente
182
+ existing_user: Usuario existente
171
183
  invite: Invitar
172
- new_invite: Invitar usuario
184
+ invite_explanation: El usuario será invitado a unirse a la reunión y también a la organización.
185
+ non_user: Usuario no existente
186
+ select_user: Selecciona un usuario
187
+ index:
188
+ filter:
189
+ accepted: Aceptada
190
+ all: Todas
191
+ rejected: Rechazada
192
+ sent: Enviadas
193
+ filter_by: Filtrar por
194
+ invite_attendee: Invitar asistente
195
+ invites: Invitaciones
196
+ registrations_disabled: No puedes invitar al asistente porque las inscripciones están deshabilitadas.
197
+ search: Buscar
173
198
  meeting_closes:
174
199
  edit:
175
200
  close: Cerrar
@@ -226,9 +251,11 @@ es-PY:
226
251
  registrations:
227
252
  edit:
228
253
  save: Guardar
254
+ validate: Validar
255
+ validate_registration_code: Validar el código de registro
229
256
  form:
230
257
  available_slots_help: Déjalo a 0 si tiene inscripciones ilimitadas.
231
- invite_user: Invitar usuario
258
+ invites: Invitaciones
232
259
  registrations_count:
233
260
  one: Ha habido 1 inscripción.
234
261
  other: Ha habido %{count} inscripciones.
@@ -237,7 +264,14 @@ es-PY:
237
264
  update:
238
265
  invalid: Se ha producido un problema al guardar la configuración de la inscripción.
239
266
  success: Se han guardado correctamente las configuraciones de inscripciones de encuentros.
267
+ validate_registration_code:
268
+ invalid: Este código de registro no es válido.
269
+ success: Código de registro validado con éxito.
240
270
  admin_log:
271
+ invite:
272
+ create: "%{user_name} ha invitado a %{attendee_name} a unirse a la reunión %{resource_name} en el espacio %{space_name}"
273
+ deleted: "%{user_name} ha eliminado la invitación de %{attendee_name} de unirse a la reunión %{resource_name} en el espacio %{space_name}"
274
+ update: "%{user_name} ha invitado a %{attendee_name} a unirse a la reunión %{resource_name} en el espacio %{space_name}"
241
275
  meeting:
242
276
  close: "%{user_name} cerró el encuentro %{resource_name} en el espacio %{space_name}"
243
277
  create: "%{user_name} creó el encuentro %{resource_name} en el espacio %{space_name}"
@@ -296,6 +330,16 @@ es-PY:
296
330
  other: "%{count} inscripciones disponibles"
297
331
  view: Ver
298
332
  models:
333
+ invite:
334
+ fields:
335
+ email: Correo electrónico
336
+ name: Nombre
337
+ sent_at: Enviado el
338
+ status: Estado
339
+ status:
340
+ accepted: Aceptada (%{at})
341
+ rejected: Rechazada (%{at})
342
+ sent: Enviadas
299
343
  meeting:
300
344
  fields:
301
345
  closed: Cerrado
@@ -308,10 +352,14 @@ es-PY:
308
352
  confirmation:
309
353
  confirmed_html: Se ha confirmado su inscripción para el encuentro <a href="%{url}">%{title}</a>.
310
354
  details: Encontrarás detalles del encuentro en el archivo adjunto.
355
+ registration_code: Tu código de registro es %{code}.
311
356
  registrations:
312
357
  create:
313
358
  invalid: Ha habido un problema al unirse a este encuentro.
314
359
  success: Te has inscrito al encuentro con éxito.
360
+ decline_invitation:
361
+ invalid: Ha habido un problema al rechazar la invitación.
362
+ success: Has rechazado la invitación con éxito.
315
363
  destroy:
316
364
  invalid: Ha habido un problema al salir de esta encuentro.
317
365
  success: Has salido del encuentro con éxito.