decidim-core 0.14.4 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -0
  3. data/app/assets/images/decidim/cc-badge.png +0 -0
  4. data/app/assets/images/decidim/gamification/badges/continuity.svg +73 -0
  5. data/app/assets/images/decidim/gamification/badges/followers.svg +115 -0
  6. data/app/assets/images/decidim/icons.svg +1 -0
  7. data/app/assets/javascripts/decidim/vizzs/areachart.js.es6 +186 -208
  8. data/app/assets/javascripts/decidim/vizzs/linechart.js.es6 +263 -0
  9. data/app/assets/javascripts/decidim/vizzs/metrics.js.es6 +36 -26
  10. data/app/assets/javascripts/decidim/vizzs/orgchart.js.es6 +3 -2
  11. data/app/assets/javascripts/decidim/vizzs/rowchart.js.es6 +324 -0
  12. data/app/assets/stylesheets/decidim/_decidim.scss +1 -0
  13. data/app/assets/stylesheets/decidim/modules/_cards.scss +1 -0
  14. data/app/assets/stylesheets/decidim/modules/_conference-diploma.scss +75 -0
  15. data/app/assets/stylesheets/decidim/modules/_conference-media.scss +44 -0
  16. data/app/assets/stylesheets/decidim/modules/_conference-programme.scss +5 -1
  17. data/app/assets/stylesheets/decidim/modules/_conference-registration.scss +34 -0
  18. data/app/assets/stylesheets/decidim/modules/_list-request.scss +16 -0
  19. data/app/assets/stylesheets/decidim/modules/_modules.scss +4 -4
  20. data/app/assets/stylesheets/decidim/modules/_process-phase.scss +1 -0
  21. data/app/assets/stylesheets/decidim/modules/_reveal.scss +6 -1
  22. data/app/assets/stylesheets/decidim/utils/_helpers.scss +1 -1
  23. data/app/assets/stylesheets/decidim/{modules → vizzs}/_areachart.scss +8 -11
  24. data/app/assets/stylesheets/decidim/{modules → vizzs}/_chart-tooltip.scss +0 -0
  25. data/app/assets/stylesheets/decidim/vizzs/_linechart.scss +115 -0
  26. data/app/assets/stylesheets/decidim/vizzs/_rowchart.scss +77 -0
  27. data/app/cells/decidim/activities/show.erb +3 -0
  28. data/app/cells/decidim/activities_cell.rb +38 -0
  29. data/app/cells/decidim/activity/show.erb +21 -0
  30. data/app/cells/decidim/activity_cell.rb +85 -0
  31. data/app/cells/decidim/address/details.erb +7 -0
  32. data/app/cells/decidim/address/show.erb +14 -0
  33. data/app/cells/decidim/address_cell.rb +19 -0
  34. data/app/cells/decidim/author/contact.erb +1 -1
  35. data/app/cells/decidim/author_cell.rb +1 -0
  36. data/app/cells/decidim/badge/show.erb +2 -2
  37. data/app/cells/decidim/badge/small.erb +5 -0
  38. data/app/cells/decidim/badge_cell.rb +36 -14
  39. data/app/cells/decidim/badges/show.erb +6 -3
  40. data/app/cells/decidim/badges_cell.rb +4 -4
  41. data/app/cells/decidim/coauthorships_cell.rb +8 -2
  42. data/app/cells/decidim/collapsible_authors/show.erb +9 -7
  43. data/app/cells/decidim/content_blocks/html/show.erb +3 -0
  44. data/app/cells/decidim/content_blocks/html_cell.rb +11 -0
  45. data/app/cells/decidim/content_blocks/html_settings_form/show.erb +3 -0
  46. data/app/cells/decidim/content_blocks/html_settings_form_cell.rb +17 -0
  47. data/app/cells/decidim/content_blocks/last_activity/show.erb +17 -0
  48. data/app/cells/decidim/content_blocks/last_activity_cell.rb +60 -0
  49. data/app/cells/decidim/content_blocks/metrics/show.erb +13 -0
  50. data/app/cells/decidim/content_blocks/metrics_cell.rb +18 -0
  51. data/app/cells/decidim/content_blocks/stats/show.erb +2 -1
  52. data/app/cells/decidim/groups/show.erb +10 -0
  53. data/app/cells/decidim/groups_cell.rb +19 -0
  54. data/app/cells/decidim/members/show.erb +9 -0
  55. data/app/cells/decidim/members_cell.rb +32 -0
  56. data/app/cells/decidim/profile/show.erb +3 -11
  57. data/app/cells/decidim/profile/user_group_tabs.erb +5 -0
  58. data/app/cells/decidim/profile/user_tabs.erb +12 -0
  59. data/app/cells/decidim/profile_cell.rb +7 -2
  60. data/app/cells/decidim/profile_sidebar/show.erb +108 -23
  61. data/app/cells/decidim/profile_sidebar_cell.rb +36 -2
  62. data/app/cells/decidim/user_group_admin_membership_profile/footer.erb +29 -0
  63. data/app/cells/decidim/user_group_admin_membership_profile_cell.rb +14 -0
  64. data/app/cells/decidim/user_group_membership_profile/tags.erb +1 -0
  65. data/app/cells/decidim/user_group_membership_profile_cell.rb +8 -0
  66. data/app/cells/decidim/user_group_pending_invitations_list/show.erb +23 -0
  67. data/app/cells/decidim/user_group_pending_invitations_list_cell.rb +26 -0
  68. data/app/cells/decidim/user_group_pending_requests_list/show.erb +23 -0
  69. data/app/cells/decidim/user_group_pending_requests_list_cell.rb +26 -0
  70. data/app/cells/decidim/user_profile/header.erb +1 -1
  71. data/app/cells/decidim/user_profile_cell.rb +15 -9
  72. data/app/commands/decidim/accept_group_invitation.rb +43 -0
  73. data/app/commands/decidim/accept_user_group_join_request.rb +53 -0
  74. data/app/commands/decidim/create_follow.rb +6 -0
  75. data/app/commands/decidim/create_registration.rb +13 -23
  76. data/app/commands/decidim/create_user_group.rb +57 -0
  77. data/app/commands/decidim/delete_follow.rb +7 -0
  78. data/app/commands/decidim/demote_membership.rb +57 -0
  79. data/app/commands/decidim/destroy_account.rb +6 -0
  80. data/app/commands/decidim/invite_user.rb +1 -3
  81. data/app/commands/decidim/invite_user_to_group.rb +62 -0
  82. data/app/commands/decidim/join_user_group.rb +63 -0
  83. data/app/commands/decidim/leave_user_group.rb +41 -0
  84. data/app/commands/decidim/promote_membership.rb +55 -0
  85. data/app/commands/decidim/reject_group_invitation.rb +42 -0
  86. data/app/commands/decidim/reject_user_group_join_request.rb +53 -0
  87. data/app/commands/decidim/remove_user_from_group.rb +53 -0
  88. data/app/commands/decidim/update_user_group.rb +53 -0
  89. data/app/controllers/concerns/decidim/locale_switcher.rb +3 -3
  90. data/app/controllers/concerns/decidim/paginable.rb +1 -0
  91. data/app/controllers/decidim/application_controller.rb +7 -0
  92. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -1
  93. data/app/controllers/decidim/devise/sessions_controller.rb +1 -1
  94. data/app/controllers/decidim/gamification/badges_controller.rb +11 -0
  95. data/app/controllers/decidim/group_admins_controller.rb +41 -0
  96. data/app/controllers/decidim/group_invites_controller.rb +74 -0
  97. data/app/controllers/decidim/group_members_controller.rb +59 -0
  98. data/app/controllers/decidim/groups_controller.rb +85 -0
  99. data/app/controllers/decidim/last_activities_controller.rb +46 -0
  100. data/app/controllers/decidim/pages_controller.rb +9 -1
  101. data/app/controllers/decidim/profiles_controller.rb +35 -5
  102. data/app/controllers/decidim/user_group_join_requests_controller.rb +69 -0
  103. data/app/events/decidim/demoted_membership_event.rb +28 -0
  104. data/app/events/decidim/invited_to_group_event.rb +33 -0
  105. data/app/events/decidim/join_request_accepted_event.rb +28 -0
  106. data/app/events/decidim/join_request_created_event.rb +28 -0
  107. data/app/events/decidim/join_request_rejected_event.rb +28 -0
  108. data/app/events/decidim/promoted_to_admin_event.rb +28 -0
  109. data/app/events/decidim/removed_from_group_event.rb +28 -0
  110. data/app/forms/decidim/account_form.rb +1 -1
  111. data/app/forms/decidim/invite_user_to_group_form.rb +29 -0
  112. data/app/forms/decidim/notifications_settings_form.rb +4 -0
  113. data/app/forms/decidim/registration_form.rb +0 -27
  114. data/app/forms/decidim/user_group_form.rb +81 -0
  115. data/app/helpers/decidim/component_path_helper.rb +10 -0
  116. data/app/helpers/decidim/filters_helper.rb +3 -2
  117. data/app/helpers/decidim/icon_helper.rb +3 -1
  118. data/app/helpers/decidim/map_helper.rb +1 -1
  119. data/app/jobs/decidim/metric_job.rb +14 -0
  120. data/app/mailers/decidim/newsletter_mailer.rb +2 -0
  121. data/app/mailers/decidim/notification_mailer.rb +1 -1
  122. data/app/models/decidim/action_log.rb +66 -0
  123. data/app/models/decidim/coauthorship.rb +9 -0
  124. data/app/models/decidim/component.rb +5 -0
  125. data/app/models/decidim/continuity_badge_status.rb +9 -0
  126. data/app/models/decidim/gamification/badge_score.rb +1 -1
  127. data/app/models/decidim/messaging/message.rb +1 -0
  128. data/app/models/decidim/metric.rb +13 -0
  129. data/app/models/decidim/participatory_space_private_user.rb +4 -0
  130. data/app/models/decidim/user.rb +14 -38
  131. data/app/models/decidim/user_base_entity.rb +52 -0
  132. data/app/models/decidim/user_group.rb +48 -9
  133. data/app/models/decidim/user_group_membership.rb +8 -0
  134. data/app/permissions/decidim/permissions.rb +21 -0
  135. data/app/presenters/decidim/admin_log/organization_presenter.rb +0 -2
  136. data/app/presenters/decidim/admin_log/participatory_space_private_user_presenter.rb +38 -0
  137. data/app/presenters/decidim/metric_charts_presenter.rb +53 -0
  138. data/app/presenters/decidim/metric_object_presenter.rb +28 -0
  139. data/app/presenters/decidim/user_group_presenter.rb +16 -8
  140. data/app/presenters/decidim/user_presenter.rb +14 -0
  141. data/app/queries/decidim/metric_manage.rb +59 -0
  142. data/app/queries/decidim/metrics/users_metric_manage.rb +26 -0
  143. data/app/queries/decidim/user_groups/accepted_memberships.rb +36 -0
  144. data/app/queries/decidim/user_groups/accepted_user_groups.rb +38 -0
  145. data/app/queries/decidim/user_groups/accepted_users.rb +36 -0
  146. data/app/queries/decidim/user_groups/admin_memberships.rb +37 -0
  147. data/app/queries/decidim/user_groups/invited_memberships.rb +36 -0
  148. data/app/queries/decidim/user_groups/manageable_user_groups.rb +39 -0
  149. data/app/queries/decidim/user_groups/member_memberships.rb +37 -0
  150. data/app/resolvers/decidim/core/metric_resolver.rb +38 -0
  151. data/app/services/decidim/action_logger.rb +4 -2
  152. data/app/services/decidim/activity_search.rb +76 -0
  153. data/app/services/decidim/continuity_badge_tracker.rb +64 -0
  154. data/app/services/decidim/resource_search.rb +0 -1
  155. data/app/types/decidim/core/metric_history_type.rb +17 -0
  156. data/app/types/decidim/core/metric_type.rb +14 -0
  157. data/app/types/decidim/core/session_type.rb +1 -1
  158. data/app/types/decidim/core/user_group_type.rb +2 -2
  159. data/app/views/decidim/authorization_modals/show.html.erb +40 -27
  160. data/app/views/decidim/devise/registrations/new.html.erb +0 -19
  161. data/app/views/decidim/gamification/badges/index.html.erb +42 -0
  162. data/app/views/decidim/group_admins/index.html.erb +18 -0
  163. data/app/views/decidim/group_invites/index.html.erb +27 -0
  164. data/app/views/decidim/group_members/index.html.erb +19 -0
  165. data/app/views/decidim/groups/_form.html.erb +23 -0
  166. data/app/views/decidim/groups/edit.html.erb +26 -0
  167. data/app/views/decidim/groups/new.html.erb +26 -0
  168. data/app/views/decidim/last_activities/_activities.html.erb +13 -0
  169. data/app/views/decidim/last_activities/index.html.erb +18 -0
  170. data/app/views/decidim/last_activities/index.js.erb +6 -0
  171. data/app/views/decidim/profiles/show.html.erb +1 -1
  172. data/app/views/layouts/decidim/_user_menu.html.erb +0 -1
  173. data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
  174. data/config/initializers/devise.rb +1 -1
  175. data/config/initializers/foundation_rails_helper.rb +1 -0
  176. data/config/locales/ca.yml +325 -32
  177. data/config/locales/de.yml +325 -32
  178. data/config/locales/en.yml +325 -32
  179. data/config/locales/es-PY.yml +325 -32
  180. data/config/locales/es.yml +325 -32
  181. data/config/locales/eu.yml +325 -32
  182. data/config/locales/fi.yml +330 -37
  183. data/config/locales/fr.yml +325 -32
  184. data/config/locales/gl.yml +325 -32
  185. data/config/locales/hu.yml +327 -34
  186. data/config/locales/it.yml +325 -32
  187. data/config/locales/nl.yml +325 -32
  188. data/config/locales/pl.yml +329 -32
  189. data/config/locales/pt-BR.yml +326 -33
  190. data/config/locales/pt.yml +325 -32
  191. data/config/locales/ru.yml +4 -33
  192. data/config/locales/sv.yml +346 -53
  193. data/config/locales/uk.yml +4 -33
  194. data/config/routes.rb +27 -1
  195. data/db/migrate/20170128112958_change_user_groups_verified_to_timestamp.rb +11 -0
  196. data/db/migrate/20180705134647_create_decidim_metrics.rb +16 -0
  197. data/db/migrate/20180730071851_add_core_content_blocks.rb +3 -3
  198. data/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb +4 -2
  199. data/db/migrate/20180918072506_add_visibility_to_action_logs.rb +8 -0
  200. data/db/migrate/20181001124950_move_users_groups_to_users_table.rb +84 -0
  201. data/db/migrate/20181008102144_add_badge_switch_to_organizations.rb +8 -0
  202. data/db/migrate/20181010044613_create_decidim_continuity_badge_statuses.rb +11 -0
  203. data/db/migrate/20181011080252_add_roles_to_memberships.rb +24 -0
  204. data/db/migrate/20181016091601_make_authors_polymorphic.rb +31 -0
  205. data/db/migrate/20181029112820_fix_user_follows.rb +18 -0
  206. data/db/migrate/20181030090144_destroy_deleted_users_follows.rb +16 -0
  207. data/db/seeds.rb +18 -4
  208. data/lib/decidim/attributes.rb +1 -0
  209. data/lib/decidim/attributes/localized_date.rb +16 -0
  210. data/lib/decidim/attributes/time_with_zone.rb +3 -1
  211. data/lib/decidim/authorable.rb +5 -4
  212. data/lib/decidim/authorization_form_builder.rb +2 -2
  213. data/lib/decidim/coauthorable.rb +68 -18
  214. data/lib/decidim/content_block_manifest.rb +7 -0
  215. data/lib/decidim/content_processor.rb +17 -7
  216. data/lib/decidim/core.rb +12 -0
  217. data/lib/decidim/core/engine.rb +54 -6
  218. data/lib/decidim/core/test/factories.rb +63 -17
  219. data/lib/decidim/core/test/shared_examples/coauthorable.rb +27 -9
  220. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +2 -2
  221. data/lib/decidim/core/version.rb +1 -1
  222. data/lib/decidim/data_portability.rb +3 -1
  223. data/lib/decidim/data_portability_file_reader.rb +1 -1
  224. data/lib/decidim/events/author_event.rb +4 -1
  225. data/lib/decidim/events/coauthor_event.rb +4 -1
  226. data/lib/decidim/faker/localized.rb +5 -4
  227. data/lib/decidim/form_builder.rb +18 -17
  228. data/lib/decidim/gamification.rb +8 -2
  229. data/lib/decidim/gamification/badge.rb +34 -0
  230. data/lib/decidim/gamification/badge_scorer.rb +29 -14
  231. data/lib/decidim/gamification/badge_status.rb +2 -0
  232. data/lib/decidim/hashtaggable.rb +1 -1
  233. data/lib/decidim/manifest_registry.rb +5 -3
  234. data/lib/decidim/metric_manifest.rb +20 -0
  235. data/lib/decidim/metric_registry.rb +71 -0
  236. data/lib/decidim/participable.rb +1 -1
  237. data/lib/decidim/participatory_space_resourceable.rb +0 -1
  238. data/lib/decidim/query_extensions.rb +19 -0
  239. data/lib/decidim/resourceable.rb +1 -0
  240. data/lib/decidim/searchable.rb +2 -1
  241. data/lib/tasks/decidim_metrics_tasks.rake +41 -0
  242. data/lib/tasks/decidim_tasks.rake +1 -0
  243. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ca.js +1 -2
  244. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es.js +1 -2
  245. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fr.js +1 -2
  246. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.gl.js +1 -2
  247. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt.js +1 -2
  248. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ru.js +1 -2
  249. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.uk.js +1 -2
  250. data/vendor/assets/javascripts/form_datepicker.js.es6 +1 -11
  251. metadata +144 -23
  252. data/app/cells/decidim/invitations_toggle/content.erb +0 -1
  253. data/app/cells/decidim/invitations_toggle/label.erb +0 -1
  254. data/app/cells/decidim/invitations_toggle_cell.rb +0 -27
  255. data/app/cells/decidim/toggle/show.erb +0 -8
  256. data/app/cells/decidim/toggle_cell.rb +0 -42
  257. data/app/commands/decidim/invite_friends.rb +0 -48
  258. data/app/controllers/decidim/invitations_controller.rb +0 -32
  259. data/app/forms/decidim/invitations_form.rb +0 -37
  260. data/app/views/decidim/invitations/index.html.erb +0 -48
  261. data/app/views/devise/mailer/invite_friend.html.erb +0 -27
  262. data/app/views/devise/mailer/invite_friend.text.erb +0 -19
  263. data/lib/decidim/rectify_ext.rb +0 -32
