decidim-meetings 0.13.1 → 0.14.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/admin/decidim_meetings_manifest.js +1 -0
- data/app/assets/javascripts/decidim/meetings/admin/registrations_invite_form.es6 +25 -0
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +2 -0
- data/app/cells/decidim/meetings/meeting_cell.rb +1 -1
- data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +57 -8
- data/app/commands/decidim/meetings/admin/validate_registration_code.rb +51 -0
- data/app/commands/decidim/meetings/decline_invitation.rb +45 -0
- data/app/commands/decidim/meetings/join_meeting.rb +8 -3
- data/app/controllers/decidim/meetings/admin/attachment_collections_controller.rb +0 -4
- data/app/controllers/decidim/meetings/admin/attachments_controller.rb +0 -4
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +14 -5
- data/app/controllers/decidim/meetings/admin/registrations_controller.rb +20 -0
- data/app/controllers/decidim/meetings/registrations_controller.rb +16 -0
- data/app/events/decidim/meetings/registration_code_validated_event.rb +15 -0
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +9 -2
- data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +33 -0
- data/app/mailers/decidim/meetings/registration_mailer.rb +2 -1
- data/app/models/decidim/meetings/invite.rb +38 -0
- data/app/models/decidim/meetings/meeting.rb +6 -0
- data/app/models/decidim/meetings/registration.rb +18 -0
- data/app/permissions/decidim/meetings/admin/permissions.rb +2 -2
- data/app/permissions/decidim/meetings/permissions.rb +8 -1
- data/app/presenters/decidim/meetings/admin_log/invite_presenter.rb +35 -0
- data/app/presenters/decidim/meetings/invite_presenter.rb +26 -0
- data/app/queries/decidim/meetings/admin/invites.rb +59 -0
- data/app/serializers/decidim/meetings/data_portability_invite_serializer.rb +35 -0
- data/app/serializers/decidim/meetings/data_portability_registration_serializer.rb +1 -0
- data/app/serializers/decidim/meetings/registration_serializer.rb +1 -0
- data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -0
- data/app/views/decidim/meetings/admin/invites/_form.html.erb +34 -5
- data/app/views/decidim/meetings/admin/invites/index.html.erb +99 -0
- data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +2 -3
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +2 -0
- data/app/views/decidim/meetings/admin/registrations/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +24 -0
- data/app/views/decidim/meetings/meetings/_meetings.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/index.js.erb +0 -1
- data/app/views/decidim/meetings/meetings/show.html.erb +9 -0
- data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +2 -0
- data/app/views/decidim/participatory_spaces/_meeting.html.erb +1 -1
- data/app/views/devise/mailer/join_meeting.html.erb +1 -0
- data/app/views/devise/mailer/join_meeting.text.erb +4 -0
- data/config/locales/ca.yml +53 -5
- data/config/locales/en.yml +53 -5
- data/config/locales/es-PY.yml +52 -4
- data/config/locales/es.yml +53 -5
- data/config/locales/eu.yml +52 -4
- data/config/locales/fi.yml +164 -116
- data/config/locales/fr.yml +53 -5
- data/config/locales/gl.yml +52 -4
- data/config/locales/hu.yml +391 -0
- data/config/locales/it.yml +52 -4
- data/config/locales/nl.yml +52 -4
- data/config/locales/pl.yml +52 -4
- data/config/locales/pt-BR.yml +56 -8
- data/config/locales/pt.yml +52 -4
- data/config/locales/ru.yml +57 -9
- data/config/locales/sv.yml +135 -87
- data/config/locales/uk.yml +56 -8
- data/db/migrate/20180607142020_create_decidim_meetings_invites.rb +15 -0
- data/db/migrate/20180615160839_add_code_to_decidim_meetings_registrations.rb +7 -0
- data/db/migrate/20180711111023_add_validated_at_to_decidim_meetings_registrations.rb +7 -0
- data/lib/decidim/meetings.rb +1 -0
- data/lib/decidim/meetings/admin_engine.rb +3 -1
- data/lib/decidim/meetings/component.rb +2 -0
- data/lib/decidim/meetings/engine.rb +1 -0
- data/lib/decidim/meetings/registrations.rb +14 -0
- data/lib/decidim/meetings/registrations/code_generator.rb +39 -0
- data/lib/decidim/meetings/test/factories.rb +20 -4
- data/lib/decidim/meetings/version.rb +1 -1
- metadata +30 -14
- 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(".
|
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
|
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] %>
|
@@ -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 +1 @@
|
|
1
|
-
<%= card_for meeting, size: :list_item
|
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 %>
|
data/config/locales/ca.yml
CHANGED
@@ -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
|
-
|
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
|
-
|
170
|
-
|
180
|
+
form:
|
181
|
+
attendee_type: Tipus d'assistent
|
182
|
+
existing_user: Usuari existent
|
171
183
|
invite: Convidar
|
172
|
-
|
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
|
-
|
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.
|
data/config/locales/en.yml
CHANGED
@@ -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
|
-
|
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
|
-
|
171
|
-
|
181
|
+
form:
|
182
|
+
attendee_type: Attendee type
|
183
|
+
existing_user: Existing user
|
172
184
|
invite: Invite
|
173
|
-
|
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
|
-
|
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.
|
data/config/locales/es-PY.yml
CHANGED
@@ -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
|
-
|
170
|
-
|
180
|
+
form:
|
181
|
+
attendee_type: Tipo de asistente
|
182
|
+
existing_user: Usuario existente
|
171
183
|
invite: Invitar
|
172
|
-
|
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
|
-
|
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.
|