decidim-meetings 0.23.1 → 0.24.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_meetings_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/meetings/admin/meetings_form.js.es6 +47 -0
  4. data/app/assets/javascripts/decidim/meetings/meetings_form.js.es6 +45 -0
  5. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/elements.erb +16 -0
  6. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/heading.erb +1 -0
  7. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +27 -0
  8. data/app/cells/decidim/meetings/join_meeting_button/show.erb +7 -0
  9. data/app/cells/decidim/meetings/meeting_activity_cell.rb +13 -5
  10. data/app/cells/decidim/meetings/meeting_cell.rb +2 -4
  11. data/app/cells/decidim/meetings/meeting_highlighted_list_item/show.erb +21 -0
  12. data/app/cells/decidim/meetings/meeting_highlighted_list_item_cell.rb +10 -0
  13. data/app/cells/decidim/meetings/meeting_m/address.erb +5 -1
  14. data/app/cells/decidim/meetings/meeting_m_cell.rb +2 -0
  15. data/app/cells/decidim/meetings/meeting_url/show.erb +15 -0
  16. data/app/cells/decidim/meetings/meeting_url_cell.rb +17 -0
  17. data/app/cells/decidim/meetings/reported_content/show.erb +3 -0
  18. data/app/cells/decidim/meetings/reported_content_cell.rb +13 -0
  19. data/app/commands/decidim/meetings/admin/create_meeting.rb +5 -0
  20. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +1 -1
  21. data/app/commands/decidim/meetings/admin/update_meeting.rb +5 -0
  22. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +2 -0
  23. data/app/commands/decidim/meetings/close_meeting.rb +66 -0
  24. data/app/commands/decidim/meetings/create_meeting.rb +7 -1
  25. data/app/commands/decidim/meetings/leave_meeting.rb +2 -2
  26. data/app/commands/decidim/meetings/update_meeting.rb +8 -1
  27. data/app/controllers/decidim/meetings/admin/application_controller.rb +1 -1
  28. data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +2 -2
  29. data/app/controllers/decidim/meetings/directory/meetings_controller.rb +2 -2
  30. data/app/controllers/decidim/meetings/meeting_closes_controller.rb +43 -0
  31. data/app/controllers/decidim/meetings/meetings_controller.rb +10 -6
  32. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +4 -4
  33. data/app/forms/decidim/meetings/admin/meeting_form.rb +62 -4
  34. data/app/forms/decidim/meetings/close_meeting_form.rb +31 -0
  35. data/app/forms/decidim/meetings/meeting_form.rb +71 -3
  36. data/app/helpers/decidim/meetings/application_helper.rb +20 -0
  37. data/app/helpers/decidim/meetings/map_helper.rb +1 -1
  38. data/app/models/decidim/meetings/agenda_item.rb +1 -1
  39. data/app/models/decidim/meetings/meeting.rb +95 -8
  40. data/app/permissions/decidim/meetings/permissions.rb +12 -2
  41. data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +2 -2
  42. data/app/presenters/decidim/meetings/meeting_presenter.rb +33 -0
  43. data/app/services/decidim/meetings/meeting_search.rb +20 -0
  44. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -1
  45. data/app/views/decidim/meetings/admin/invites/index.html.erb +1 -1
  46. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +31 -1
  47. data/app/views/decidim/meetings/admin/meetings/edit.html.erb +2 -2
  48. data/app/views/decidim/meetings/admin/meetings/index.html.erb +23 -1
  49. data/app/views/decidim/meetings/admin/meetings/new.html.erb +2 -2
  50. data/app/views/decidim/meetings/admin/minutes/edit.html.erb +1 -1
  51. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +20 -18
  52. data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -0
  53. data/app/views/decidim/meetings/directory/meetings/index.js.erb +0 -3
  54. data/app/views/decidim/meetings/meeting_closes/_form.html.erb +7 -0
  55. data/app/views/decidim/meetings/meeting_closes/edit.html.erb +25 -0
  56. data/app/views/decidim/meetings/meeting_closes/proposals_picker.html.erb +1 -0
  57. data/app/views/decidim/meetings/meetings/_filters.html.erb +6 -0
  58. data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
  59. data/app/views/decidim/meetings/meetings/_form.html.erb +36 -2
  60. data/app/views/decidim/meetings/meetings/_online_meeting_link.html.erb +11 -0
  61. data/app/views/decidim/meetings/meetings/edit.html.erb +1 -1
  62. data/app/views/decidim/meetings/meetings/index.js.erb +0 -3
  63. data/app/views/decidim/meetings/meetings/new.html.erb +1 -1
  64. data/app/views/decidim/meetings/meetings/show.html.erb +31 -25
  65. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +3 -1
  66. data/app/views/decidim/participatory_spaces/_upcoming_meeting_for_card.html.erb +1 -1
  67. data/config/locales/ar.yml +0 -7
  68. data/config/locales/ca.yml +48 -9
  69. data/config/locales/cs.yml +52 -13
  70. data/config/locales/de.yml +112 -73
  71. data/config/locales/el.yml +0 -10
  72. data/config/locales/en.yml +48 -9
  73. data/config/locales/es-MX.yml +47 -9
  74. data/config/locales/es-PY.yml +47 -9
  75. data/config/locales/es.yml +47 -9
  76. data/config/locales/eu.yml +0 -7
  77. data/config/locales/fi-plain.yml +46 -7
  78. data/config/locales/fi.yml +179 -140
  79. data/config/locales/fr-CA.yml +48 -9
  80. data/config/locales/fr.yml +50 -11
  81. data/config/locales/gl.yml +0 -7
  82. data/config/locales/hu.yml +0 -10
  83. data/config/locales/id-ID.yml +0 -7
  84. data/config/locales/is-IS.yml +0 -7
  85. data/config/locales/it.yml +0 -9
  86. data/config/locales/ja.yml +0 -9
  87. data/config/locales/lv.yml +0 -10
  88. data/config/locales/nl.yml +44 -8
  89. data/config/locales/no.yml +23 -11
  90. data/config/locales/pl.yml +54 -16
  91. data/config/locales/pt-BR.yml +0 -7
  92. data/config/locales/pt.yml +0 -9
  93. data/config/locales/ro-RO.yml +0 -9
  94. data/config/locales/ru.yml +0 -7
  95. data/config/locales/si-LK.yml +1 -0
  96. data/config/locales/sk.yml +0 -10
  97. data/config/locales/sv.yml +11 -9
  98. data/config/locales/sw-KE.yml +1 -0
  99. data/config/locales/tr-TR.yml +196 -97
  100. data/config/locales/uk.yml +0 -7
  101. data/config/locales/zh-CN.yml +0 -9
  102. data/db/migrate/20180809134748_add_upcoming_events_as_content_block.rb +1 -1
  103. data/db/migrate/20201006140511_add_online_meeting_url.rb +7 -0
  104. data/db/migrate/20201009124057_add_type_of_meeting.rb +7 -0
  105. data/db/migrate/20201016112641_add_registration_type_and_url_to_meetings.rb +19 -0
  106. data/db/migrate/20201111133246_add_salt_to_decidim_meetings.rb +8 -0
  107. data/lib/decidim/api/agenda_item_type.rb +22 -0
  108. data/lib/decidim/api/agenda_type.rb +19 -0
  109. data/lib/decidim/api/linked_resources_interface.rb +7 -6
  110. data/lib/decidim/api/meeting_type.rb +63 -0
  111. data/lib/decidim/api/meetings_type.rb +26 -0
  112. data/lib/decidim/api/minutes_type.rb +20 -0
  113. data/{app/types/decidim/meetings → lib/decidim/api}/service_type.rb +4 -4
  114. data/lib/decidim/api/services_interface.rb +3 -3
  115. data/lib/decidim/meetings.rb +1 -1
  116. data/lib/decidim/meetings/api.rb +6 -0
  117. data/lib/decidim/meetings/component.rb +53 -23
  118. data/lib/decidim/meetings/engine.rb +3 -17
  119. data/lib/decidim/meetings/test/factories.rb +16 -3
  120. data/lib/decidim/meetings/version.rb +1 -1
  121. metadata +49 -43
  122. data/app/types/decidim/meetings/agenda_item_type.rb +0 -28
  123. data/app/types/decidim/meetings/agenda_type.rb +0 -25
  124. data/app/types/decidim/meetings/meeting_type.rb +0 -65
  125. data/app/types/decidim/meetings/meetings_type.rb +0 -32
  126. data/app/types/decidim/meetings/minutes_type.rb +0 -26
  127. data/app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_meetings.html.erb +0 -15
  128. data/app/views/decidim/participatory_processes/participatory_process_groups/_meeting.html.erb +0 -10
