decidim-core 0.8.4 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +1 -1
  3. data/app/assets/images/decidim/decidim-logo.svg +23 -23
  4. data/app/assets/images/decidim/default-avatar.svg +7 -7
  5. data/app/assets/images/decidim/icons.svg +1 -0
  6. data/app/assets/javascripts/decidim.js.es6 +5 -2
  7. data/app/assets/javascripts/decidim/append_redirect_url_to_modals.js.es6 +84 -0
  8. data/app/assets/javascripts/decidim/data_picker.js.es6 +177 -0
  9. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +25 -20
  10. data/app/assets/javascripts/decidim/form_filter.component.test.js +24 -13
  11. data/app/assets/javascripts/decidim/history.js.es6 +3 -3
  12. data/app/assets/stylesheets/decidim/_decidim.scss +1 -4
  13. data/app/assets/stylesheets/decidim/_variables.scss +4 -4
  14. data/app/assets/stylesheets/decidim/editor.scss +13 -0
  15. data/app/assets/stylesheets/decidim/email.css +9 -1
  16. data/app/assets/stylesheets/decidim/extras/_add_comments.scss +3 -3
  17. data/app/assets/stylesheets/decidim/extras/_announcement.scss +1 -1
  18. data/app/assets/stylesheets/decidim/extras/_collection-sort-controls.scss +2 -2
  19. data/app/assets/stylesheets/decidim/extras/_embed.scss +6 -5
  20. data/app/assets/stylesheets/decidim/extras/_impersonation-bar.scss +4 -0
  21. data/app/assets/stylesheets/decidim/extras/_label-required.scss +1 -1
  22. data/app/assets/stylesheets/decidim/extras/_leaflet.scss +6 -4
  23. data/app/assets/stylesheets/decidim/extras/_meeting-registrations.scss +4 -4
  24. data/app/assets/stylesheets/decidim/extras/_process_stats.scss +11 -4
  25. data/app/assets/stylesheets/decidim/extras/_proposal_form.scss +3 -3
  26. data/app/assets/stylesheets/decidim/extras/_quill.scss +1 -1
  27. data/app/assets/stylesheets/decidim/extras/_reference.scss +3 -3
  28. data/app/assets/stylesheets/decidim/extras/_register_form.scss +3 -3
  29. data/app/assets/stylesheets/decidim/extras/_results-per-page.scss +10 -10
  30. data/app/assets/stylesheets/decidim/extras/_social_icons_mini.scss +4 -3
  31. data/app/assets/stylesheets/decidim/layouts/_highlighted_banner.scss +38 -0
  32. data/app/assets/stylesheets/decidim/layouts/_home.scss +33 -3
  33. data/app/assets/stylesheets/decidim/layouts/_user.scss +33 -5
  34. data/app/assets/stylesheets/decidim/layouts/_view.scss +1 -2
  35. data/app/assets/stylesheets/decidim/map.css +5 -3
  36. data/app/assets/stylesheets/decidim/modules/_address.scss +1 -0
  37. data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +24 -9
  38. data/app/assets/stylesheets/decidim/modules/_buttons.scss +24 -10
  39. data/app/assets/stylesheets/decidim/modules/_callout.scss +5 -1
  40. data/app/assets/stylesheets/decidim/modules/_card-grid.scss +1 -1
  41. data/app/assets/stylesheets/decidim/modules/_cards.scss +102 -31
  42. data/app/assets/stylesheets/decidim/modules/_comments.scss +21 -20
  43. data/app/assets/stylesheets/decidim/modules/_cookie-bar.scss +4 -0
  44. data/app/assets/stylesheets/decidim/modules/_data-picker.scss +159 -0
  45. data/app/assets/stylesheets/decidim/modules/_datepicker.scss +36 -36
  46. data/app/assets/stylesheets/decidim/modules/_definition-data.scss +12 -9
  47. data/app/assets/stylesheets/decidim/modules/_extra.scss +4 -1
  48. data/app/assets/stylesheets/decidim/modules/_filter-tags.scss +3 -0
  49. data/app/assets/stylesheets/decidim/modules/_filters.scss +9 -5
  50. data/app/assets/stylesheets/decidim/modules/_flag.scss +1 -0
  51. data/app/assets/stylesheets/decidim/modules/_footer.scss +10 -0
  52. data/app/assets/stylesheets/decidim/modules/_forms.scss +2 -1
  53. data/app/assets/stylesheets/decidim/modules/_help.scss +2 -0
  54. data/app/assets/stylesheets/decidim/modules/_icons.scss +1 -0
  55. data/app/assets/stylesheets/decidim/modules/_layout.scss +4 -0
  56. data/app/assets/stylesheets/decidim/modules/_list-docs.scss +3 -0
  57. data/app/assets/stylesheets/decidim/modules/_main-container.scss +13 -7
  58. data/app/assets/stylesheets/decidim/modules/_map.scss +13 -1
  59. data/app/assets/stylesheets/decidim/modules/_margins.scss +1 -0
  60. data/app/assets/stylesheets/decidim/modules/_messages.scss +2 -1
  61. data/app/assets/stylesheets/decidim/modules/_modules.scss +3 -0
  62. data/app/assets/stylesheets/decidim/modules/_navbar.scss +36 -16
  63. data/app/assets/stylesheets/decidim/modules/_omnipresent_banner.scss +26 -0
  64. data/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +5 -0
  65. data/app/assets/stylesheets/decidim/modules/_order-by.scss +10 -10
  66. data/app/assets/stylesheets/decidim/modules/_pagination.scss +3 -2
  67. data/app/assets/stylesheets/decidim/modules/_process-header.scss +11 -2
  68. data/app/assets/stylesheets/decidim/modules/_process-info.scss +9 -1
  69. data/app/assets/stylesheets/decidim/modules/_process-nav.scss +20 -3
  70. data/app/assets/stylesheets/decidim/modules/_process-phase.scss +12 -3
  71. data/app/assets/stylesheets/decidim/modules/_progress-bar.scss +69 -0
  72. data/app/assets/stylesheets/decidim/modules/_reference.scss +1 -2
  73. data/app/assets/stylesheets/decidim/modules/_reveal.scss +1 -1
  74. data/app/assets/stylesheets/decidim/modules/_share.scss +2 -0
  75. data/app/assets/stylesheets/decidim/modules/_signup.scss +5 -1
  76. data/app/assets/stylesheets/decidim/modules/_static-pages.scss +6 -0
  77. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +2 -0
  78. data/app/assets/stylesheets/decidim/modules/_tags.scss +3 -1
  79. data/app/assets/stylesheets/decidim/modules/_timeline.scss +41 -30
  80. data/app/assets/stylesheets/decidim/modules/_title-action.scss +2 -1
  81. data/app/assets/stylesheets/decidim/modules/_typography.scss +13 -4
  82. data/app/assets/stylesheets/decidim/modules/_user-form.scss +1 -0
  83. data/app/assets/stylesheets/decidim/modules/_video.scss +2 -2
  84. data/app/assets/stylesheets/decidim/utils/_fontface.scss +22 -20
  85. data/app/assets/stylesheets/decidim/utils/_helpers.scss +6 -6
  86. data/app/assets/stylesheets/decidim/utils/_keyframes.scss +6 -6
  87. data/app/assets/stylesheets/decidim/utils/_mixins.scss +24 -7
  88. data/app/assets/stylesheets/decidim/utils/_settings.scss +50 -52
  89. data/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +1 -0
  90. data/app/commands/decidim/create_omniauth_registration.rb +3 -0
  91. data/app/commands/decidim/create_registration.rb +3 -1
  92. data/app/commands/decidim/destroy_account.rb +1 -0
  93. data/app/commands/decidim/invite_user_again.rb +1 -1
  94. data/app/commands/decidim/messaging/reply_to_conversation.rb +1 -3
  95. data/app/commands/decidim/unsubscribe_settings.rb +29 -0
  96. data/app/commands/decidim/update_account.rb +16 -3
  97. data/app/controllers/concerns/decidim/action_authorization.rb +1 -1
  98. data/app/controllers/concerns/decidim/devise_controllers.rb +10 -0
  99. data/app/controllers/concerns/decidim/form_factory.rb +2 -1
  100. data/app/controllers/concerns/decidim/impersonate_users.rb +13 -8
  101. data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -1
  102. data/app/controllers/decidim/application_controller.rb +16 -0
  103. data/app/controllers/decidim/cookie_policy_controller.rb +2 -0
  104. data/app/controllers/decidim/devise/invitations_controller.rb +9 -1
  105. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +10 -1
  106. data/app/controllers/decidim/devise/sessions_controller.rb +9 -1
  107. data/app/controllers/decidim/locales_controller.rb +2 -3
  108. data/app/controllers/decidim/messaging/conversations_controller.rb +2 -2
  109. data/app/controllers/decidim/newsletters_controller.rb +60 -0
  110. data/app/controllers/decidim/pages_controller.rb +1 -0
  111. data/app/controllers/decidim/profiles_controller.rb +23 -0
  112. data/app/controllers/decidim/scopes_controller.rb +19 -20
  113. data/app/events/decidim/profile_updated_event.rb +27 -0
  114. data/app/forms/decidim/account_form.rb +34 -0
  115. data/app/forms/decidim/form.rb +1 -0
  116. data/app/forms/decidim/messaging/conversation_form.rb +5 -2
  117. data/app/forms/decidim/omniauth_registration_form.rb +5 -0
  118. data/app/forms/decidim/registration_form.rb +8 -1
  119. data/app/helpers/decidim/action_authorization_helper.rb +2 -2
  120. data/app/helpers/decidim/application_helper.rb +8 -0
  121. data/app/helpers/decidim/feature_path_helper.rb +12 -2
  122. data/app/helpers/decidim/feature_reference_helper.rb +1 -1
  123. data/app/helpers/decidim/messaging/conversation_helper.rb +27 -9
  124. data/app/helpers/decidim/newsletters_helper.rb +49 -0
  125. data/app/helpers/decidim/scopes_helper.rb +43 -2
  126. data/app/helpers/decidim/translations_helper.rb +6 -2
  127. data/app/mailers/decidim/decidim_devise_mailer.rb +1 -3
  128. data/app/mailers/decidim/messaging/conversation_mailer.rb +1 -1
  129. data/app/mailers/decidim/newsletter_mailer.rb +7 -8
  130. data/app/models/decidim/abilities/everyone_ability.rb +1 -0
  131. data/app/models/decidim/authorization.rb +19 -5
  132. data/app/models/decidim/impersonation_log.rb +2 -1
  133. data/app/models/decidim/messaging/conversation.rb +2 -0
  134. data/app/models/decidim/messaging/message.rb +4 -0
  135. data/app/models/decidim/organization.rb +1 -0
  136. data/app/models/decidim/scope.rb +10 -2
  137. data/app/models/decidim/user.rb +10 -2
  138. data/app/presenters/decidim/home_stats_presenter.rb +10 -4
  139. data/app/presenters/decidim/user_group_presenter.rb +28 -0
  140. data/app/presenters/decidim/user_presenter.rb +42 -0
  141. data/app/services/decidim/action_authorizer.rb +32 -68
  142. data/app/services/decidim/notification_generator_for_recipient.rb +8 -3
  143. data/app/uploaders/decidim/avatar_uploader.rb +2 -2
  144. data/app/views/decidim/account/delete.html.erb +1 -1
  145. data/app/views/decidim/account/show.html.erb +4 -1
  146. data/app/views/decidim/devise/invitations/edit.html.erb +2 -0
  147. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +7 -1
  148. data/app/views/decidim/devise/registrations/new.html.erb +7 -1
  149. data/app/views/decidim/messaging/conversations/_message.html.erb +6 -12
  150. data/app/views/decidim/messaging/conversations/_reply.html.erb +1 -1
  151. data/app/views/decidim/messaging/conversations/index.html.erb +1 -1
  152. data/app/views/decidim/messaging/conversations/update.js.erb +1 -0
  153. data/app/views/decidim/newsletter_mailer/newsletter.html.erb +11 -0
  154. data/app/views/decidim/newsletters/show.html.erb +11 -0
  155. data/app/views/decidim/newsletters/unsubscribe.html.erb +4 -0
  156. data/app/views/decidim/notifications/_notification.html.erb +1 -1
  157. data/app/views/decidim/profiles/show.html.erb +64 -0
  158. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +6 -0
  159. data/app/views/decidim/scopes/picker.html.erb +36 -0
  160. data/app/views/decidim/shared/_action_authorization_modal.html.erb +25 -51
  161. data/app/views/decidim/shared/_author.html.erb +21 -0
  162. data/app/views/decidim/shared/_author_reference.html.erb +12 -0
  163. data/app/views/layouts/decidim/_application.html.erb +1 -0
  164. data/app/views/layouts/decidim/_impersonation_warning.html.erb +1 -1
  165. data/app/views/layouts/decidim/_mailer_logo.html.erb +6 -1
  166. data/app/views/layouts/decidim/_omnipresent_banner.html.erb +14 -0
  167. data/app/views/layouts/decidim/_user_menu.html.erb +3 -0
  168. data/app/views/layouts/decidim/mailer.html.erb +16 -4
  169. data/app/views/layouts/decidim/widget.html.erb +14 -9
  170. data/app/views/pages/home.html.erb +2 -0
  171. data/app/views/pages/home/_highlighted_content_banner.html.erb +26 -0
  172. data/config/initializers/devise.rb +1 -3
  173. data/config/locales/ca.yml +67 -9
  174. data/config/locales/en.yml +65 -4
  175. data/config/locales/es.yml +74 -14
  176. data/config/locales/eu.yml +66 -4
  177. data/config/locales/fi.yml +87 -25
  178. data/config/locales/fr.yml +71 -9
  179. data/config/locales/gl.yml +493 -0
  180. data/config/locales/it.yml +79 -17
  181. data/config/locales/nl.yml +71 -9
  182. data/config/locales/pl.yml +66 -4
  183. data/config/locales/pt-BR.yml +493 -0
  184. data/config/locales/pt.yml +99 -37
  185. data/config/locales/ru.yml +85 -13
  186. data/config/locales/sv.yml +493 -0
  187. data/config/locales/uk.yml +78 -16
  188. data/config/routes.rb +11 -1
  189. data/db/migrate/20171212103803_create_unique_nicknames.rb +29 -0
  190. data/db/migrate/20180115090038_extend_user_profile.rb +8 -0
  191. data/db/migrate/20180123125308_add_enable_omnipresent_banner_to_decidim_organizations.rb +7 -0
  192. data/db/migrate/20180123125409_add_omnipresent_banner_title_to_decidim_organizations.rb +7 -0
  193. data/db/migrate/20180123125432_add_omnipresent_banner_short_description_to_decidim_organizations.rb +7 -0
  194. data/db/migrate/20180123125452_add_omnipresent_banner_url_to_decidim_organizations.rb +7 -0
  195. data/db/migrate/20180125063433_add_highlighted_content_banner_to_decidim_organizations.rb +13 -0
  196. data/db/seeds.rb +8 -2
  197. data/lib/decidim/abilities/participatory_process_role_ability.rb +1 -3
  198. data/lib/decidim/content_parsers.rb +8 -0
  199. data/lib/decidim/content_parsers/base_parser.rb +58 -0
  200. data/lib/decidim/content_parsers/user_parser.rb +46 -0
  201. data/lib/decidim/content_processor.rb +84 -0
  202. data/lib/decidim/content_renderers.rb +8 -0
  203. data/lib/decidim/content_renderers/base_renderer.rb +37 -0
  204. data/lib/decidim/content_renderers/user_renderer.rb +32 -0
  205. data/lib/decidim/core.rb +66 -1
  206. data/lib/decidim/core/api/author_interface.rb +3 -3
  207. data/lib/decidim/core/api/user_group_type.rb +10 -8
  208. data/lib/decidim/core/api/user_type.rb +13 -7
  209. data/lib/decidim/core/engine.rb +7 -5
  210. data/lib/decidim/core/test.rb +1 -1
  211. data/lib/decidim/core/test/factories.rb +21 -45
  212. data/lib/decidim/core/test/shared_examples/announcements_examples.rb +3 -2
  213. data/lib/decidim/core/test/shared_examples/comments_examples.rb +5 -2
  214. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +40 -3
  215. data/lib/decidim/core/test/shared_examples/simple_event.rb +73 -0
  216. data/lib/decidim/core/version.rb +1 -1
  217. data/lib/decidim/events.rb +2 -0
  218. data/lib/decidim/events/author_event.rb +41 -0
  219. data/lib/decidim/events/base_event.rb +28 -3
  220. data/lib/decidim/events/email_event.rb +1 -1
  221. data/lib/decidim/events/notification_event.rb +1 -1
  222. data/lib/decidim/events/simple_event.rb +79 -0
  223. data/lib/decidim/filter_form_builder.rb +2 -3
  224. data/lib/decidim/form_builder.rb +39 -27
  225. data/lib/decidim/friendly_dates.rb +26 -0
  226. data/lib/decidim/has_feature.rb +1 -0
  227. data/lib/decidim/has_reference.rb +1 -1
  228. data/lib/decidim/i18n_exceptions.rb +1 -3
  229. data/lib/decidim/menu.rb +1 -1
  230. data/lib/decidim/newsletter_encryptor.rb +22 -0
  231. data/lib/decidim/nicknamizable.rb +56 -0
  232. data/lib/decidim/participable.rb +8 -0
  233. data/lib/decidim/participatory_space_manifest.rb +10 -1
  234. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.gl.js +13 -0
  235. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt-br.js +14 -0
  236. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt.js +5 -1
  237. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ru.js +4 -1
  238. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.sv.js +14 -0
  239. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.uk.js +4 -1
  240. data/vendor/assets/javascripts/form_datepicker.js.es6 +4 -2
  241. data/vendor/assets/javascripts/foundation-datepicker.js +42 -26
  242. metadata +124 -84
  243. data/app/assets/javascripts/decidim/select2.field.js.es6 +0 -47
  244. data/app/assets/javascripts/decidim/select2.js.es6 +0 -11
  245. data/app/assets/stylesheets/decidim/editor.sass +0 -4
  246. data/app/assets/stylesheets/decidim/plugins/_select2.scss +0 -63
  247. data/app/helpers/decidim/datetime_helper.rb +0 -23
  248. data/app/queries/decidim/freetext_scopes.rb +0 -39
  249. data/lib/decidim/core/test/shared_examples/manage_moderations_examples.rb +0 -64