@@ -15,15 +15,17 @@ en:
15
15
  password_confirmation: Confirm your password
16
16
  personal_url: Personal URL
17
17
  remove_avatar: Remove avatar
18
- user_group_document_number: Organization document number
19
- user_group_name: Organization name
20
- user_group_phone: Organization phone
21
18
  models:
22
19
  decidim/attachment_created_event: Attachment
23
20
  decidim/component_published_event: Active component
21
+ decidim/demoted_membership: No longer a group admin
24
22
  decidim/gamification/badge_earned_event: Badge earned
25
23
  decidim/gamification/level_up_event: You've leveled up
24
+ decidim/join_request_accepted_event: Join request accepted
25
+ decidim/join_request_rejected_event: Join request rejected
26
26
  decidim/profile_updated_event: Profile updated
27
+ decidim/promote_to_admin: Promoted to group admin
28
+ decidim/removed_from_group: Removed from group
27
29
  activerecord:
28
30
  attributes:
29
31
  decidim/user:
@@ -33,9 +35,6 @@ en:
33
35
  password: Password
34
36
  password_confirmation: Password confirmation
35
37
  remember_me: Remember me
36
- user_group_document_number: Organization document number
37
- user_group_name: Organization name
38
- user_group_phone: Organization phone
39
38
  models:
40
39
  decidim/user:
41
40
  one: User
@@ -52,7 +51,10 @@ en:
52
51
  date:
53
52
  formats:
54
53
  decidim_short: "%d/%m/%Y"
54
+ decidim_short_with_month_name_short: "%d %b %Y"
55
+ decidim_with_day_and_month_name: "%A %d %b %Y"
55
56
  decidim_with_month_name: "%d %B %Y"
57
+ decidim_with_month_name_short: "%d %b"
56
58
  decidim:
57
59
  account:
58
60
  data_portability_export:
@@ -102,6 +104,9 @@ en:
102
104
  update: "%{user_name} updated the %{resource_name} OAuth application"
103
105
  organization:
104
106
  update: "%{user_name} updated the organization settings"
107
+ participatory_space_private_user:
108
+ create: "%{user_name} invited %{resource_name} to be a private user"
109
+ delete: "%{user_name} removed the user %{resource_name} as a private user"
105
110
  scope:
106
111
  create: "%{user_name} created the %{resource_name} scope"
107
112
  create_with_parent: "%{user_name} created the %{resource_name} scope inside the %{parent_scope} scope"
@@ -185,6 +190,11 @@ en:
185
190
  invalid_field: "%{field} value %{value} isn't valid."
186
191
  ok: Ok