@@ -1,26 +1,28 @@
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| %>
1
+ <% if meeting.component.settings.registration_code_enabled %>
2
+ <div class="card">
3
+ <div class="card-divider">
4
+ <h2 class="card-title">
5
+ <%= t(".validate_registration_code") %>
6
+ </h2>
7
+ </div>
8
+ <div class="card-section">
9
+ <%= decidim_form_for(@validation_form, url: validate_registration_code_meeting_registrations_path, html: { class: "form validate_meeting_registration_code" }) do |f| %>
9
10
 
10
- <div class="grid-x grid-margin-x">
11
- <div class="auto cell">
12
- <%= f.text_field :code %>
13
- </div>
11
+ <div class="grid-x grid-margin-x">
12
+ <div class="auto cell">
13
+ <%= f.text_field :code %>
14
+ </div>
14
15
 
15
- <div class="shrink cell">
16
- <div class="text-center mt-sm">
17
- <%= f.submit t(".validate") %>
16
+ <div class="shrink cell">
17
+ <div class="text-center mt-sm">
18
+ <%= f.submit t(".validate") %>
19
+ </div>
18
20
  </div>
19
21
  </div>
20
- </div>
21
- <% end %>
22
+ <% end %>
23
+ </div>
22
24
  </div>
23
- </div>
25
+ <% end %>
24
26
 