@@ -16,6 +16,7 @@
16
16
  <body>
17
17
  <%= render partial: 'layouts/decidim/impersonation_warning' %>
18
18
  <%= render partial: 'layouts/decidim/cookie_warning' %>
19
+ <%= render partial: "layouts/decidim/omnipresent_banner" %>
19
20
 
20
21
  <%= render 'layouts/decidim/wrapper' do %>
21
22
  <%= yield %>
@@ -3,7 +3,7 @@
3
3
  <%= t('.description_html', user_name: current_user.name) %>
4
4
  <%= t('.expire_time_html', minutes: impersonation_session_remaining_duration_in_minutes) %>
5
5
  <div class="impersonation-warning__action">
6
- <%= button_to t('.close_session'), decidim_admin.close_session_managed_user_impersonations_path(current_user), class: "button tiny impersonation-bar__button" %>
6
+ <%= button_to t('.close_session'), decidim_admin.close_session_managed_user_impersonations_path(current_user), class: "button tiny impersonation-bar__button", data: {disable: true } %>
7
7
  </div>
8
8
  </div>
9
9
  <%= javascript_include_tag "decidim/impersonation" %>
@@ -1,5 +1,10 @@
1
1
  <% if organization %>
2
- <%= link_to decidim.root_url(host: organization.host) do %>
2
+ <% if @custom_url_for_mail_root.present? %>
3
+ <% url = @custom_url_for_mail_root %>
4
+ <% else %>
5
+ <% url = decidim.root_url(host: @organization.host) %>
6
+ <% end %>
7
+ <%= link_to url do %>
3
8
  <% if organization.logo.present? %>
4
9
  <%= image_tag organization.logo.medium.url, style: "max-height: 50px", alt: "" %>
5
10
  <% else %>
@@ -0,0 +1,14 @@
1
+ <% if current_organization.enable_omnipresent_banner %>
2
+ <div class="omnipresent-banner">
3
+ <%= link_to current_organization.omnipresent_banner_url do %>
4
+ <span class="omnipresent-banner-title">
5
+ <%= translated_attribute current_organization.omnipresent_banner_title %>
6
+ </span>
7
+ -
8
+ <span class="omnipresent-banner-short-description">
9
+ <%= translated_attribute current_organization.omnipresent_banner_short_description %>
10
+ </span>
11
+ <%= icon "media-play" %>
12
+ <% end %>
13
+ </div>
14
+ <% end %>
@@ -1,4 +1,7 @@
1
1
  <li><%= link_to t(".profile"), decidim.account_path %></li>
2
+ <% unless current_user.managed? %>
3
+ <li><%= link_to t(".public_profile"), decidim.profile_path(current_user.nickname) %></li>
4
+ <% end %>
2
5
  <li><%= link_to t(".notifications"), decidim.notifications_path %></li>
3
6
  <li><%= link_to t(".conversations"), decidim.conversations_path %></li>
4
7
  <% if can? :read, :admin_dashboard %>