187
192
  title: Not authorized
193
+ unconfirmed:
194
+ confirmation_instructions: 'If you haven''t received the confirmation instructions you can request them again:'
195
+ explanation_html: In order to perform this action you need to be authorized, before doing that you need to confirm your email <strong>%{email}</strong>.
196
+ request_confirmation_instructions: Request confirmation instructions
197
+ title: Confirm your email
188
198
  collapsible_list:
189
199
  hidden_elements_count:
190
200
  one: and 1 more
@@ -217,6 +227,15 @@ en:
217
227
  name: Highlighted content banner
218
228
  how_to_participate:
219
229
  name: How to participate
230
+ html:
231
+ html_content: HTML content
232
+ name: HTML block
233
+ last_activity:
234
+ name: Last activity
235
+ title: Last activity
236
+ view_all: View all
237
+ metrics:
238
+ name: Organization metrics
220
239
  stats:
221
240
  name: Organization stats
222
241
  sub_hero:
@@ -231,6 +250,8 @@ en:
231
250
  download_data: Download the data
232
251
  download_data_description: A file with all the information associated with the account will be sent to <strong>%{user_email}</strong>
233
252
  request_data: Request data
253
+ datepicker:
254
+ help_text: 'Expected format: %{datepicker_format}'
234
255
  devise:
235
256
  omniauth_registrations:
236
257
  create:
@@ -251,8 +272,6 @@ en:
251
272
  sign_up: Sign up
252
273
  sign_up_as:
253
274
  legend: Sign up as
254
- user: Individual
255
- user_group: Organization/Collective
256
275
  subtitle: Sign up to participate in discussions and support proposals.
257
276
  terms: the terms and conditions of use
258
277
  tos_agreement: By signing up you agree to %{link}.
@@ -334,6 +353,42 @@ en:
334
353
  email_outro: You have received this notification because you made activity on our website.
335
354
  email_subject: You've reached level %{current_level} on the %{badge_name} badge!
336
355
  notification_title: Great job! You've reached level %{current_level} on the <a href="%{resource_path}">%{badge_name} badge</a>!
356
+ groups:
357
+ demoted_membership:
358
+ email_intro: An admin of the <a href="%{resource_url}">%{user_group_name}</a> group has removed your admin rights to that group.
359
+ email_outro: You have received this notification because you are a member of that group.
360
+ email_subject: You are no longer an admin of the %{user_group_name} group!
361
+ notification_title: You are no longer an admin of the <a href="%{resource_path}">%{user_group_name}</a> group.
362
+ invited_to_group:
363
+ email_intro: An admin of the <a href="%{resource_url}">%{user_group_name}</a> group has invited you to join it.
364
+ email_outro: You have received this notification because you have been invited to an group. Please check the Groups tab in your profile to approve it.
365
+ email_subject: You have been invited to join the %{user_group_name} group!
366
+ notification_title: You have been invited to join the <a href="%{resource_path}">%{user_group_name}</a> group. Check the <a href="%{groups_profile_tab_path}">Groups page</a> in your profile to approve it!
367
+ join_request_accepted:
368
+ email_intro: Congratulations! An admin of the <a href="%{resource_url}">%{user_group_name}</a> group has accepted your request to join it.
369
+ email_outro: You have received this notification because your join request has been updated.
370
+ email_subject: You have been accepted to the %{user_group_name} group!
371
+ notification_title: You have been accepted to the <a href="%{resource_path}">%{user_group_name}</a> group.
372
+ join_request_created:
373
+ email_intro: Someone requested to join the %{user_group_name} group. You can accept or reject it from <a href="%{resource_url}">the group members page</a>.
374
+ email_outro: You have received this notification because you can manage the %{user_group_name} group.
375
+ email_subject: Someone requested to join the %{user_group_name} group!
376
+ notification_title: Someone requested to join the %{user_group_name} group. You can accept or reject it from <a href="%{resource_path}">the group members page</a>.
377
+ join_request_rejected:
378
+ email_intro: An admin of the <a href="%{resource_url}">%{user_group_name}</a> group rejected your request to join it.
379
+ email_outro: You have received this notification because your join request has been updated.
380
+ email_subject: Your request to join the %{user_group_name} group has been rejected!
381
+ notification_title: Your request to join the <a href="%{resource_path}">%{user_group_name}</a> group has been rejected.
382
+ promoted_to_admin:
383
+ email_intro: An admin of the <a href="%{resource_url}">%{user_group_name}</a> group has given you admin rights to that group.
384
+ email_outro: You have received this notification because you are a member of that group.
385
+ email_subject: You are now an admin of the %{user_group_name} group!
386
+ notification_title: You are now an admin of the <a href="%{resource_path}">%{user_group_name}</a> group.
387
+ removed_from_group:
388
+ email_intro: An admin of the <a href="%{resource_url}">%{user_group_name}</a> group has removed you from it.
389
+ email_outro: You have received this notification because you were a member of that group.
390
+ email_subject: You have been removed from the %{user_group_name} group!
391
+ notification_title: You have been removed from the <a href="%{resource_path}">%{user_group_name}</a> group.
337
392
  notification_event:
338
393
  notification_title: An event occured to <a href="%{resource_path}">%{resource_title}</a>.
339
394
  users:
@@ -385,11 +440,41 @@ en:
385
440
  error: There's an error in this field.
386
441
  remove_this_file: Remove this file
387
442
  gamification:
443
+ all_badges_link: See all available badges.
388
444
  badges:
445
+ continuity:
446
+ conditions:
447
+ - Come here often
448
+ description: This badge is granted when you visit the platform in a regular way. We like having you around here!
449
+ description_another: This user has connected for %{score} consecutive days at some point.
450
+ description_own: You have connected for %{score} consecutive days at some point.
451
+ name: Continuity
452
+ next_level_in: Connect for %{score} consecutive days to get to the next level!
453
+ unearned_another: This user hasn't signed in for more than one consecutive day.
454
+ unearned_own: You haven't connected for more than one consecutive day.
455
+ followers:
456
+ conditions:
457
+ - Being active and following other people will surely make other people follow you.
458
+ description: This badge is granted when you reach a certain number of followers. %{organization_name} is a social and political network, weave your web to communicate with other people in the platform.
459
+ description_another: This user has %{score} followers.
460
+ description_own: "%{score} users are following you."
461
+ name: Followers
462
+ next_level_in: Get %{score} more users to follow you to reach the next level!
463
+ unearned_another: This user doesn't have any followers yet.
464
+ unearned_own: You've got no followers yet.
465
+ index:
466
+ badge_title: "%{name} badge"
467
+ how: How can you earn it
468
+ page_description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges. Here is the list of badges and some ways you can earn them.
469
+ title: Badges
389
470
  invitations:
471
+ conditions:
472
+ - Use the “invite friends” link on your user page to invite your friends
473
+ - Customize, if you want, the message you are sending
474
+ - You’ll level up by sending invitations and getting them registered.
475
+ description: This badge is granted when you’ve invited some people and they have spend a little time to register in %{organization_name} and become participants. Thank you for making %{organization_name} known to others and helping to expand the community!
390
476
  description_another: This user has invited %{score} users.
391
477
  description_own: You have invited %{score} users.
392
- explanation: Users get this badge by inviting other users.
393
478
  name: Invitations
394
479
  next_level_in: Invite %{score} more users to reach the next level!
395
480
  unearned_another: This user hasn't invited any user yet.
@@ -397,18 +482,89 @@ en:
397
482
  description: Badges are recognitions to participant actions and progress in the platform. As you start discovering, participating and interacting in the platform, you will earn different badges.
398
483
  level: Level %{level}
399
484
  reached_top: You've reached the top level for this badge.
400
- invitations:
401
- create:
402
- error: There were some problems while inviting your friends
403
- error_empty_form: Please enter some email addresses
404
- success: We've sent the invites to your friends!
485
+ group_admins:
486
+ actions:
487
+ are_you_sure: Are you sure? This won't remove the user from the group.
488
+ demote_admin: Remove admin
489
+ demote:
490
+ error: There was an error removing this user from the admins list
491
+ success: User removed from admin successfully
492
+ index:
493
+ current_admins: 'Current admins:'
494
+ manage_admins: Manage admins
495
+ group_invites:
496
+ accept:
497
+ error: There was an error accepting this invitation
498
+ success: Invitation accepted successfully
499
+ accept_invitation: Accept
500
+ accept_or_reject_group_invitations: 'The following groups have invited you to join them. Accept or reject their requests:'
405
501
  index:
406
- customize_message: Customize the invitation message
407
- friend_email: 'Friend #%{index} email'
408
- invitations_subtitle: Let your friends know about this site
409
- invitations_title: Do you think more voices should be heard in %{organization_name}?
410
502
  invite: Invite
411
- visit_your_profile: Visit your profile
503
+ invite_user: Invite a user
504
+ invite:
505
+ error: There was an error inviting this user
506
+ success: User invited successfully
507
+ reject:
508
+ error: There was an error rejecting this invitation
509
+ success: Invitation rejected successfully
510
+ reject_invitation: Reject
511
+ group_members:
512
+ accept:
513
+ error: There was an error accepting this join request
514
+ success: Join request accepted successfully
515
+ actions:
516
+ are_you_sure: Are you sure?
517
+ promote_to_admin: Make admin
518
+ remove_from_group: Remove user
519
+ index:
520
+ current_members_without_admins: 'Current members (without admins):'
521
+ manage_members: Manage members
522
+ promote:
523
+ error: There was an error promoting this user
524
+ success: User promoted successfully
525
+ reject:
526
+ error: There was an error rejecting this join request
527
+ success: Join request rejected successfully
528
+ remove:
529
+ error: There was an error removing this user from the group
530
+ success: User removed from the group successfully
531
+ groups:
532
+ actions:
533
+ are_you_sure: Are you sure?
534
+ create:
535
+ error: There has been a problem creating the group
536
+ success: Group created successfully
537
+ edit:
538
+ edit_user_group: Edit group
539
+ update_user_group: Update group
540
+ join:
541
+ error: There has been a problem joining the group
542
+ success: Join request created successfully. An admin will review your request before accepting you to the group.
543
+ leave:
544
+ error: There has been a problem leaving the group
545
+ success: Group left successfully.
546
+ members:
547
+ accept_or_reject_join_requests: 'The following users have applied to join this group. Accept or reject their requests:'
548
+ accept_request: Accept
549
+ reject_request: Reject
550
+ new:
551
+ create_user_group: Create group
552
+ new_user_group: New group
553
+ no_user_groups: Doesn't belong to any group yet.
554
+ roles:
555
+ admin: Administrator
556
+ creator: Creator
557
+ member: Member
558
+ update:
559
+ error: There has been a problem updating the group
560
+ success: Group updated successfully
561
+ last_activities:
562
+ activities:
563
+ no_activities_warning: No activity
564
+ all: All activity types
565
+ index:
566
+ last_activity: Last activity
567
+ resource_type: Type
412
568
  log:
413
569
  base_presenter:
414
570
  create: "%{user_name} created %{resource_name}"
@@ -430,6 +586,8 @@ en:
430
586
  not_found: 'The scope type was not found on the database (ID: %{id})'
431
587
  managed_users:
432
588
  expired_session: The current impersonation session has expired.
589
+ members:
590
+ no_members: This user groups doesn't have any member yet.
433
591
  menu:
434
592
  home: Home
435
593
  more_information: More information
@@ -461,6 +619,10 @@ en:
461
619
  title: Start a conversation
462
620
  update:
463
621
  error: Message not sent. Try again later
622
+ metrics:
623
+ users:
624
+ object: users
625
+ title: Users
464
626
  newsletter_mailer:
465
627
  newsletter:
466
628
  note: You received this email because you're subscribed to newsletters on %{organization_name}. You can change your settings on your <a href="%{link}">notifications page</a>.
@@ -520,10 +682,13 @@ en:
520
682
  hero:
521
683
  participate: Participate
522
684
  welcome: Welcome to %{organization}!
685
+ metrics:
686
+ headline: Participation in figures
523
687
  statistics:
524
688
  answers_count: Completed Surveys
525
689
  assemblies_count: Assemblies
526
690
  comments_count: Comments
691
+ conferences_count: Conferences
527
692
  debates_count: Debates
528
693
  endorsements_count: Endorsements
529
694
  headline: Current state of %{organization}
@@ -566,15 +731,29 @@ en:
566
731
  deleted: Deleted user
567
732
  view: View
568
733
  profiles:
569
- default_officialization_text: This participant is publicly verified, his/her name or role has been verified to correspond with his/her real name and role
734
+ default_officialization_text_for_user_groups: This user group is publicly verified, its name has been verified to correspond with its real name
735
+ default_officialization_text_for_users: This participant is publicly verified, his/her name or role has been verified to correspond with his/her real name and role
570
736
  show:
571
737
  badges: Badges
572
738
  conversations: Conversations
573
739
  followers: Followers
574
740
  following: Follows
741
+ groups: Groups
742
+ members: Members
575
743
  notifications: Notifications
744
+ sidebar:
745
+ badges:
746
+ info: Badges are earned by performing specific activity in the platform.
747
+ title: Badges
576
748
  user:
749
+ create_user_group: Create group
577
750
  edit_profile: Edit profile
751
+ edit_user_group: Edit group profile
752
+ invite_user: Invite user
753
+ join_user_group: Request to join group
754
+ leave_user_group: Leave group
755
+ manage_user_group_admins: Manage admins
756
+ manage_user_group_users: Manage members
578
757
  reported_mailer:
579
758
  hide:
580
759
  hello: Hello %{name},
@@ -642,13 +821,47 @@ en:
642
821
  version_author:
643
822
  deleted: Deleted user
644
823
  devise:
824
+ confirmations:
825
+ confirmed: Your email address has been successfully confirmed.
826
+ new:
827
+ resend_confirmation_instructions: Resend confirmation instructions
828
+ send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes.
829
+ send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes.
830
+ failure:
831
+ already_authenticated: You are already signed in.
832
+ inactive: Your account is not activated yet.
833
+ invalid: Invalid %{authentication_keys} or password.
834
+ invited: You have a pending invitation, accept it to finish creating your account.
835
+ last_attempt: You have one more attempt before your account is locked.
836
+ locked: Your account is locked.
837
+ not_found_in_database: Invalid %{authentication_keys} or password.
838
+ timeout: Your session expired. Please sign in again to continue.
839
+ unauthenticated: You need to sign in or sign up before continuing.
645
840
  invitations:
646
841
  edit:
647
842
  header: Finish creating your account
648
843
  nickname_help: Your unique identifier in %{organization}.
649
844
  submit_button: Save
650
845
  subtitle: If you accept the invitation please set your nickname and password.
846
+ invitation_removed: Your invitation was removed.
847
+ invitation_token_invalid: The invitation token provided is not valid!
848
+ new:
849
+ header: Send invitation
850
+ submit_button: Send an invitation
851
+ no_invitations_remaining: No invitations remaining
852
+ send_instructions: An invitation email has been sent to %{email}.
853
+ updated: Your password was set successfully. You are now signed in.
854
+ updated_not_active: Your password was set successfully.
651
855
  mailer:
856
+ confirmation_instructions:
857
+ action: Confirm my account
858
+ greeting: Welcome %{recipient}!
859
+ instruction: 'You can confirm your account email through the link below:'
860
+ subject: Confirmation instructions
861
+ email_changed:
862
+ greeting: Hello %{recipient}!
863
+ message: We're contacting you to notify you that your email is being changed to %{email}.
864
+ subject: Email Changed
652
865
  invitation_instructions:
653
866
  accept: Accept invitation
654
867
  accept_until: This invitation will be due in %{due_date}.
@@ -658,19 +871,15 @@ en:
658
871
  If you don't want to accept the invitation, please ignore this email.<br />
659
872
  Your account won't be created until you access the link above and set your nickname and password.
660
873
  invited_you_as_admin: "%{invited_by} has invited you as an admin of %{application}. You can accept it through the link below."
661
- invited_you_as_friend: "%{invited_by} has invited you to %{application}."
662
874
  invited_you_as_private_user: "%{invited_by} has invited you as a private user of %{application}. You can accept it through the link below."
663
875
  someone_invited_you: Someone has invited you to %{application}. You can accept it through the link below.
664
876
  someone_invited_you_as_admin: Someone has invited you as an admin of %{application}, you can accept it through the link below.
665
877
  someone_invited_you_as_private_user: Someone has invited you as private_user of %{application}, you can accept it through the link below.
878
+ subject: Invitation instructions
666
879
  invite_admin:
667
880
  subject: You've been invited to manage %{organization}
668
881
  invite_collaborator:
669
882
  subject: You've been invited to collaborate on %{organization}
670
- invite_friend:
671
- accept_invitation: 'You can accept the invitation through the link below:'
672
- friend_custom_text: 'They left this message for you:'
673
- subject: You've been invited to %{organization}
674
883
  invite_private_user:
675
884
  subject: You've been invited to a private participatory process on %{organization}
676
885
  organization_admin_invitation_instructions:
@@ -679,20 +888,101 @@ en:
679
888
  greeting: Hello %{recipient}!
680
889
  message: We're contacting you to notify you that your password has been changed.
681
890
  subject: Password changed