25
27
  <%= decidim_form_for(@form, url: meeting_registrations_path, html: { class: "form edit_meeting_registrations" }) do |f| %>
26
28
  <%= render partial: "form", object: f %>
@@ -8,6 +8,7 @@
8
8
 
9
9
  <div class="columns mediumlarge-4 large-3">
10
10
  <div class="card card--secondary show-for-mediumlarge">
11
+ <%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "meetings" } %>
11
12
  <%= filter_form_for filter, meetings_directory.root_path do |form| %>
12
13
  <div class="filters__section">
13
14
  <div class="filters__search">
@@ -12,7 +12,4 @@ var controller = $map.data("map-controller");
12
12
  if (controller) {
13
13
  controller.clearMarkers();
14
14
  controller.addMarkers(markerData);
15
- } else {
16
- // @deprecated Legacy support
17
- window.Decidim.currentMap = window.Decidim.loadMap('map', markerData);
18
15
  }
@@ -0,0 +1,7 @@
1
+ <div class="field hashtags__container">
2
+ <%= text_editor_for(form, :closing_report, hashtaggable: true) %>
3
+ </div>
4
+
5
+ <div class="field hashtags__container">
6
+ <%= proposals_picker(form, :proposals, proposals_picker_meeting_meeting_closes_path(meeting)) %>
7
+ </div>
@@ -0,0 +1,25 @@
1
+ <div class="row">
2
+ <div class="columns large-3">
3
+ <%= link_to :back do %>
4
+ <%= icon "chevron-left", class: "icon--small", role: "img" %>
5
+ <%= t(".back") %>
6
+ <% end %>
7
+ </div>
8
+
9
+ <div class="columns large-6">
10
+ <h2 class="section-heading"><%= t(".title") %></h2>
11
+ <div class="card">
12
+ <div class="card__content">
13
+ <%= decidim_form_for(@form, url: meeting_meeting_close_path(meeting, @form), html: { class: "form edit_close_meeting" }) do |f| %>
14
+ <%= render partial: "form", object: f, locals: { title: t(".title") } %>
15
+
16
+ <div class="button--double form-general-submit">
17
+ <%= f.submit t(".close") %>
18
+ </div>
19
+ <% end %>
20
+ </div>
21
+ </div>
22
+ </div>
23
+
24
+ <div class="columns large-3"></div>
25
+ </div>
@@ -0,0 +1 @@
1
+ <%= cell "decidim/proposals/proposals_picker", current_component %>
@@ -18,6 +18,8 @@
18
18
  <%= form.check_boxes_tree :date, filter_date_values, legend_title: t(".date") %>
19
19
  <% end %>
20
20
 
21
+ <%= form.check_boxes_tree :type, filter_type_values, legend_title: t(".type") %>
22
+
21
23
  <% if current_component.has_subscopes? %>
22
24
  <%= form.check_boxes_tree :scope_id, filter_scopes_values, legend_title: t(".scope") %>
23
25
  <% end %>
@@ -29,4 +31,8 @@
29
31
  <% if component_settings.creation_enabled_for_participants? %>
30
32
  <%= form.check_boxes_tree :origin, filter_origin_values, legend_title: t(".origin") %>
31
33
  <% end %>
34
+
35
+ <% if current_user %>
36
+ <%= form.collection_radio_buttons :activity, activity_filter_values, :first, :last, { legend_title: t(".activity") }, "aria-controls": "meetings" %>
37
+ <% end %>
32
38
  <% end %>
@@ -13,6 +13,6 @@
13
13
  </button>
14
14
  </div>
15
15
  <div class="filters">
16
- <%= render partial: "filters" %>
16
+ <%= render partial: "filters", locals: { type: :small } %>
17
17
  </div>
18
18
  </div>
@@ -7,11 +7,18 @@
7
7
  </div>
8
8
 
9
9
  <div class="field">
10
- <%= form.geocoding_field :address %>
10
+ <%= form.select :type_of_meeting,
11
+ @form.type_of_meeting_select,
12
+ { include_blank: t(".select_a_meeting_type") },
13
+ { multiple: false } %>
14
+ </div>
15
+
16
+ <div class="field" data-meeting-type="in_person">
17
+ <%= form.geocoding_field :address, input_html: { required: false } %>
11
18
  <p class="help-text"><%= t(".address_help") %></p>
12
19
  </div>
13
20
 
14
- <div class="field">
21
+ <div class="field" data-meeting-type="in_person">
15
22
  <%= form.text_area :location %>
16
23
  <p class="help-text"><%= t(".location_help") %></p>
17
24
  </div>
@@ -21,6 +28,11 @@
21
28
  <p class="help-text"><%= t(".location_hints_help") %></p>
22
29
  </div>
23
30
 
31
+ <div class="field" data-meeting-type="online">
32
+ <%= form.text_field :online_meeting_url %>
33
+ <p class="help-text"><%= t(".online_meeting_url_help") %></p>
34
+ </div>
35
+
24
36
  <div class="field">
25
37
  <%= form.datetime_field :start_time %>
26
38
  </div>
@@ -39,6 +51,28 @@
39
51
  <%= form.categories_select :decidim_category_id, current_participatory_space.categories, prompt: t(".select_a_category"), disable_parents: false %>
40
52
  </div>
41
53
 
54
+ <div class="row column">
55
+ <%= form.select :registration_type,
56
+ @form.registration_type_select,
57
+ { include_blank: t(".select_a_registration_type") },
58
+ { multiple: false } %>
59
+ </div>
60
+
61
+ <div class="row column" id="meeting_available_slots">
62
+ <%= form.number_field :available_slots %>
63
+ <p class="help-text"><%= t(".available_slots_help") %></p>
64
+ </div>
65
+
66
+ <div class="field" id="meeting_registration_terms">
67
+ <%= text_editor_for(form, :registration_terms) %>
68
+ </div>
69
+
70
+ <div class="field" id="meeting_registration_url">
71
+ <%= form.text_field :registration_url %>
72
+ <p class="help-text"><%= t(".registration_url_help") %></p>
73
+ <label><%= t(".disclaimer", organization: current_component.organization.name) %></label><br>
74
+ </div>
75
+
42
76
  <div class="field">