@@ -9,6 +9,13 @@
9
9
  <body>
10
10
  <!-- <style> -->
11
11
  <table class="body">
12
+ <% if content_for?(:see_on_website) %>
13
+ <table class="container">
14
+ <th class="small-12 first columns headnote float-right">
15
+ <%= yield(:see_on_website) %>
16
+ </th>
17
+ </table>
18
+ <% end %>
12
19
  <tr>
13
20
  <td class="float-center" align="center" valign="top">
14
21
  <center>
@@ -86,7 +93,11 @@
86
93
  <th class="expander"></th>
87
94
  <th class="small-12 first columns cityhall-bar">
88
95
  <div class="decidim-logo" style="float: right; text-align: right; padding-right: 16px">
89
- <%= link_to @organization.name, decidim.root_url(host: @organization.host) %>
96
+ <% if @custom_url_for_mail_root.present? %>
97
+ <%= link_to @organization.name, @custom_url_for_mail_root %>
98
+ <% else %>
99
+ <%= link_to @organization.name, decidim.root_url(host: @organization.host) %>
100
+ <% end %>
90
101
  </div>
91
102
  </th>
92
103
  </tr>
@@ -95,15 +106,16 @@
95
106
  </tr>
96
107
  </table>
97
108
 
98
- <% if content_for?(:note) %>
109
+ <% if content_for?(:note) or content_for?(:unsubscribe)%>
99
110
  <table class="container">
100
111
  <tr>
101
112
  <td>
102
113
  <table class="row">
103
114
  <th class="expander"></th>
104
- <th class="small-12 first columns footnote">
115
+ <th class="small-12 first last columns footnote">
105
116
  <center>
106
- <%= yield(:note) %>
117
+ <%= yield(:note) if content_for?(:note) %>
118
+ <%= yield(:unsubscribe) if content_for?(:unsubscribe) %>
107
119
  </center>
108
120
  </th>
109
121
  </table>
@@ -30,17 +30,22 @@
30
30
  <h5 class="card__title"><%= content_for(:title) %></h5>
31
31
  <% end %>
32
32
  <% if model.try(:author) %>
33
- <div class="card__author author-data author-data--small">
34
- <div class="author-data__main">
35
- <div class="author author--inline">
36
- <span class="author__avatar author__avatar--small">
37
- <%= image_tag model.author_avatar_url %>
38
- </span>
39
- <span class="author__name"><%= model.author_name %></span>
40
- <%= l model.created_at, format: "%d/%m/%Y" %>
33
+ <% present(model.author) do |user| %>
34
+ <div class="card__author author-data author-data--small">
35
+ <div class="author-data__main">
36
+ <div class="author author--inline">
37
+ <span class="author__avatar author__avatar--small">
38
+ <%= image_tag user.avatar_url %>
39
+ </span>
40
+ <span class="author__name">
41
+ <strong><%= user.name %></strong>
42
+ <%= user.nickname %>
43
+ </span>
44
+ <%= l model.created_at, format: "%d/%m/%Y" %>
45
+ </div>
41
46
  </div>
42
47
  </div>
43
- </div>
48
+ <% end %>
44
49
  <% end %>
45
50
  </div>
46
51
  <%= yield %>
@@ -4,6 +4,8 @@
4
4
  <%= render partial: 'pages/home/sub_hero' %>
5
5
  <% end %>
6
6
 
7
+ <%= render partial: "pages/home/highlighted_content_banner" %>
8
+
7
9
  <%= render partial: 'pages/home/highlighted_processes' %>
8
10
 
9
11
  <%= render partial: 'pages/home/extended' %>
@@ -0,0 +1,26 @@
1
+ <% if current_organization.highlighted_content_banner_enabled %>
2
+ <section class="extended highligted-content-banner"
3
+ style="background-image:url(<%= current_organization.highlighted_content_banner_image.url %>);">
4
+ <div class="highligted-content-banner__container">
5
+ <div class="row">
6
+ <div class="columns large-10">
7
+ <h1 class="text-highlight heading1 highligted-content-banner-heading">
8
+ <%= translated_attribute current_organization.highlighted_content_banner_title %>
9
+ </h1>
10
+ <span class="text-highlight">
11
+ <%= sanitize translated_attribute current_organization.highlighted_content_banner_short_description %>
12
+ </span>
13
+ </div>
14
+ <div class="columns large-2">
15
+ <%= link_to current_organization.highlighted_content_banner_action_url,
16
+ class: "button expanded button--sc" do %>
17
+ <%= translated_attribute current_organization.highlighted_content_banner_action_title %>
18
+ <span class="button__info">
19
+ <%= translated_attribute current_organization.highlighted_content_banner_action_subtitle %>
20
+ </span>
21
+ <% end %>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </section>
26
+ <% end %>
@@ -300,9 +300,7 @@ Devise.setup do |config|
300
300
  # ==> OmniAuth
301
301
  # Add a new OmniAuth provider. Check the wiki for more information on setting
302
302
  # up on your models and hooks.
303
- if Rails.application.secrets.dig(:omniauth, :developer).present?
304
- config.omniauth :developer
305
- end
303
+ config.omniauth :developer, fields: [:name, :nickname, :email] if Rails.application.secrets.dig(:omniauth, :developer).present?
306
304
  if Rails.application.secrets.dig(:omniauth, :facebook).present?
307
305
  config.omniauth :facebook,
308
306
  Rails.application.secrets.omniauth[:facebook][:app_id],
@@ -1,4 +1,3 @@
1
- ---
2
1
  ca:
3
2
  activemodel:
4
3
  attributes:
@@ -9,6 +8,7 @@ ca:
9
8
  user:
10
9
  email: El teu email
11
10
  name: El teu nom
11
+ nickname: El vostre identificador curt i únic
12
12
  password: Contrasenya
13
13
  password_confirmation: Confirma la teva contrasenya
14
14
  remove_avatar: Elimina la imatge d'usuari
@@ -29,7 +29,7 @@ ca:
29
29
  user_group_phone: Telèfon de l'organització
30
30
  booleans:
31
31
  'false': 'No'
32
- 'true': Sí
32
+ 'true': ''
33
33
  carrierwave:
34
34
  errors:
35
35
  image_too_big: La imatge és massa gran
@@ -70,6 +70,8 @@ ca:
70
70
  name: Flux de treball d'autorització d'exemple
71
71
  errors:
72
72
  duplicate_authorization: Un usuari ja està autoritzat amb les mateixes dades.
73
+ expired_at: Vençut el %{timestamp}
74
+ expires_at: Caduca el %{timestamp}
73
75
  foo_authorization:
74
76
  fields:
75
77
  bar: Bar
@@ -77,6 +79,7 @@ ca:
77
79
  name: Autorització foo
78
80
  granted_at: Atorgada el %{timestamp}
79
81
  started_at: Iniciat el %{timestamp}
82
+ contact: Contacte
80
83
  core:
81
84
  actions:
82
85
  unauthorized: No tens permís per realitzar aquesta acció
@@ -86,13 +89,15 @@ ca:
86
89
  email_already_exists: Un altre compte està utilitzant la mateixa adreça de correu electrònic
87
90
  new:
88
91
  complete_profile: Completa el perfil
92
+ nickname_help: El vostre identificador curt i únic
89
93
  sign_up: Si us plau completa el teu perfil
90
94
  subtitle: Si us plau, omple el següent formulari per tal de completar la teva inscripció
91
95
  username_help: Nom públic que apareix en els teus missatges. Amb l'objectiu de garantir l'anonimat, pot ser qualsevol nom.
92
96
  registrations:
93
97
  new:
94
98
  already_have_an_account?: Ja tens un compte?
95
- newsletter_notifications: Rebre informació sobre activitat rellevant
99
+ newsletter: Rebeu un butlletí ocasional amb informació rellevant
100
+ nickname_help: El vostre identificador curt i únic
96
101
  sign_in: Entra