891
+ reset_password_instructions:
892
+ action: Change my password
893
+ greeting: Hello %{recipient}!
894
+ instruction: Someone has requested a link to change your password, and you can do this through the link below.
895
+ instruction_2: If you didn't request this, please ignore this email.
896
+ instruction_3: Your password won't change until you access the link above and create a new one.
897
+ subject: Reset password instructions
898
+ unlock_instructions:
899
+ action: Unlock my account
900
+ greeting: Hello %{recipient}!
901
+ instruction: 'Click the link below to unlock your account:'
902
+ message: Your account has been locked due to an excessive amount of unsuccessful sign in attempts.
903
+ subject: Unlock instructions
904
+ omniauth_callbacks:
905
+ failure: Could not authenticate you from %{kind} because "%{reason}".
906
+ success: Successfully authenticated from %{kind} account.
907
+ passwords:
908
+ edit:
909
+ change_my_password: Change my password
910
+ change_your_password: Change your password
911
+ confirm_new_password: Confirm new password
912
+ new_password: New password
913
+ new:
914
+ forgot_your_password: Forgot your password?
915
+ send_me_reset_password_instructions: Send me reset password instructions
916
+ no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.
917
+ send_instructions: You will receive an email with instructions on how to reset your password in a few minutes.
918
+ send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
919
+ updated: Your password has been changed successfully. You are now signed in.
920
+ updated_not_active: Your password has been changed successfully.
921
+ registrations:
922
+ destroyed: Bye! Your account has been successfully cancelled. We hope to see you again soon.
923
+ edit:
924
+ are_you_sure: Are you sure?
925
+ cancel_my_account: Cancel my account
926
+ currently_waiting_confirmation_for_email: 'Currently waiting confirmation for: %{email}'
927
+ leave_blank_if_you_don_t_want_to_change_it: leave blank if you don't want to change it
928
+ title: Edit %{resource}
929
+ unhappy: Unhappy?
930
+ update: Update
931
+ we_need_your_current_password_to_confirm_your_changes: we need your current password to confirm your changes
932
+ new:
933
+ sign_up: Sign up
934
+ signed_up: Welcome! You have signed up successfully.
935
+ signed_up_but_inactive: You have signed up successfully. However, we could not sign you in because your account is not yet activated.
936
+ signed_up_but_locked: You have signed up successfully. However, we could not sign you in because your account is locked.
937
+ signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account.
938
+ update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.
939
+ updated: Your account has been updated successfully.
940
+ sessions:
941
+ already_signed_out: Signed out successfully.
942
+ new:
943
+ sign_in: Log in
944
+ signed_in: Signed in successfully.
945
+ signed_out: Signed out successfully.
946
+ shared:
947
+ links:
948
+ back: Back
949
+ didn_t_receive_confirmation_instructions: Didn't receive confirmation instructions?
950
+ didn_t_receive_unlock_instructions: Didn't receive unlock instructions?
951
+ forgot_your_password: Forgot your password?
952
+ sign_in: Log in
953
+ sign_in_with_provider: Sign in with %{provider}
954
+ sign_up: Sign up
955
+ minimum_password_length:
956
+ one: "(%{count} character minimum)"
957
+ other: "(%{count} characters minimum)"
958
+ unlocks:
959
+ new:
960
+ resend_unlock_instructions: Resend unlock instructions
961
+ send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes.
962
+ send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes.
963
+ unlocked: Your account has been unlocked successfully. Please sign in to continue.
682
964
  doorkeeper:
683
965
  scopes:
684
966
  public: Your public information.
685
967
  errors:
686
968
  messages:
969
+ already_confirmed: was already confirmed, please try signing in
970
+ confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
687
971
  content_type_whitelist_error: the file type is not valid
688
972
  cycle_detected: a scope's parent can't be one of its descendants
973
+ expired: has expired, please request a new one
689
974
  file_size_is_less_than_or_equal_to: file size must be less than or equal to %{count}
690
- long_words: contains words that are too long
691
- must_start_with_caps: must start with caps
975
+ long_words: contains words that are too long (over 35 characters)
976
+ must_start_with_caps: must start with a capital letter
692
977
  nesting_too_deep: can't be inside of a subcategory
693
- too_many_marks: is using too many marks
694
- too_much_caps: is using too much caps
695
- too_short: is too short
978
+ not_found: not found
979
+ not_locked: was not locked
980
+ not_saved:
981
+ one: '1 error prohibited this %{resource} from being saved:'
982
+ other: "%{count} errors prohibited this %{resource} from being saved:"
983
+ too_many_marks: is using too many consecutive punctuation marks (e.g. ! and ?)
984
+ too_much_caps: is using too many capital letters (over 25% of the text)
985
+ too_short: is too short (under 15 characters)
696
986
  forms:
697
987
  required: Required
698
988
  invisible_captcha:
@@ -722,7 +1012,6 @@ en:
722
1012
  user_menu:
723
1013
  admin_dashboard: Admin dashboard
724
1014
  conversations: Conversations
725
- invite_friends: Invite friends
726
1015
  notifications: Notifications
727
1016
  profile: My account
728
1017
  public_profile: My public profile
@@ -734,7 +1023,7 @@ en:
734
1023
  my_data: My data
735
1024
  notifications_settings: Notifications settings
736
1025
  title: User settings
737
- user_groups: Organizations
1026
+ user_groups: Groups
738
1027
  widget:
739
1028
  see_more: See more
740
1029
  locale:
@@ -777,6 +1066,10 @@ en:
777
1066
  day_of_year: "%d.%m.%y"
778
1067
  decidim_day_of_year: "%d %B %Y"
779
1068
  decidim_short: "%d/%m/%Y %H:%M"
1069
+ devise:
1070
+ mailer:
1071
+ invitation_instructions:
1072
+ accept_until_format: "%B %d, %Y %I:%M %p"
780
1073
  time_of_day: "%H:%M"
781
1074
  views:
782
1075
  pagination: