decidim-meetings 0.10.1 → 0.11.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/config/admin/decidim_meetings_manifest.js +1 -0
- data/app/assets/javascripts/decidim/meetings/admin/meetings_form.js.es6 +78 -0
- data/app/assets/javascripts/decidim/meetings/admin/registrations_form.js.es6 +9 -7
- data/app/cells/decidim/meetings/meeting_cell.rb +71 -0
- data/app/cells/decidim/meetings/meeting_list_item/show.erb +14 -0
- data/app/cells/decidim/meetings/meeting_list_item_cell.rb +26 -0
- data/app/cells/decidim/meetings/meeting_m/header.erb +5 -0
- data/app/cells/decidim/meetings/meeting_m/show.erb +21 -0
- data/app/cells/decidim/meetings/meeting_m_cell.rb +17 -0
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +82 -0
- data/app/commands/decidim/meetings/admin/create_meeting.rb +3 -1
- data/app/commands/decidim/meetings/admin/export_meeting_registrations.rb +44 -0
- data/app/commands/decidim/meetings/admin/update_meeting.rb +1 -0
- data/app/commands/decidim/meetings/admin/update_registrations.rb +1 -0
- data/app/commands/decidim/meetings/join_meeting.rb +1 -1
- data/app/commands/decidim/meetings/leave_meeting.rb +1 -1
- data/app/controllers/decidim/meetings/admin/application_controller.rb +3 -3
- data/app/controllers/decidim/meetings/admin/attachment_collections_controller.rb +2 -2
- data/app/controllers/decidim/meetings/admin/attachments_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +43 -0
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +10 -2
- data/app/controllers/decidim/meetings/admin/registrations_controller.rb +6 -5
- data/app/controllers/decidim/meetings/application_controller.rb +2 -2
- data/app/controllers/decidim/meetings/meeting_widgets_controller.rb +1 -1
- data/app/controllers/decidim/meetings/meetings_controller.rb +2 -2
- data/app/controllers/decidim/meetings/registrations_controller.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_copy_form.rb +54 -0
- data/app/forms/decidim/meetings/admin/meeting_form.rb +17 -6
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +10 -1
- data/app/forms/decidim/meetings/admin/meeting_service_form.rb +23 -0
- data/app/helpers/decidim/meetings/admin/application_helper.rb +4 -0
- data/app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb +1 -1
- data/app/models/decidim/meetings/abilities/current_user_ability.rb +6 -6
- data/app/models/decidim/meetings/meeting.rb +14 -8
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +1 -1
- data/app/services/decidim/meetings/meeting_search.rb +2 -2
- data/app/types/decidim/meetings/meeting_type.rb +38 -0
- data/app/types/decidim/meetings/meetings_type.rb +32 -0
- data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -1
- data/app/views/decidim/meetings/admin/invites/new.html.erb +3 -3
- data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +2 -3
- data/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +2 -2
- data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +42 -0
- data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +7 -0
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +15 -11
- data/app/views/decidim/meetings/admin/meetings/_service.html.erb +48 -0
- data/app/views/decidim/meetings/admin/meetings/_services.html.erb +25 -0
- data/app/views/decidim/meetings/admin/meetings/edit.html.erb +2 -3
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +13 -9
- data/app/views/decidim/meetings/admin/meetings/new.html.erb +2 -2
- data/app/views/decidim/meetings/admin/registrations/_form.html.erb +7 -2
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +2 -3
- data/app/views/decidim/meetings/meetings/_filters.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_meetings.html.erb +1 -18
- data/app/views/decidim/meetings/meetings/_registration_confirm.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/index.html.erb +3 -3
- data/app/views/decidim/meetings/meetings/show.html.erb +21 -4
- data/app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_meetings.html.erb +2 -2
- data/app/views/decidim/participatory_spaces/_highlighted_meetings.html.erb +4 -4
- data/app/views/decidim/participatory_spaces/_meeting.html.erb +1 -14
- data/app/views/devise/mailer/join_meeting.html.erb +1 -1
- data/app/views/devise/mailer/join_meeting.text.erb +1 -1
- data/config/locales/ca.yml +35 -12
- data/config/locales/en.yml +35 -12
- data/config/locales/es.yml +35 -12
- data/config/locales/eu.yml +35 -12
- data/config/locales/fi.yml +35 -12
- data/config/locales/fr.yml +35 -12
- data/config/locales/gl.yml +35 -12
- data/config/locales/it.yml +35 -12
- data/config/locales/nl.yml +73 -50
- data/config/locales/pl.yml +35 -12
- data/config/locales/pt-BR.yml +35 -12
- data/config/locales/pt.yml +35 -12
- data/config/locales/ru.yml +0 -3
- data/config/locales/sv.yml +35 -12
- data/config/locales/uk.yml +0 -3
- data/db/migrate/20180305133634_rename_features_to_components_at_meetings.rb +11 -0
- data/db/migrate/20180326082611_add_fields_for_registrations.rb +7 -0
- data/db/migrate/20180407110934_add_services_to_meetings.rb +7 -0
- data/lib/decidim/meetings.rb +2 -1
- data/lib/decidim/meetings/admin_engine.rb +1 -0
- data/lib/decidim/meetings/{feature.rb → component.rb} +27 -19
- data/lib/decidim/meetings/engine.rb +27 -4
- data/lib/decidim/meetings/test/factories.rb +10 -3
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings/view_model.rb +12 -0
- metadata +65 -15
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="card-divider">
|
3
3
|
<h2 class="card-title">
|
4
4
|
<%= t(".title") %>
|
5
|
-
<%= link_to t("actions.new", scope: "decidim.meetings", name: t("models.meeting.name", scope: "decidim.meetings.admin")), new_meeting_path, class:
|
5
|
+
<%= link_to t("actions.new", scope: "decidim.meetings", name: t("models.meeting.name", scope: "decidim.meetings.admin")), new_meeting_path, class: "button tiny button--title" if can? :manage, current_component %>
|
6
6
|
</h2>
|
7
7
|
</div>
|
8
8
|
|
@@ -30,12 +30,12 @@
|
|
30
30
|
<td>
|
31
31
|
<% if meeting.start_time %>
|
32
32
|
<%= l meeting.start_time, format: :long %>
|
33
|
-
<%
|
33
|
+
<% end %>
|
34
34
|
</td>
|
35
35
|
<td>
|
36
36
|
<% if meeting.end_time %>
|
37
37
|
<%= l meeting.end_time, format: :long %>
|
38
|
-
<%
|
38
|
+
<% end %>
|
39
39
|
</td>
|
40
40
|
<td>
|
41
41
|
<%= humanize_boolean meeting.closed? %>
|
@@ -48,24 +48,28 @@
|
|
48
48
|
<td class="table-list__actions">
|
49
49
|
<%= icon_link_to "eye", resource_locator(meeting).path, t("actions.preview", scope: "decidim.meetings"), class: "action-icon--preview", target: :blank %>
|
50
50
|
|
51
|
-
<% if can? :update,
|
51
|
+
<% if can? :update, current_component %>
|
52
|
+
<%= icon_link_to "clipboard", new_meeting_copy_path(meeting), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
<% if can? :update, current_component %>
|
52
56
|
<%= icon_link_to "pencil", edit_meeting_path(meeting), t("actions.edit", scope: "decidim.meetings"), class: "action-icon--edit" %>
|
53
57
|
<%= icon_link_to "people", edit_meeting_registrations_path(meeting), t("actions.registrations", scope: "decidim.meetings"), class: "action-icon--registrations" %>
|
54
58
|
<% end %>
|
55
59
|
|
56
|
-
<% if can? :update,
|
60
|
+
<% if can? :update, current_component %>
|
57
61
|
<%= icon_link_to "lock-locked", edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), t("actions.close", scope: "decidim.meetings"), class: "action-icon--close" %>
|
58
62
|
<% end %>
|
59
63
|
|
60
|
-
<% if can? :update,
|
64
|
+
<% if can? :update, current_component %>
|
61
65
|
<%= icon_link_to "folder", meeting_attachment_collections_path(meeting), t("actions.attachment_collections", scope: "decidim.meetings"), class: "action-icon--attachment_collections" %>
|
62
66
|
<% end %>
|
63
67
|
|
64
|
-
<% if can? :update,
|
68
|
+
<% if can? :update, current_component %>
|
65
69
|
<%= icon_link_to "paperclip", meeting_attachments_path(meeting), t("actions.attachments", scope: "decidim.meetings"), class: "action-icon--attachments" %>
|
66
70
|
<% end %>
|
67
71
|
|
68
|
-
<% if can? :destroy,
|
72
|
+
<% if can? :destroy, current_component %>
|
69
73
|
<%= 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") } %>
|
70
74
|
<% end %>
|
71
75
|
</td>
|
@@ -76,4 +80,4 @@
|
|
76
80
|
<%= paginate meetings, theme: "decidim" %>
|
77
81
|
</div>
|
78
82
|
</div>
|
79
|
-
|
83
|
+
</div>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<%=
|
2
|
-
<%= render partial:
|
1
|
+
<%= decidim_form_for(@form, html: { class: "form new_meeting" }) do |f| %>
|
2
|
+
<%= render partial: "form", object: f, locals: { title: t(".title") } %>
|
3
3
|
|
4
4
|
<div class="button--double form-general-submit">
|
5
5
|
<%= f.submit t(".create") %>
|
@@ -5,9 +5,9 @@
|
|
5
5
|
<%= link_to t(".invite_user"), meeting.registrations_enabled ? new_meeting_registrations_invites_path(meeting) : "#", class: "button tiny button--title #{'disabled' unless meeting.registrations_enabled?}" %>
|
6
6
|
<span class="exports dropdown tiny button button--simple button--title" data-toggle="export-dropdown"><%= t "actions.export", scope: "decidim.admin" %></span>
|
7
7
|
<div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
|
8
|
-
<ul class="vertical menu add-
|
8
|
+
<ul class="vertical menu add-components">
|
9
9
|
<% %w{CSV JSON Excel}.each do |format| %>
|
10
|
-
<li class="exports--format--<%= format.downcase %> exports--registrations"><%= link_to t("decidim.admin.exports.export_as", name: t("decidim.#{
|
10
|
+
<li class="exports--format--<%= format.downcase %> exports--registrations"><%= link_to t("decidim.admin.exports.export_as", name: t("decidim.#{current_component.manifest.name}.admin.exports.registrations"), export_format: format), export_meeting_registrations_path(meeting_id: meeting, format: format) %></li>
|
11
11
|
<% end %>
|
12
12
|
</ul>
|
13
13
|
</div>
|
@@ -25,6 +25,11 @@
|
|
25
25
|
<p class="help-text"><%= t(".available_slots_help") %></p>
|
26
26
|
</div>
|
27
27
|
|
28
|
+
<div class="row column">
|
29
|
+
<%= form.number_field :reserved_slots %>
|
30
|
+
<p class="help-text"><%= t(".reserved_slots_help") %></p>
|
31
|
+
</div>
|
32
|
+
|
28
33
|
<div class="row column">
|
29
34
|
<%= form.translated :editor, :registration_terms %>
|
30
35
|
</div>
|
@@ -1,8 +1,7 @@
|
|
1
|
-
<%=
|
2
|
-
<%= render partial:
|
1
|
+
<%= decidim_form_for(@form, url: meeting_registrations_path, html: { class: "form edit_meeting_registrations" }) do |f| %>
|
2
|
+
<%= render partial: "form", object: f %>
|
3
3
|
|
4
4
|
<div class="button--double form-general-submit">
|
5
5
|
<%= f.submit t(".save") %>
|
6
6
|
</div>
|
7
7
|
<% end %>
|
8
|
-
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<%= scopes_picker_filter form, :scope_id %>
|
21
21
|
<% end %>
|
22
22
|
|
23
|
-
<% if
|
24
|
-
<%= form.categories_select :category_id,
|
23
|
+
<% if current_component.categories.any? %>
|
24
|
+
<%= form.categories_select :category_id, current_component.categories, legend_title: t(".category"), disable_parents: false, label: false, prompt: t(".category_prompt") %>
|
25
25
|
<% end %>
|
26
26
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="filters-controls hide-for-mediumlarge">
|
2
2
|
<button data-open="filter-box" class="filters-controls__trigger">
|
3
3
|
<%= t ".filter" %>
|
4
|
-
<%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(
|
4
|
+
<%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(".unfold"), role: "img" %>
|
5
5
|
</button>
|
6
6
|
</div>
|
7
7
|
|
@@ -12,24 +12,7 @@
|
|
12
12
|
|
13
13
|
<div class="row small-up-1 medium-up-2 card-grid">
|
14
14
|
<% meetings.each do |meeting| %>
|
15
|
-
|
16
|
-
<article class="card card--meeting">
|
17
|
-
<div class="card__content">
|
18
|
-
<%= link_to meeting, class: "card__link" do %>
|
19
|
-
<h5 class="card__title"><%= translated_attribute meeting.title %></h5>
|
20
|
-
<% end %>
|
21
|
-
<%= render partial: "datetime", locals: { meeting: meeting } %>
|
22
|
-
<%= decidim_sanitize meeting_description(meeting) %>
|
23
|
-
<%= render partial: "decidim/shared/tags", locals: { resource: meeting, tags_class_extra: "tags--meeting" } %>
|
24
|
-
<div class="address card__extra">
|
25
|
-
<div class="address__icon">
|
26
|
-
<%= icon "meetings", remove_icon_class: true, width: 40, height: 70 %>
|
27
|
-
</div>
|
28
|
-
<%= render partial: "decidim/shared/address_details", locals: { icon_name: "meetings", geolocalizable: meeting } %>
|
29
|
-
</div>
|
30
|
-
</div>
|
31
|
-
</article>
|
32
|
-
</div>
|
15
|
+
<%= card_for meeting %>
|
33
16
|
<% end %>
|
34
17
|
</div>
|
35
18
|
<%= decidim_paginate meetings, order_start_time: params[:order_start_time], scope_id: params[:scope_id] %>
|
@@ -6,10 +6,10 @@
|
|
6
6
|
</div>
|
7
7
|
<div class="row">
|
8
8
|
<div class="columns medium-8 medium-offset-2">
|
9
|
-
<%= button_to t(
|
9
|
+
<%= button_to t(".confirm"), meeting_registration_path(meeting), class: "button expanded", data: { disable: true } %>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
<div class="text-center">
|
13
|
-
<button class="link" data-close><%= t(
|
13
|
+
<button class="link" data-close><%= t(".cancel") %></button>
|
14
14
|
</div>
|
15
15
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= render partial: "decidim/shared/
|
1
|
+
<%= render partial: "decidim/shared/component_announcement" %>
|
2
2
|
|
3
3
|
<%= dynamic_map_for meetings_data_for_map(geocoded_meetings) do %>
|
4
4
|
<template id="marker-popup">
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</div>
|
25
25
|
<div class="map-info__button">
|
26
26
|
<a href="${link}" class="button button--sc">
|
27
|
-
<%= t(
|
27
|
+
<%= t(".view_meeting") %>
|
28
28
|
</a>
|
29
29
|
</div>
|
30
30
|
</div>
|
@@ -37,7 +37,7 @@
|
|
37
37
|
<div class="row">
|
38
38
|
<div class="columns mediumlarge-4 large-3">
|
39
39
|
<%= render partial: "filters_small_view" %>
|
40
|
-
<div class="card card--secondary show-for-mediumlarge"
|
40
|
+
<div class="card card--secondary show-for-mediumlarge">
|
41
41
|
<%= render partial: "filters" %>
|
42
42
|
</div>
|
43
43
|
</div>
|
@@ -20,11 +20,11 @@
|
|
20
20
|
<div class="extra__time">
|
21
21
|
<%= meeting.start_time.strftime("%H:%M") %> - <%= meeting.end_time.strftime("%H:%M") %>
|
22
22
|
</div>
|
23
|
-
<% if !meeting.closed? && meeting.registrations_enabled? %>
|
23
|
+
<% if !meeting.closed? && meeting.registrations_enabled? && meeting.can_participate?(current_user) %>
|
24
24
|
<% if meeting.has_registration_for? current_user %>
|
25
|
-
<%= action_authorized_button_to :leave, t(
|
25
|
+
<%= action_authorized_button_to :leave, t(".going"), meeting_registration_path(meeting), method: :delete, class: "button expanded button--sc success", data: { disable: true } %>
|
26
26
|
<% else %>
|
27
|
-
<%= action_authorized_button_to :join, meeting.has_available_slots? ? t(
|
27
|
+
<%= action_authorized_button_to :join, meeting.has_available_slots? ? t(".join") : t(".no_slots_available"), "", class: "button expanded button--sc", disabled: !meeting.has_available_slots?, data: { open: current_user.present? ? "meeting-registration-confirm" : "loginModal" } %>
|
28
28
|
<% end %>
|
29
29
|
<% if meeting.available_slots.positive? %>
|
30
30
|
<span><%= t(".remaining_slots", count: meeting.remaining_slots) %></span>
|
@@ -51,11 +51,28 @@
|
|
51
51
|
<% end %>
|
52
52
|
<div class="definition-data__item">
|
53
53
|
<span class="definition-data__title"><%= t(".organizations") %></span>
|
54
|
-
<span class="definition-data__text"><%= meeting.attending_organizations %></span>
|
54
|
+
<span class="definition-data__text"><%= simple_format(meeting.attending_organizations) %></span>
|
55
55
|
</div>
|
56
56
|
</div>
|
57
57
|
<% end %>
|
58
58
|
</div>
|
59
|
+
|
60
|
+
<% if meeting.services.any? %>
|
61
|
+
<div class="card card--list">
|
62
|
+
<% meeting.services.each do |service| %>
|
63
|
+
<div class="card--list__item">
|
64
|
+
<div class="card--list__text card--list__text--top">
|
65
|
+
<%= icon "actions", class: "card--list__icon alert" %>
|
66
|
+
<div>
|
67
|
+
<h5 class="card--list__heading heading-small"><%= translated_attribute(service["title"]) %></h5>
|
68
|
+
<span class="text-medium"><%= translated_attribute(service["description"]) %></span>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
<% end %>
|
73
|
+
</div>
|
74
|
+
<% end %>
|
75
|
+
|
59
76
|
<%= resource_reference(meeting) %>
|
60
77
|
<%= render partial: "decidim/shared/share_modal" %>
|
61
78
|
<%= embed_modal_for meeting_meeting_widget_url(meeting, format: :js) %>
|
@@ -2,14 +2,14 @@
|
|
2
2
|
<section class="section row collapse upcoming_meetings">
|
3
3
|
<h2 class="section-heading"><%= t(".upcoming_meetings") %></h2>
|
4
4
|
<div class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
5
|
-
<%= render partial:
|
5
|
+
<%= render partial: "decidim/participatory_processes/participatory_process_groups/meeting", collection: upcoming_meetings %>
|
6
6
|
</div>
|
7
7
|
</section>
|
8
8
|
<% elsif past_meetings.any? %>
|
9
9
|
<section class="section row collapse past_meetings">
|
10
10
|
<h2 class="section-heading"><%= t(".past_meetings") %></h2>
|
11
11
|
<div class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
12
|
-
<%= render partial:
|
12
|
+
<%= render partial: "decidim/participatory_processes/participatory_process_groups/meeting", collection: past_meetings %>
|
13
13
|
</div>
|
14
14
|
</section>
|
15
15
|
<% end %>
|
@@ -1,19 +1,19 @@
|
|
1
1
|
<% if upcoming_meetings.any? %>
|
2
2
|
<div class="section upcoming_meetings">
|
3
3
|
<h4 class="section-heading">
|
4
|
-
<%= t(".upcoming_meetings") %> <a href="<%=
|
4
|
+
<%= t(".upcoming_meetings") %> <a href="<%= main_component_path(upcoming_meetings.first.component) %>" class="text-small"><%= t(".see_all_meetings") %></a>
|
5
5
|
</h4>
|
6
6
|
<div class="card card--list">
|
7
|
-
<%= render partial:
|
7
|
+
<%= render partial: "decidim/participatory_spaces/meeting", collection: upcoming_meetings %>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
<% elsif past_meetings.any? %>
|
11
11
|
<div class="section past_meetings">
|
12
12
|
<h4 class="section-heading">
|
13
|
-
<%= t(".past_meetings") %> <a href="<%=
|
13
|
+
<%= t(".past_meetings") %> <a href="<%= main_component_path(past_meetings.first.component) %>" class="text-small"><%= t(".see_all_meetings") %></a>
|
14
14
|
</h4>
|
15
15
|
<div class="card card--list">
|
16
|
-
<%= render partial:
|
16
|
+
<%= render partial: "decidim/participatory_spaces/meeting", collection: past_meetings %>
|
17
17
|
</div>
|
18
18
|
</div>
|
19
19
|
<% end %>
|
@@ -1,14 +1 @@
|
|
1
|
-
|
2
|
-
<div class="card--list__text">
|
3
|
-
<div>
|
4
|
-
<a href="<%= resource_locator(meeting).path %>" class="card__link">
|
5
|
-
<h6 class="card--list__heading heading6">
|
6
|
-
<%= translated_attribute meeting.title %>
|
7
|
-
</h6>
|
8
|
-
<span class="text-medium">
|
9
|
-
<%= l meeting.start_time, format: :decidim_day_of_year %> - <%= l meeting.start_time, format: :time_of_day %> - <%= l meeting.end_time, format: :time_of_day %>
|
10
|
-
</span>
|
11
|
-
</a>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
</div>
|
1
|
+
<%= card_for meeting, size: :list_item %>
|
@@ -4,7 +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.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].
|
7
|
+
<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
8
|
|
9
9
|
<% if @resource.invitation_due_at %>
|
10
10
|
<p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %></p>
|
@@ -2,7 +2,7 @@
|
|
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
|
-
<% accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:meeting].
|
5
|
+
<% 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
6
|
|
7
7
|
<% if @resource.invitation_due_at %>
|
8
8
|
<%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %>
|
data/config/locales/ca.yml
CHANGED
@@ -21,6 +21,28 @@ ca:
|
|
21
21
|
start_time: Hora d'inici
|
22
22
|
title: Títol
|
23
23
|
decidim:
|
24
|
+
admin:
|
25
|
+
meeting_copies:
|
26
|
+
create:
|
27
|
+
error: S'ha produït un error en duplicar aquesta trobada.
|
28
|
+
success: Trobada duplicada amb èxit.
|
29
|
+
new:
|
30
|
+
copy: Copia
|
31
|
+
select: Selecciona quines dades vols duplicar
|
32
|
+
title: Duplicar trobada
|
33
|
+
components:
|
34
|
+
meetings:
|
35
|
+
actions:
|
36
|
+
join: Inscriu-t'hi
|
37
|
+
name: Trobades
|
38
|
+
settings:
|
39
|
+
global:
|
40
|
+
announcement: Anunci
|
41
|
+
comments_enabled: Comentaris habilitats
|
42
|
+
default_registration_terms: Termes de registre per defecte
|
43
|
+
step:
|
44
|
+
announcement: Anunci
|
45
|
+
comments_blocked: Comentaris bloquejats
|
24
46
|
events:
|
25
47
|
meetings:
|
26
48
|
meeting_closed:
|
@@ -53,18 +75,6 @@ ca:
|
|
53
75
|
email_outro: Has rebut aquesta notificació perquè estàs seguint la trobada "%{resource_title}". Pots deixar-la de seguir des de l'enllaç anterior.
|
54
76
|
email_subject: En menys de 48 hores s'iniciarà la trobada "%{resource_title}".
|
55
77
|
notification_title: La trobada <a href="%{resource_path}">%{resource_title}</a> començarà en menys de 48 hores.
|
56
|
-
features:
|
57
|
-
meetings:
|
58
|
-
actions:
|
59
|
-
join: Inscriu-t'hi
|
60
|
-
name: Trobades
|
61
|
-
settings:
|
62
|
-
global:
|
63
|
-
announcement: Anunci
|
64
|
-
comments_enabled: Comentaris habilitats
|
65
|
-
step:
|
66
|
-
announcement: Anunci
|
67
|
-
comments_blocked: Comentaris bloquejats
|
68
78
|
meetings:
|
69
79
|
actions:
|
70
80
|
attachment_collections: Col·leccions
|
@@ -112,6 +122,16 @@ ca:
|
|
112
122
|
new:
|
113
123
|
create: Crear
|
114
124
|
title: Crear trobada
|
125
|
+
service:
|
126
|
+
description: Descripció
|
127
|
+
down: Avall
|
128
|
+
remove: Elimina
|
129
|
+
service: Servei
|
130
|
+
title: Títol
|
131
|
+
up: Pujar
|
132
|
+
services:
|
133
|
+
add_service: Afegeix servei
|
134
|
+
services: Serveis
|
115
135
|
update:
|
116
136
|
invalid: Hi ha hagut un problema en actualitzar aquesta trobada
|
117
137
|
success: Trobada actualitzada correctament
|
@@ -127,6 +147,8 @@ ca:
|
|
127
147
|
registrations_count:
|
128
148
|
one: Hi ha hagut 1 inscripció.
|
129
149
|
other: Hi ha hagut %{count} inscripcions.
|
150
|
+
reserved_slots_help: Deixa'l a 0 si no tens espais reservats
|
151
|
+
reserved_slots_less_than: Ha de ser inferior o igual que %{count}
|
130
152
|
update:
|
131
153
|
invalid: S'ha produït un problema en desar la configuració de la inscripció.
|
132
154
|
success: La configuració de les inscripcions de la trobada s'ha desat correctament.
|
@@ -135,6 +157,7 @@ ca:
|
|
135
157
|
close: "%{user_name} ha tancat la trobada %{resource_name} a l'espai %{space_name}"
|
136
158
|
create: "%{user_name} ha creat la trobada %{resource_name} a l'espai %{space_name}"
|
137
159
|
delete: "%{user_name} ha eliminat la trobada %{resource_name} a l'espai %{space_name}"
|
160
|
+
export_registrations: "%{user_name} va exportar les inscripcions de la trobada %{resource_name} de l'espai %{space_name}"
|
138
161
|
update: "%{user_name} ha actualitzat la trobada %{resource_name} a l'espai %{space_name}"
|
139
162
|
mailer:
|
140
163
|
invite_join_meeting_mailer:
|
data/config/locales/en.yml
CHANGED
@@ -22,6 +22,28 @@ en:
|
|
22
22
|
start_time: Start Time
|
23
23
|
title: Title
|
24
24
|
decidim:
|
25
|
+
admin:
|
26
|
+
meeting_copies:
|
27
|
+
create:
|
28
|
+
error: There was en error duplicating this meeting.
|
29
|
+
success: Duplicated meeting successfully.
|
30
|
+
new:
|
31
|
+
copy: Copy
|
32
|
+
select: Select which data you would like to duplicate
|
33
|
+
title: Duplicate meeting
|
34
|
+
components:
|
35
|
+
meetings:
|
36
|
+
actions:
|
37
|
+
join: Join
|
38
|
+
name: Meetings
|
39
|
+
settings:
|
40
|
+
global:
|
41
|
+
announcement: Announcement
|
42
|
+
comments_enabled: Comments enabled
|
43
|
+
default_registration_terms: Default registration terms
|
44
|
+
step:
|
45
|
+
announcement: Announcement
|
46
|
+
comments_blocked: Comments blocked
|
25
47
|
events:
|
26
48
|
meetings:
|
27
49
|
meeting_closed:
|
@@ -54,18 +76,6 @@ en:
|
|
54
76
|
email_outro: You have received this notification because you are following the "%{resource_title}" meeting. You can unfollow it from the previous link.
|
55
77
|
email_subject: The "%{resource_title}" meeting will start in less than 48h.
|
56
78
|
notification_title: The <a href="%{resource_path}">%{resource_title}</a> meeting will start in less than 48h.
|
57
|
-
features:
|
58
|
-
meetings:
|
59
|
-
actions:
|
60
|
-
join: Join
|
61
|
-
name: Meetings
|
62
|
-
settings:
|
63
|
-
global:
|
64
|
-
announcement: Announcement
|
65
|
-
comments_enabled: Comments enabled
|
66
|
-
step:
|
67
|
-
announcement: Announcement
|
68
|
-
comments_blocked: Comments blocked
|
69
79
|
meetings:
|
70
80
|
actions:
|
71
81
|
attachment_collections: Collections
|
@@ -113,6 +123,16 @@ en:
|
|
113
123
|
new:
|
114
124
|
create: Create
|
115
125
|
title: Create meeting
|
126
|
+
service:
|
127
|
+
description: Description
|
128
|
+
down: Down
|
129
|
+
remove: Remove
|
130
|
+
service: Service
|
131
|
+
title: Title
|
132
|
+
up: Up
|
133
|
+
services:
|
134
|
+
add_service: Add service
|
135
|
+
services: Services
|
116
136
|
update:
|
117
137
|
invalid: There's been a problem updating this meeting
|
118
138
|
success: Meeting successfully updated
|
@@ -129,6 +149,8 @@ en:
|
|
129
149
|
one: There has been 1 registration.
|
130
150
|
other: There has been %{count} registrations.
|
131
151
|
zero: There has not been registrations yet.
|
152
|
+
reserved_slots_help: Leave it to 0 if you don't have reserved slots
|
153
|
+
reserved_slots_less_than: Must be less than or equal to %{count}
|
132
154
|
update:
|
133
155
|
invalid: There's been a problem saving the registration settings.
|
134
156
|
success: Meeting registrations settings successfully saved.
|
@@ -137,6 +159,7 @@ en:
|
|
137
159
|
close: "%{user_name} closed the %{resource_name} meeting on the %{space_name} space"
|
138
160
|
create: "%{user_name} created the %{resource_name} meeting on the %{space_name} space"
|
139
161
|
delete: "%{user_name} deleted the %{resource_name} meeting on the %{space_name} space"
|
162
|
+
export_registrations: "%{user_name} exported the registrations of the %{resource_name} meeting on the %{space_name} space"
|
140
163
|
update: "%{user_name} updated the %{resource_name} meeting on the %{space_name} space"
|
141
164
|
mailer:
|
142
165
|
invite_join_meeting_mailer:
|