97
102
  sign_up: Registra't
98
103
  sign_up_as:
@@ -119,13 +124,35 @@ ca:
119
124
  content_doesnt_exist: Aquesta adreça és incorrecta o ha estat eliminada.
120
125
  title: No s'ha trobat la pàgina que busques
121
126
  events:
127
+ attachments:
128
+ attachment_created:
129
+ email_intro: 'S''ha afegit un nou document a %{resource_title}. Pots veure-ho des d''aquesta pàgina:'
130
+ email_outro: Has rebut aquesta notificació perquè estàs seguint %{resource_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
131
+ email_subject: S'ha produït un esdeveniment a %{resource_title}
132
+ notification_title: S'ha afegit un <a href="%{resource_path}"> nou document</a> a <a href="%{attached_to_url}">%{resource_title}</a>
122
133
  email_event:
123
134
  email_greeting: Hola %{user_name},
124
135
  email_intro: 'Hi ha hagut una actualització a "%{resource_title}". Es pot veure en aquesta pàgina:'
125
136
  email_outro: Has rebut aquesta notificació perquè que segueixes "%{resource_title}". El pots deixar de seguir al link anterior.
126
137
  email_subject: Una actualització a %{resource_title}
138
+ feature_published_event:
139
+ email_intro: 'El component %{resource_title} ja està actiu per %{participatory_space_title}. Pots veure-ho des d''aquesta pàgina:'
140
+ email_outro: Has rebut aquesta notificació perquè estàs seguint %{participatory_space_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
141
+ email_subject: Una actualització a %{participatory_space_title}
142
+ notification_title: El component %{resource_title} ja està actiu per <a href="%{resource_path}">%{participatory_space_title}</a>
127
143
  notification_event:
128
144
  notification_title: S'ha produït un esdeveniment a <a href="%{resource_path}">%{resource_title}</a>.
145
+ participatory_process_step_activated_event:
146
+ email_intro: 'La fase %{resource_title} ja està activa per %{participatory_space_title}. Pots veure-ho des d''aquesta pàgina:'
147
+ email_outro: Has rebut aquesta notificació perquè estàs seguint %{participatory_space_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
148
+ email_subject: S'ha produït un esdeveniment a %{participatory_space_title}
149
+ notification_title: La fase %{resource_title} ja està activa per <a href="%{resource_path}">%{participatory_space_title}</a>
150
+ users:
151
+ profile_updated:
152
+ email_intro: El <a href="%{resource_url}">perfil</a> d'en/na %{name} (%{nickname}), a qui estàs seguint, s'ha actualitzat.
153
+ email_outro: Has rebut aquesta notificació perquè estàs seguint en/na %{nickname}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
154
+ email_subject: "En/na %{nickname} ha actualitzat el seu perfil"
155
+ notification_title: El <a href="%{resource_path}">perfil</a> d'en/na %{name} (%{nickname}), a qui estàs seguint, s'ha actualitzat.
129
156
  export_mailer:
130
157
  export:
131
158
  ready: S'adjunta una versió comprimida de l'exportació.
@@ -203,10 +230,19 @@ ca:
203
230
  newsletter_mailer:
204
231
  newsletter:
205
232
  note: Has rebut aquest missatge perquè estàs subscrit a butlletins de notícies a %{organization_name}. Pots canviar la configuració a la teva <a href="%{link}">pàgina de notificacions</a>.
233
+ see_on_website: No pots veure correctament aquest missatge? Veu la seva <a href="%{link}" target="_blank"> versió web</a>.
234
+ unsubscribe: Per desactivar la recepció d'aquest tipus de correu electrònic, <a href="%{link}" target="_blank" class="unsubscribe">dona't de baixa</a>.
235
+ newsletters:
236
+ unsubscribe:
237
+ check_subscription: Si vols canviar les teves preferències, pots fer-ho a la <a href="%{link}" target="_blank">pàgina de configuració</a>
238
+ error: S'ha produït un error en cancel·lar la subscripció
239
+ success: Has cancel·lat la subscripció amb èxit.
240
+ token_error: L'enllaç ha caducat.
241
+ unsubscribe: Anul·la la subscripció
206
242
  notifications_settings:
207
243
  show:
208
244
  email_on_notification: Vull rebre un correu electrònic cada vegada que rebi una notificació.
209
- newsletter_notifications: Vull rebre informació sobre activitat rellevant
245
+ newsletter_notifications: Vull rebre butlletins
210
246
  update_notifications_settings: Guardar canvis
211
247
  update:
212
248
  error: Hi ha hagut un error en actualitzar la configuració de les notificacions.
@@ -219,6 +255,11 @@ ca:
219
255
  pages:
220
256
  index:
221
257
  title: Més informació
258
+ profiles:
259
+ default_officialization_text: Aquest participant es verifica públicament. El seu nom o la seva funció s'ha verificat perquè es correspongui amb el seu nom i funció reals
260
+ show:
261
+ about_me: Sobre mi
262
+ personal_url: Lloc web personal
222
263
  reported_mailer:
223
264
  hide:
224
265
  hello: Hola %{name},
@@ -234,11 +275,24 @@ ca:
234
275
  create:
235
276
  error: S'ha produït un error en denunciar. Torna-ho a intentar.
236
277
  success: La denúncia s'ha creat amb èxit i serà revisada per un administrador.
278
+ scopes:
279
+ global: Àmbit global
280
+ picker:
281
+ cancel: Cancel·lar
282
+ choose: Selecciona
283
+ title: Seleccioneu %{field}
284
+ prompt: Seleccioneu un àmbit
285
+ scopes: Àmbits
237
286
  shared:
238
287
  action_authorization_modal:
288
+ expired:
289
+ authorize: Torna a autoritzar amb "%{authorization}"
290
+ explanation: La vostra autorització ha caducat. Per realitzar aquesta acció, heu de tornar a autoritzar-vos amb "%{authorization}".
291
+ title: L'autorització ha caducat
239
292
  incomplete:
240
293
  cancel: Cancel·lar
241
294
  explanation: 'Tot i que actualment estàs autoritzat amb "%{authorization}", necessitem que et tornis a autoritzar perquè no tenim les dades següents:'
295
+ invalid_field: "%{field}"
242
296
  reauthorize: Reautoritzar-se
243
297
  title: Si us plau, reautoritza't
244
298
  missing:
@@ -251,9 +305,11 @@ ca:
251
305
  title: L'autorització encara està en progrés
252
306
  unauthorized:
253
307
  explanation: No es pot realitzar aquesta acció ja que alguna de les seves dades d'autorització no coincideixen amb les requerides.
254
- invalid: "%{field} no és vàlid."
308
+ invalid_field: "El valor %{field} %{value} no és vàlid."
255
309
  ok: D'acord
256
310
  title: Acció no autoritzada
311
+ author:
312
+ deleted: Usuari eliminat
257
313
  embed_modal:
258
314
  close_window: Tanca la finestra
259
315
  embed: Si us plau, enganxa aquest codi a la teva pàgina
@@ -286,6 +342,7 @@ ca:
286
342
  invitations:
287
343
  edit:
288
344
  header: Establir la contrasenya
345
+ nickname_help: El teu identificador únic.
289
346
  submit_button: Desa
290
347
  mailer:
291
348
  invitation_instructions:
@@ -329,9 +386,7 @@ ca:
329
386
  layouts:
330
387
  decidim:
331
388
  cookie_warning:
332
- description_html: |-
333
- Aquest lloc web fa servir cookies pròpies i de tercers per millorar l’experiència de navegació, i oferir continguts i serveis d’interès.
334
- En continuar la navegació entenem que s’accepta la nostra política de cookies. Per a més informació consulta %{link}.
389
+ description_html: "Aquest lloc web fa servir cookies pròpies i de tercers per millorar l’experiència de navegació, i oferir continguts i serveis d’interès.\nEn continuar la navegació entenem que s’accepta la nostra política de cookies. Per a més informació consulta %{link}."
335
390
  link_label: aquí
336
391
  ok: Hi estic d'acord
337
392
  footer:
@@ -354,6 +409,7 @@ ca:
354
409
  conversations: Converses
355
410
  notifications: Notificacions
356
411
  profile: El meu compte
412
+ public_profile: El meu perfil públic
357
413
  sign_out: Surt
358
414
  user_profile:
359
415
  account: Compte
@@ -385,7 +441,8 @@ ca:
385
441
  participate: Participa
386
442
  welcome: Benvingut a %{organization}!
387
443
  statistics:
388
- answers_count: Respostes
444
+ answers_count: Enquestes realitzades
445
+ assemblies_count: Assemblees
389
446
  comments_count: Comentaris
390
447
  headline: Estat actual de %{organization}
391
448
  meetings_count: Trobades
@@ -393,6 +450,7 @@ ca:
393
450
  pages_count: Pàgines
394
451
  processes_count: Processos
395
452
  projects_count: Projectes
453
+ proposals_accepted: Propostes acceptades
396
454
  proposals_count: Propostes
397
455
  results_count: Resultats
398
456
  surveys_count: Enquestes
@@ -9,6 +9,7 @@ en:
9
9
  user:
10
10
  email: Your email
11
11
  name: Your name
12
+ nickname: Your short, unique identifier in decidim
12
13
  password: New password
13
14
  password_confirmation: Confirm your new password
14
15
  remove_avatar: Remove avatar
@@ -70,6 +71,8 @@ en:
70
71
  name: Dummy authorization workflow
71
72
  errors:
72
73
  duplicate_authorization: A user is already authorized with the same data.
74
+ expired_at: Expired at %{timestamp}
75
+ expires_at: Expires at %{timestamp}
73
76
  foo_authorization:
74
77
  fields:
75
78
  bar: Bar
@@ -77,6 +80,7 @@ en:
77
80
  name: Foo authorization
78
81
  granted_at: Granted at %{timestamp}
79
82
  started_at: Started at %{timestamp}
83
+ contact: Contact
80
84
  core:
81
85
  actions:
82
86
  unauthorized: You are not authorized to perform this action
@@ -86,13 +90,15 @@ en:
86
90
  email_already_exists: Another account is using the same email address
87
91
  new:
88
92
  complete_profile: Complete profile
93
+ nickname_help: Your short, unique identifier in decidim
89
94
  sign_up: Please complete your profile
90
95
  subtitle: Please fill in the following form in order to complete the sign up
91
96
  username_help: Public name that appears on your posts. With the aim of guaranteeing the anonymity, can be any name.
92
97
  registrations:
93
98
  new:
94
99
  already_have_an_account?: Already have an account?
95
- newsletter_notifications: Receive information about relevant activity
100
+ newsletter: Receive an occasional newsletter with relevant information
101
+ nickname_help: Your short, unique identifier in decidim
96
102
  sign_in: Log in
97
103
  sign_up: Sign up
98
104
  sign_up_as:
@@ -119,13 +125,35 @@ en:
119
125
  content_doesnt_exist: This address is incorrect or has been removed.
120
126
  title: The page you're looking for can't be found
121
127
  events:
128
+ attachments:
129
+ attachment_created:
130
+ email_intro: 'A new document has been added to %{resource_title}. You can see it from this page:'
131
+ email_outro: You have received this notification because you are following %{resource_title}. You can stop receiving notifications following the previous link.
132
+ email_subject: An update to %{resource_title}
133
+ notification_title: A <a href="%{resource_path}">new document</a> has been added to <a href="%{attached_to_url}">%{resource_title}</a>
122
134
  email_event:
123
135
  email_greeting: Hello %{user_name},
124
136
  email_intro: 'There has been an update to "%{resource_title}". You can see it from this page:'
125
137
  email_outro: You have received this notification because you are following "%{resource_title}". You can unfollow it from the previous link.
126
138
  email_subject: An update to %{resource_title}
139
+ feature_published_event:
140
+ email_intro: 'The %{resource_title} component is now active for %{participatory_space_title}. You can see it from this page:'
141
+ email_outro: You have received this notification because you are following %{participatory_space_title}. You can stop receiving notifications following the previous link.
142
+ email_subject: An update to %{participatory_space_title}
143
+ notification_title: The %{resource_title} component is now active for <a href="%{resource_path}">%{participatory_space_title}</a>
127
144
  notification_event:
128
145
  notification_title: An event occured to <a href="%{resource_path}">%{resource_title}</a>.
146
+ participatory_process_step_activated_event:
147
+ email_intro: 'The %{resource_title} step is now active for %{participatory_space_title}. You can see it from this page:'
148
+ email_outro: You have received this notification because you are following %{participatory_space_title}. You can stop receiving notifications following the previous link.
149
+ email_subject: An update to %{participatory_space_title}
150
+ notification_title: The %{resource_title} step is now active for <a href="%{resource_path}">%{participatory_space_title}</a>
151
+ users:
152
+ profile_updated:
153
+ email_intro: The <a href="%{resource_url}">profile page</a> of %{name} (%{nickname}), who you are following, has been updated.
154
+ email_outro: You have received this notification because you are following %{nickname}. You can stop receiving notifications following the previous link.
155
+ email_subject: "%{nickname} updated their profile"
156
+ notification_title: The <a href="%{resource_path}">profile page</a> of %{name} (%{nickname}), who you are following, has been updated.
129
157
  export_mailer:
130
158
  export:
131
159
  ready: Please find attached a zipped version of your export.
@@ -203,10 +231,19 @@ en:
203
231
  newsletter_mailer:
204
232
  newsletter:
205
233
  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>.
234
+ see_on_website: Can’t see this email correctly? View it on the <a href="%{link}" target="_blank">website</a>.
235
+ unsubscribe: To opt out of receiving this type of email, <a href="%{link}" target="_blank" class="unsubscribe">Unsubscribe</a>.
236
+ newsletters:
237
+ unsubscribe:
238
+ check_subscription: If you want to change your preferences, you can do so in the <a href="%{link}" target="_blank">configuration page</a>
239
+ error: There's been an error unsubscribing
240
+ success: You are unsubscribed successfully.
241
+ token_error: The link has expired.
242
+ unsubscribe: Unsubscribe
206
243
  notifications_settings:
207
244
  show:
208
245
  email_on_notification: I want to receive an email every time I receive a notification.
209
- newsletter_notifications: I want to receive information about relevant activity
246
+ newsletter_notifications: I want to receive newsletters
210
247
  update_notifications_settings: Save changes
211
248
  update:
212
249
  error: There's been an error updating your notifications settings.
@@ -219,6 +256,11 @@ en:
219
256
  pages:
220
257
  index:
221
258
  title: More information
259
+ profiles:
260
+ 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
261
+ show:
262
+ about_me: About me
263
+ personal_url: Personal website
222
264
  reported_mailer:
223
265
  hide:
224
266
  hello: Hello %{name},
@@ -234,11 +276,24 @@ en:
234
276
  create:
235
277
  error: An error ocurred while creating the report. Please, try it again.
236
278
  success: The report has been created successfully and it will be reviewed by an admin.
279
+ scopes:
280
+ global: Global scope
281
+ picker:
282
+ cancel: Cancel
283
+ choose: Select
284
+ title: Select %{field}
285
+ prompt: Select a scope
286
+ scopes: Scopes
237
287
  shared:
238
288
  action_authorization_modal:
289
+ expired:
290
+ authorize: Reauthorize with "%{authorization}"
291
+ explanation: Your authorization has expired. In order to perform this action, you need to be reauthorized with "%{authorization}".
292
+ title: Authorization has expired
239
293
  incomplete:
240
294
  cancel: Cancel
241
295
  explanation: 'Even though you''re currently authorized with "%{authorization}", we need you to reauthorize because we lack the following data:'
296
+ invalid_field: "%{field}"
242
297
  reauthorize: Reauthorize
243
298
  title: Please reauthorize
244
299
  missing:
@@ -251,9 +306,11 @@ en:
251
306
  title: Authorization is still in progress
252
307
  unauthorized:
253
308
  explanation: Sorry, you can't perform this action as some of your authorization data doesn't match.
254
- invalid: "%{field} isn't valid."
309
+ invalid_field: "%{field} value %{value} isn't valid."
255
310
  ok: Ok
256
311
  title: Not authorized
312
+ author:
313
+ deleted: Deleted user
257
314
  embed_modal:
258
315
  close_window: Close window
259
316
  embed: Please paste this code in your page
@@ -286,6 +343,7 @@ en:
286
343
  invitations:
287
344
  edit:
288
345
  header: Set your password
346
+ nickname_help: Your unique identifier in decidim.
289
347
  submit_button: Save
290
348
  mailer:
291
349
  invitation_instructions:
@@ -352,6 +410,7 @@ en:
352
410
  conversations: Conversations
353
411
  notifications: Notifications
354
412
  profile: My account
413
+ public_profile: My public profile
355
414
  sign_out: Sign out
356
415
  user_profile:
357
416
  account: Account
@@ -383,7 +442,8 @@ en:
383
442
  participate: Participate
384
443
  welcome: Welcome to %{organization}!
385
444
  statistics:
386
- answers_count: Answers
445
+ answers_count: Completed Surveys
446
+ assemblies_count: Assemblies
387
447
  comments_count: Comments
388
448
  headline: Current state of %{organization}
389
449
  meetings_count: Meetings
@@ -391,6 +451,7 @@ en:
391
451
  pages_count: Pages
392
452
  processes_count: Processes
393
453
  projects_count: Projects
454
+ proposals_accepted: Accepted Proposals
394
455
  proposals_count: Proposals
395
456
  results_count: Results
396
457
  surveys_count: Surveys