43
77
  <%= form.select(
44
78
  :user_group_id,
@@ -0,0 +1,11 @@
1
+ <div class="card card--secondary">
2
+ <div class="card__content address">
3
+ <div class="address__info">
4
+ <%= icon "video", role: "img", "aria-hidden": true, remove_icon_class: true, width: 40, height: 70 %>
5
+ <div class="address__details">
6
+ <span><%= link_to(meeting.online_meeting_url, meeting.online_meeting_url, target: "_blank") %></span><br>
7
+ <span><%= translated_attribute meeting.location_hints %></span>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </div>
@@ -10,7 +10,7 @@
10
10
  <h2 class="section-heading"><%= t(".title") %></h2>
11
11
  <div class="card">
12
12
  <div class="card__content">
13
- <%= decidim_form_for(@form) do |f| %>
13
+ <%= decidim_form_for(@form, html: { class: "meetings_form edit_meeting" }) do |f| %>
14
14
  <%= render partial: "form", object: f %>
15
15
 
16
16
  <div class="actions">
@@ -14,7 +14,4 @@ var controller = $map.data("map-controller");
14
14
  if (controller) {
15
15
  controller.clearMarkers();
16
16
  controller.addMarkers(markerData);
17
- } else {
18
- // @deprecated Legacy support
19
- window.Decidim.currentMap = window.Decidim.loadMap('map', markerData);
20
17
  }
@@ -10,7 +10,7 @@
10
10
  <h2 class="section-heading"><%= t(".title") %></h2>
11
11
  <div class="card">
12
12
  <div class="card__content">
13
- <%= decidim_form_for(@form) do |f| %>
13
+ <%= decidim_form_for(@form, html: { class: "meetings_form new_meeting" }) do |f| %>
14
14
  <%= render partial: "form", object: f %>
15
15
 
16
16
  <div class="actions">
@@ -16,10 +16,12 @@ edit_link(
16
16
  %>
17
17
 
18
18
  <div class="row column view-header">
19
- <%= link_to meetings_path(filter_link_params), class: "small hollow" do %>
20
- <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
21
- <%= t(".back") %>
22
- <% end %>
19
+ <div class="m-bottom">
20
+ <%= link_to meetings_path(filter_link_params), class: "small hollow" do %>
21
+ <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
22
+ <%= t(".back") %>
23
+ <% end %>
24
+ </div>
23
25
 
24
26
  <h2 class="heading2"><%= present(meeting).title(links: true) %></h2>
25
27
 
@@ -34,6 +36,10 @@ edit_link(
34
36
  <%= link_to t(".edit_meeting"), edit_meeting_path(meeting), class: "button secondary hollow expanded button-sc button--icon follow-button" %>
35
37
  <% end %>
36
38
 
39
+ <% if allowed_to?(:close, :meeting, meeting: meeting) %>
40
+ <%= link_to t(".close_meeting"), edit_meeting_meeting_close_path(meeting_id: meeting.id, id: meeting.id), class: "button hollow expanded button-sc button--icon follow-button" %>
41
+ <% end %>
42
+
37
43
  <div class="card extra">
38
44
  <div class="card__content">
39
45
  <div class="extra__date">
@@ -49,31 +55,31 @@ edit_link(
49
55
  <%= render partial: "decidim/shared/follow_button", locals: { followable: meeting, large: false } %>
50
56
  </div>
51
57
  <% if meeting.closed? %>
58
+ <% double = meeting.has_contributions? && meeting.has_attendees? %>
52
59
  <div class="card card--secondary extra definition-data">
53
- <% if meeting.contributions_count && meeting.contributions_count.positive? %>
54
- <div class="definition-data__item definition-data__item--double">
55
- <span class="definition-data__title"><%= t(".attendees") %></span>
56
- <span class="definition-data__number"><%= meeting.attendees_count %></span>
57
- </div>
58
- <div class="definition-data__item definition-data__item--double">
60
+ <% if meeting.has_contributions? %>
61
+ <div class="definition-data__item <%= "definition-data__item--double" if double %>">
59
62
  <span class="definition-data__title"><%= t(".contributions") %></span>
60
63
  <span class="definition-data__number"><%= meeting.contributions_count %></span>
61
64
  </div>
62
- <% else %>
63
- <div class="definition-data__item">
65
+ <% end %>
66
+ <% if meeting.has_attendees? %>
67
+ <div class="definition-data__item <%= "definition-data__item--double" if double %>">
64
68
  <span class="definition-data__title"><%= t(".attendees") %></span>
65
69
  <span class="definition-data__number"><%= meeting.attendees_count %></span>
66
70
  </div>
67
71
  <% end %>
68
- <div class="definition-data__item">
69
- <span class="definition-data__title"><%= t(".organizations") %></span>
70
- <span class="definition-data__text"><%= simple_format(meeting.attending_organizations) %></span>
71
- </div>
72
+ <% if meeting.attending_organizations %>
73
+ <div class="definition-data__item">
74
+ <span class="definition-data__title"><%= t(".organizations") %></span>
75
+ <span class="definition-data__text"><%= simple_format(meeting.attending_organizations) %></span>
76
+ </div>
77
+ <% end %>
72
78
  </div>
73
79
  <% end %>
74
80
  </div>
75
81
 
76
- <% if registration.present? %>
82
+ <% if registration.present? && registration.meeting.component.settings.registration_code_enabled %>
77
83
  <div class="card extra">
78
84
  <div class="card__content">
79
85
  <div class="registration_code">
@@ -119,7 +125,13 @@ edit_link(
119
125
  </span>
120
126
  <% end %>
121
127
  <%= decidim_sanitize(present(meeting).description(links: true)) %>
122
- <%= render partial: "decidim/shared/static_map", locals: { icon_name: "meetings", geolocalizable: meeting } %>
128
+
129
+ <% if meeting.online_meeting? %>
130
+ <%= render partial: "online_meeting_link", locals: { meeting: meeting } %>
131
+ <% else %>
132
+ <%= render partial: "decidim/shared/static_map", locals: { icon_name: "meetings", geolocalizable: meeting } %>
133
+ <% end %>
134
+
123
135
  <%= render partial: "decidim/shared/tags", locals: { resource: meeting, tags_class_extra: "tags--meeting" } %>
124
136
  </div>
125
137
 
@@ -161,10 +173,4 @@ edit_link(
161
173
  <%= comments_for meeting %>
162
174
  <%= pad_iframe_for meeting %>
163
175
 
164
- <%=
165
- render partial: "decidim/shared/flag_modal", locals: {
166
- reportable: meeting,
167
- form: @report_form,
168
- url: decidim.report_path(sgid: meeting.to_sgid.to_s)
169
- }
170
- %>
176
+ <%= cell("decidim/flag_modal", meeting) %>
@@ -1,5 +1,7 @@
1
1
  <p><%= t(".confirmed_html", title: present(@meeting).title, url: @locator.url) %></p>
2
2
 
3
- <p><%= t(".registration_code", code: @registration.code) %></p>
3
+ <% if @registration.meeting.component.settings.registration_code_enabled %>
4
+ <p><%= t(".registration_code", code: @registration.code) %></p>
5
+ <% end %>
4
6
 
5
7
  <p><%= t(".details") %></p>
@@ -1,4 +1,4 @@
1
1
  <div class="card__block">
2
- <strong class="text-small"><%= t("upcoming_meeting", scope: "decidim.participatory_spaces.upcoming_meeting_for_card") %></strong>
2
+ <strong class="text-small"><%= t("upcoming_meeting", scope: "decidim.participatory_spaces.upcoming_meeting_for_card") %></strong>
3
3
  <%= cell("decidim/meetings/meeting_m", upcoming_meeting).date %>
4
4
  </div>
@@ -29,9 +29,7 @@ ar:
29
29
  title: عنوان
30
30
  transparent: شفاف
31
31
  minutes:
32
- audio_url: العنوان الشبكي للصوت
33
32
  description: وصف
34
- video_url: العنوان الشبكي للفيديو
35
33
  visible: مرئي
36
34
  errors:
37
35
  models:
@@ -434,11 +432,6 @@ ar:
434
432
  description: عدد الاجتماعات التي تم إنشاؤها
435
433
  object: اجتماعات
436
434
  title: اجتماعات
437
- participatory_processes:
438
- participatory_process_groups:
439
- highlighted_meetings:
440
- past_meetings: الاجتماعات السابقة
441
- upcoming_meetings: الاجتماعات القادمة
442
435
  participatory_spaces:
443
436
  highlighted_meetings:
444
437
  past_meetings: الاجتماعات السابقة
@@ -21,19 +21,22 @@ ca:
21
21
  end_time: Hora de finalització
22
22
  location: Ubicació
23
23
  location_hints: Detalls d'ubicació
24
+ online_meeting_url: URL de trobada en línia
24
25
  organizer_gid: Crear com a
25
26
  organizer_id: Organitzador
26
27
  private_meeting: Trobada privada
27
28
  registration_form_enabled: Formulari d'inscripcions habilitat
28
29
  registration_terms: Termes i condicions d'inscripció
30
+ registration_url: URL d'inscripció
29
31
  registrations_enabled: Inscripcions obertes
30
32
  start_time: Hora d'inici
31
33
  title: Títol
32
34
  transparent: Transparent
35
+ type_of_meeting: Tipus
33
36
  minutes:
34
- audio_url: URL de l'àudio
37
+ audio_url: URL d'àudio
35
38
  description: Descripció
36
- video_url: URL del vídeo
39
+ video_url: URL de vídeo
37
40
  visible: És visible
38
41
  errors:
39
42
  models:
@@ -87,9 +90,11 @@ ca:
87
90
  creation_enabled_for_participants: Les participants poden crear trobades
88
91
  default_registration_terms: Termes de registre per defecte
89
92
  enable_pads_creation: Habilitar la creació de pads
93
+ registration_code_enabled: Codi d'inscripció habilitat
90
94
  resources_permissions_enabled: Es poden establir permisos d'accions per a cada trobada
91
95
  scope_id: Àmbit
92
96
  scopes_enabled: Àmbits habilitats
97
+ terms_and_conditions_url_for_meeting_creators: URL de termes i condicions per creadores de trobades
93
98
  step:
94
99
  announcement: Avís
95
100
  comments_blocked: Comentaris bloquejats
@@ -202,6 +207,7 @@ ca:
202
207
  invalid: S'ha produït un error en actualitzar aquest ordre del dia
203
208
  success: Ordre del dia actualitzat correctament
204
209
  exports:
210
+ meeting_comments: Comentaris
205
211
  meetings: Trobades
206
212
  registrations: Inscripcions
207
213
  invite_join_meeting_mailer:
@@ -249,11 +255,18 @@ ca:
249
255
  other: No es pot destruir la trobada perquè té %{count} propostes associades
250
256
  success: La trobada s'ha eliminat correctament
251
257
  edit:
258
+ title: Editar la trobada
252
259
  update: Actualitzar
253
260
  form:
254
261
  address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
262
+ available_slots_help: Deixeu-ho a 0 si les places disponibles són il·limitades
263
+ disclaimer: 'Descàrrec de responsabilitat: en utilitzar un sistema d''inscripcions extern, ets conscient que els organitzadors de %{organization} no són responsables de les dades proporcionades per les usuàries al servei extern.'
255
264
  location_help: 'Localització: missatge dirigit a les participants indicant el lloc on trobar-se'
256
- location_hints_help: 'Ajuda de localització: informació addicional. Per exemple: la planta de l''edifici'
265
+ location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici si es tracta d''una reunió presencial, o la contrasenya de la reunió si es tracta d''una reunió en línia amb accés restringit.'
266
+ online_meeting_url_help: 'Enllaç: permetre que les participants es connectin directament a la teva trobada'
267
+ registration_url_help: 'Enllaç: permetre a les participants anar al servei extern que estàs utilitzant per a les inscripcions'
268
+ select_a_meeting_type: Si us plau selecciona un tipus de trobada
269
+ select_a_registration_type: Si us plau selecciona un tipus d'inscripció
257
270
  index:
258
271
  title: Trobades
259
272
  new:
@@ -277,6 +290,7 @@ ca:
277
290
  invalid: S'ha produït un error en crear aquesta acta
278
291
  success: S'ha creat l'acta amb èxit
279
292
  edit:
293
+ title: Editar actes
280
294
  update: Actualitza
281
295
  new:
282
296
  create: Crea
@@ -347,6 +361,7 @@ ca:
347
361
  space_type: Espai participatiu
348
362
  upcoming: Properes
349
363
  last_activity:
364
+ meeting_updated_at_html: "<span>Trobada actualitzada a %{link}</span>"
350
365
  new_meeting_at_html: "<span>Nova trobada a %{link}</span>"
351
366
  mailer:
352
367
  invite_join_meeting_mailer:
@@ -357,6 +372,11 @@ ca:
357
372
  subject: La teva inscripció a la trobada ha estat confirmada
358
373
  meeting:
359
374
  not_allowed: No tens permís per veure aquesta trobada
375
+ meeting_closes:
376
+ edit:
377
+ back: Tornar
378
+ close: Tancar trobada
379
+ title: Tancar trobada
360
380
  meetings:
361
381
  count:
362
382
  meetings_count:
@@ -370,12 +390,15 @@ ca:
370
390
  title: Editar la trobada
371
391
  update: Actualitzar
372
392
  filters:
393
+ activity: La meva activitat
394
+ all: Totes
373
395
  category: Categoria
374
396
  date: Data
375
397
  date_values:
376
398
  all: Totes
377
399
  past: Passades
378
400
  upcoming: Properes
401
+ my_meetings: Les meves trobades
379
402
  origin: Origen
380
403
  origin_values:
381
404
  all: Tots
@@ -384,6 +407,12 @@ ca:
384
407
  user_groups: Grups
385
408
  scope: Àmbit
386
409
  search: Cerca
410
+ type: Tipus
411
+ type_values:
412
+ all: Totes
413
+ hybrid: Ambdues
414
+ in_person: Presencial
415
+ online: En línia
387
416
  filters_small_view:
388
417
  close_modal: Tancar finestra
389
418
  filter: Filtra
@@ -391,10 +420,16 @@ ca:
391
420
  unfold: Desplegar
392
421
  form:
393
422
  address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
423
+ available_slots_help: Deixa-ho a 0 si les places disponibles són il·limitades
394
424
  create_as: Crear trobada com a
425
+ disclaimer: 'Descàrrec de responsabilitat: en utilitzar un sistema d''inscripcions extern, ets conscient que els organitzadors de %{organization} no són responsables de les dades proporcionades per les usuàries al servei extern.'
395
426
  location_help: 'Localització: missatge dirigit a les participants indicant el lloc on trobar-se'
396
- location_hints_help: 'Ajuda de localització: informació addicional. Per exemple: la planta de l''edifici'
427
+ location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici si es tracta d''una reunió presencial, o la contrasenya de la reunió si es tracta d''una reunió en línia amb accés restringit.'
428
+ online_meeting_url_help: 'Enllaç: permetre que les participants es connectin directament a la teva trobada'
429
+ registration_url_help: 'Enllaç: permetre a les participants anar al servei extern que estàs utilitzant per a les inscripcions'
397
430
  select_a_category: Si us plau, selecciona una categoria
431
+ select_a_meeting_type: Si us plau selecciona un tipus de trobada
432
+ select_a_registration_type: Si us plau selecciona un tipus d'inscripció
398
433
  index:
399
434
  new_meeting: Nova trobada
400
435
  meeting_minutes:
@@ -413,6 +448,7 @@ ca:
413
448
  show:
414
449
  attendees: Nombre d'assistents
415
450
  back: Torna al llistat
451
+ close_meeting: Tancar trobada
416
452
  contributions: Nombre d'aportacions
417
453
  date: Data
418
454
  edit_meeting: Editar la trobada
@@ -459,6 +495,10 @@ ca:
459
495
  confirmed_html: La teva inscripció a la trobada <a href="%{url}">%{title}</a> ha estat confirmada.
460
496
  details: A l'arxiu adjunt trobaràs els detalls de la reunió.
461
497
  registration_code: El teu codi de registre és %{code}.
498
+ registration_type:
499
+ on_different_platform: A una altra plataforma
500
+ on_this_platform: En aquesta plataforma
501
+ registration_disabled: Inscripcions deshabilitades
462
502
  registrations:
463
503
  create:
464
504
  invalid: S'ha produït un error en inscriure's a aquesta trobada.
@@ -469,6 +509,10 @@ ca:
469
509
  destroy:
470
510
  invalid: S'ha produït un error en abandonar aquesta trobada.
471
511
  success: Has abandonat la trobada amb èxit.
512
+ type_of_meeting:
513
+ hybrid: Ambdues
514
+ in_person: Presencial
515
+ online: Online
472
516
  types:
473
517
  private_meeting: Trobada privada
474
518
  transparent: Transparent
@@ -479,11 +523,6 @@ ca:
479
523
  description: Nombre de trobades creades
480
524
  object: trobades
481
525
  title: Trobades
482
- participatory_processes:
483
- participatory_process_groups:
484
- highlighted_meetings:
485
- past_meetings: Trobades anteriors
486
- upcoming_meetings: Properes trobades
487
526
  participatory_spaces:
488
527
  highlighted_meetings:
489
528
  past_meetings: Trobades anteriors