decidim-core 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/assets/config/decidim_core_manifest.js +1 -0
  4. data/app/assets/javascripts/decidim.js.es6 +3 -2
  5. data/app/assets/javascripts/decidim/append_elements.js.es6 +8 -0
  6. data/app/assets/javascripts/decidim/filters.js.es6 +22 -0
  7. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +176 -0
  8. data/app/assets/javascripts/decidim/form_filter.component.test.js +151 -0
  9. data/app/assets/javascripts/decidim/inline_svg.js.es6 +12 -0
  10. data/app/assets/javascripts/decidim/user_registrations.js.es6 +22 -0
  11. data/app/assets/stylesheets/decidim/_variables.scss +1 -1
  12. data/app/assets/stylesheets/decidim/modules/_comments.scss +3 -6
  13. data/app/assets/stylesheets/decidim/modules/_cookie-bar.scss +22 -0
  14. data/app/assets/stylesheets/decidim/modules/_layout.scss +9 -1
  15. data/app/assets/stylesheets/decidim/modules/_navbar.scss +8 -5
  16. data/app/assets/stylesheets/decidim/modules/_order-by.scss +0 -1
  17. data/app/assets/stylesheets/decidim/modules/_process-phase.scss +4 -0
  18. data/app/assets/stylesheets/decidim/modules/_timeline.scss +62 -80
  19. data/app/assets/stylesheets/decidim/modules/_typography.scss +20 -31
  20. data/app/assets/stylesheets/decidim/utils/_fontface.scss +4 -16
  21. data/app/assets/stylesheets/decidim/utils/_settings.scss +29 -26
  22. data/app/assets/stylesheets/decidim/utils/_variables.scss +22 -0
  23. data/app/commands/decidim/authorize_user.rb +17 -1
  24. data/app/commands/decidim/create_omniauth_registration.rb +92 -0
  25. data/app/commands/decidim/create_registration.rb +50 -0
  26. data/app/commands/decidim/invite_user.rb +50 -0
  27. data/app/commands/decidim/invite_user_again.rb +25 -0
  28. data/app/commands/decidim/remove_user_role.rb +26 -0
  29. data/app/controllers/concerns/decidim/feature_settings.rb +27 -0
  30. data/app/controllers/concerns/decidim/filter_resource.rb +71 -0
  31. data/app/controllers/concerns/decidim/form_factory.rb +21 -18
  32. data/app/controllers/concerns/decidim/needs_participatory_process.rb +2 -3
  33. data/app/controllers/decidim/devise/confirmations_controller.rb +2 -0
  34. data/app/controllers/decidim/devise/invitations_controller.rb +4 -0
  35. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +96 -0
  36. data/app/controllers/decidim/devise/passwords_controller.rb +2 -0
  37. data/app/controllers/decidim/devise/registrations_controller.rb +34 -0
  38. data/app/controllers/decidim/devise/sessions_controller.rb +1 -0
  39. data/app/controllers/decidim/pages_controller.rb +10 -2
  40. data/app/controllers/decidim/participatory_process_steps_controller.rb +16 -0
  41. data/app/controllers/decidim/participatory_processes_controller.rb +6 -11
  42. data/app/forms/decidim/form.rb +6 -6
  43. data/app/forms/decidim/invite_admin_form.rb +37 -0
  44. data/app/forms/decidim/omniauth_registration_form.rb +24 -0
  45. data/app/forms/decidim/registration_form.rb +41 -0
  46. data/app/helpers/decidim/filters_helper.rb +21 -0
  47. data/app/helpers/decidim/layout_helper.rb +17 -1
  48. data/app/helpers/decidim/omniauth_helper.rb +23 -0
  49. data/app/helpers/decidim/paginate_helper.rb +21 -0
  50. data/app/helpers/decidim/participatory_process_helper.rb +14 -0
  51. data/app/helpers/decidim/participatory_process_steps_helper.rb +17 -0
  52. data/app/mailers/decidim/decidim_devise_mailer.rb +2 -2
  53. data/app/models/decidim/feature.rb +40 -0
  54. data/app/models/decidim/identity.rb +12 -0
  55. data/app/models/decidim/organization.rb +3 -10
  56. data/app/models/decidim/user.rb +3 -1
  57. data/app/models/decidim/user_group.rb +18 -0
  58. data/app/models/decidim/user_group_membership.rb +9 -0
  59. data/app/services/decidim/authorization_handler.rb +13 -13
  60. data/app/services/decidim/resource_search.rb +52 -0
  61. data/app/uploaders/decidim/organization_logo_uploader.rb +1 -1
  62. data/app/views/decidim/authorizations/new.html.erb +3 -1
  63. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +40 -0
  64. data/app/views/decidim/devise/registrations/new.html.erb +21 -1
  65. data/app/views/decidim/devise/sessions/new.html.erb +1 -0
  66. data/app/views/decidim/devise/shared/_links.html.erb +0 -8
  67. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +21 -0
  68. data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +16 -0
  69. data/app/views/decidim/participatory_process_steps/_timeline.html.erb +7 -0
  70. data/app/views/decidim/participatory_process_steps/index.html.erb +12 -0
  71. data/app/views/decidim/participatory_processes/show.html.erb +5 -5
  72. data/app/views/decidim/shared/_login_modal.html.erb +30 -0
  73. data/app/views/devise/mailer/invite_admin.html.erb +17 -0
  74. data/app/views/devise/mailer/invite_admin.text.erb +15 -0
  75. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +1 -1
  76. data/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +1 -1
  77. data/app/views/layouts/decidim/_application.html.erb +1 -0
  78. data/app/views/layouts/decidim/_header.html.erb +1 -1
  79. data/app/views/layouts/decidim/_meta.html.erb +1 -0
  80. data/app/views/layouts/decidim/_process_header.html.erb +12 -1
  81. data/app/views/layouts/decidim/_process_header_steps.html.erb +1 -0
  82. data/app/views/layouts/decidim/_social_meta.html.erb +11 -0
  83. data/app/views/layouts/decidim/participatory_process.html.erb +4 -0
  84. data/app/views/pages/home.html.erb +29 -2
  85. data/config/i18n-tasks.yml +1 -0
  86. data/config/initializers/devise.rb +10 -1
  87. data/config/locales/ca.yml +45 -3
  88. data/config/locales/en.yml +45 -3
  89. data/config/locales/es.yml +45 -3
  90. data/config/routes.rb +9 -2
  91. data/config/secrets.yml +36 -0
  92. data/db/migrate/20170110133113_add_configuration_to_features.rb +7 -0
  93. data/db/migrate/20170110153807_add_handler_to_organization.rb +5 -0
  94. data/db/migrate/20170116110851_create_identities.rb +11 -0
  95. data/db/migrate/20170116135237_loosen_step_requirements.rb +6 -0
  96. data/db/migrate/20170117142904_add_uniqueness_field_to_authorizations.rb +7 -0
  97. data/db/migrate/20170119145359_create_user_groups.rb +11 -0
  98. data/db/migrate/20170119150255_create_user_group_memberships.rb +12 -0
  99. data/db/migrate/20170119150649_add_show_statistics_to_organization.rb +5 -0
  100. data/db/migrate/20170120120733_add_user_groups_verified.rb +5 -0
  101. data/db/seeds.rb +45 -79
  102. data/lib/decidim/core.rb +8 -0
  103. data/lib/decidim/core/engine.rb +8 -0
  104. data/lib/decidim/core/test/factories.rb +188 -0
  105. data/lib/decidim/core/version.rb +1 -1
  106. data/lib/decidim/devise_failure_app.rb +1 -0
  107. data/lib/decidim/feature_manifest.rb +27 -0
  108. data/lib/decidim/features/base_controller.rb +8 -3
  109. data/lib/decidim/features/settings_manifest.rb +94 -0
  110. data/lib/decidim/filter_form_builder.rb +56 -0
  111. data/lib/decidim/form_builder.rb +4 -7
  112. data/vendor/assets/javascripts/svg-injector.js +464 -0
  113. metadata +142 -26
  114. data/app/assets/stylesheets/decidim/modules/_owl-carousel.scss +0 -72
  115. data/app/assets/stylesheets/decidim/modules/_phase-nav.scss +0 -177
  116. data/app/assets/stylesheets/decidim/utils/_helpers.sass +0 -21
  117. data/app/assets/stylesheets/decidim/utils/_keyframes.sass +0 -13
  118. data/app/assets/stylesheets/decidim/utils/_mixins.sass +0 -33
@@ -27,11 +27,3 @@
27
27
  <%= link_to t("devise.shared.links.didn_t_receive_unlock_instructions"), new_unlock_path(resource_name) %>
28
28
  </p>
29
29
  <% end -%>
30
-
31
- <%- if devise_mapping.omniauthable? %>
32
- <%- resource_class.omniauth_providers.each do |provider| %>
33
- <p class="text-center">
34
- <%= link_to t("devise.shared.links.sign_in_with_provider", provider: provider.to_s.titleize), omniauth_authorize_path(resource_name, provider) %>
35
- </p>
36
- <% end -%>
37
- <% end -%>
@@ -0,0 +1,21 @@
1
+ <%- if devise_mapping.omniauthable? && any_social_provider_enabled? %>
2
+ <div class="row">
3
+ <div class="columns large-4 mediumlarge-6 medium-8 medium-centered">
4
+ <span class="register__separator">
5
+ <span class="register__separator__text"><%= t('.or') %></span>
6
+ </span>
7
+ <%- resource_class.omniauth_providers.each do |provider| %>
8
+ <% if social_provider_enabled? provider %>
9
+ <div class="social-register">
10
+ <%= link_to decidim.send("user_#{provider}_omniauth_authorize_path"), class: "button button--social button--#{normalize_provider_name(provider)}" do %>
11
+ <span class="button--social__icon">
12
+ <%= icon normalize_provider_name(provider) %>
13
+ </span>
14
+ <%= t("devise.shared.links.sign_in_with_provider", provider: normalize_provider_name(provider).titleize) %>
15
+ <% end %>
16
+ </div>
17
+ <% end %>
18
+ <% end %>
19
+ </div>
20
+ </div>
21
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <li class="<%= "timeline__item #{step_status_class}" %>">
2
+ <div class="timeline__phase">
3
+ <span class="timeline__phase__number"><%= participatory_process_step.position + 1 %></span>
4
+ </div>
5
+ <div class="timeline__info">
6
+ <div class="timeline__header">
7
+ <span class="timeline__date text-small">
8
+ <%= participatory_process_step_dates(participatory_process_step) %>
9
+ </span>
10
+ <h6 class="timeline__title heading6"><%= t('.info') %></h6>
11
+ </div>
12
+ <div class="timeline__content">
13
+ <%= translated_attribute(participatory_process_step.description).html_safe %>
14
+ </div>
15
+ </div>
16
+ </li>
@@ -0,0 +1,7 @@
1
+ <ol class="timeline">
2
+ <% past_step = true %>
3
+ <% current_participatory_process.steps.each do |step| %>
4
+ <%= render step, step_status_class: step_class(step, past_step) %>
5
+ <% past_step = false if step.active? %>
6
+ <% end %>
7
+ </ol>
@@ -0,0 +1,12 @@
1
+ <main class="wrapper steps">
2
+ <div class="row column">
3
+ <div class="row">
4
+ <div class="columns mediumlarge-9 large-7">
5
+ <div class="section">
6
+ <h4 class="section-heading"><%= t('.process_steps') %></h4>
7
+ <%= render partial: 'timeline' %>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </div>
12
+ </main>
@@ -3,18 +3,18 @@
3
3
  <div class="columns medium-7 mediumlarge-8">
4
4
  <div class="section">
5
5
  <div class="lead">
6
- <%== translated_attribute(participatory_process.short_description) %>
6
+ <%== translated_attribute(current_participatory_process.short_description) %>
7
7
  </div>
8
- <%== translated_attribute(participatory_process.description) %>
8
+ <%== translated_attribute(current_participatory_process.description) %>
9
9
  </div>
10
10
  </div>
11
11
  </div>
12
12
  </div>
13
- <% if participatory_process.attachments.any? %>
13
+ <% if current_participatory_process.attachments.any? %>
14
14
  <div class="row attachments">
15
15
  <div class="columns large-8">
16
- <%= render partial: "documents", locals: { documents: participatory_process.documents } %>
17
- <%= render partial: "photos", locals: { photos: participatory_process.photos } %>
16
+ <%= render partial: "documents", locals: { documents: current_participatory_process.documents } %>
17
+ <%= render partial: "photos", locals: { photos: current_participatory_process.photos } %>
18
18
  </div>
19
19
  </div>
20
20
  <% end %>
@@ -0,0 +1,30 @@
1
+ <div class="reveal" id="loginModal" data-reveal>
2
+ <div class="reveal__header">
3
+ <h3 class="reveal__title"><%= t('.please_sign_in') %></h3>
4
+ <button class="close-button" data-close aria-label="Close modal"
5
+ type="button">
6
+ <span aria-hidden="true">&times;</span>
7
+ </button>
8
+ </div>
9
+ <div class="row">
10
+ <div class="columns medium-8 medium-centered">
11
+ <%= form_for(Decidim::User.new, as: :user, url: session_path(:user), html: { class: "register-form new_user" }) do |f| %>
12
+ <div>
13
+ <div class="field">
14
+ <%= f.email_field :email, autofocus: true %>
15
+ </div>
16
+ <div class="field">
17
+ <%= f.password_field :password, autocomplete: "off" %>
18
+ </div>
19
+ </div>
20
+ <div class="actions">
21
+ <%= f.submit t("devise.sessions.new.sign_in"), class: "button expanded" %>
22
+ </div>
23
+ <% end %>
24
+
25
+ <p class="text-center">
26
+ <%= link_to t('.sign_up'), decidim.new_user_registration_path, class: "sign-up-link" %>
27
+ </p>
28
+ </div>
29
+ </div>
30
+ </div>
@@ -0,0 +1,17 @@
1
+ <p><%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %></p>
2
+
3
+ <p>
4
+ <% if @resource.invited_by.present? %>
5
+ <%= t("devise.mailer.invitation_instructions.invited_you_as_admin", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
6
+ <% else %>
7
+ <%= t("devise.mailer.invitation_instructions.someone_invited_you", application: @resource.organization.name) %>
8
+ <% end %>
9
+ </p>
10
+
11
+ <p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim_admin.root_path, host: @resource.organization.host) %></p>
12
+
13
+ <% if @resource.invitation_due_at %>
14
+ <p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %></p>
15
+ <% end %>
16
+
17
+ <p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>
@@ -0,0 +1,15 @@
1
+ <%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %>
2
+
3
+ <% if @resource.invited_by.present? %>
4
+ <%= t("devise.mailer.invitation_instructions.invited_you_as_admin", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
5
+ <% else %>
6
+ <%= t("devise.mailer.invitation_instructions.you_are_now_admin", application: @resource.organization.name) %>
7
+ <% end %>
8
+
9
+ <%= accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim_admin.root_path, host: @resource.organization.host) %>
10
+
11
+ <% if @resource.invitation_due_at %>
12
+ <%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %>
13
+ <% end %>
14
+
15
+ <%= t("devise.mailer.invitation_instructions.ignore").html_safe %>
@@ -1,6 +1,6 @@
1
1
  <p><%= t("devise.mailer.invitation_instructions.hello", email: @resource.email) %></p>
2
2
 
3
- <p><%= t("devise.mailer.invitation_instructions.someone_invited_you", application: Decidim.config.application_name) %></p>
3
+ <p><%= t("devise.mailer.invitation_instructions.someone_invited_you", application: @resource.organization.name) %></p>p>
4
4
  <p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim_admin.root_path, host: @resource.organization.host) %></p>
5
5
 
6
6
  <% if @resource.invitation_due_at %>
@@ -1,6 +1,6 @@
1
1
  <%= t("devise.mailer.invitation_instructions.hello", email: @resource.email) %>
2
2
 
3
- <%= t("devise.mailer.invitation_instructions.someone_invited_you", application: Decidim.config.application_name) %>
3
+ <%= t("devise.mailer.invitation_instructions.someone_invited_you", application: @resource.organization.name) %>
4
4
 
5
5
  <%= accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim_admin.root_path, host: @resource.organization.host) %>
6
6
 
@@ -7,6 +7,7 @@
7
7
  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
8
8
  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
9
9
  <%= render partial: 'layouts/decidim/meta' %>
10
+ <%= render partial: 'layouts/decidim/social_meta' %>
10
11
  </head>
11
12
 
12
13
  <body>
@@ -1,6 +1,6 @@
1
1
  <div class="off-canvas-wrapper">
2
2
  <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
3
- <div class="off-canvas position-right" data-position="right"
3
+ <div class="off-canvas position-right hide-for-large" data-position="right"
4
4
  id="offCanvas" data-off-canvas>
5
5
  <!-- Close button -->
6
6
  <button class="close-button"
@@ -1,3 +1,4 @@
1
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
1
2
  <% available_locales.each do |locale| %>
2
3
  <link rel="alternate" href="<%= url_for(request.parameters.merge(locale: locale)) %>" hreflang="<%= locale %>" />
3
4
  <% end %>
@@ -21,9 +21,20 @@
21
21
  <div class="process-nav">
22
22
  <div class="row column process-nav__content">
23
23
  <ul>
24
+ <li>
25
+ <%= active_link_to decidim.participatory_process_path(current_participatory_process), active: :exact, class: "process-nav__link", class_active: "is-active" do %>
26
+ <%= icon "process" %>
27
+ <%= t ".process_menu_item" %>
28
+ <% end %>
29
+ </li>
30
+
24
31
  <% current_participatory_process.features.each do |feature| %>
25
32
  <li>
26
- <%= link_to translated_attribute(feature.name), decidim.feature_path(current_participatory_process, feature), class: "process-nav__link" %>
33
+ <%= active_link_to decidim.feature_path(current_participatory_process, feature), class: "process-nav__link", active: :inclusive, class_active: "is-active" do %>
34
+ <%= feature_icon(feature) %>
35
+
36
+ <%= translated_attribute(feature.name) %>
37
+ <% end %>
27
38
  </li>
28
39
  <% end %>
29
40
  </ul>
@@ -21,6 +21,7 @@
21
21
  <%= participatory_process_step_dates participatory_process.active_step %>
22
22
  </span>
23
23
  </div>
24
+ <%= link_to t('.view_steps'), decidim.participatory_process_participatory_process_steps_path(current_participatory_process), class: "button tiny hollow" %>
24
25
  </div>
25
26
  </div>
26
27
  <% end %>
@@ -0,0 +1,11 @@
1
+ <meta name="twitter:card" content="summary_large_image" />
2
+ <meta name="twitter:site" content="@<%= content_for(:twitter_handler) %>" />
3
+ <meta name="twitter:title" content="<%= content_for(:meta_title) %>" />
4
+ <meta name="twitter:description" content="<%= content_for(:meta_description) %>" />
5
+ <meta name="twitter:image" content="<%= content_for(:meta_image_url) %>" />
6
+
7
+ <meta property="og:url" content="<%= content_for(:meta_url) %>" />
8
+ <meta property="og:type" content="article" />
9
+ <meta property="og:title" content="<%= content_for(:meta_title) %>" />
10
+ <meta property="og:description" content="<%= content_for(:meta_description) %>" />
11
+ <meta property="og:image" content="<%= content_for(:meta_image_url) %>" />
@@ -1,3 +1,7 @@
1
+ <% content_for :meta_image_url do %>
2
+ <% current_participatory_process.banner_image.url %>
3
+ <% end %>
4
+
1
5
  <%= render "layouts/decidim/application" do %>
2
6
  <div class="wrapper">
3
7
  <%= render partial: "layouts/decidim/process_header" %>
@@ -39,7 +39,7 @@
39
39
  <div class="row collapse">
40
40
  <div class="row small-up-1 smallmedium-up-2 mediumlarge-up-3
41
41
  large-up-4 card-grid">
42
- <% participatory_processes.each do |process| %>
42
+ <% promoted_participatory_processes.each do |process| %>
43
43
  <div class="column">
44
44
  <article class="card card--process card--mini">
45
45
  <%= link_to participatory_process_path(process), class: "card__link" do %>
@@ -70,6 +70,7 @@
70
70
  </div>
71
71
  </div>
72
72
  </section>
73
+
73
74
  <section class="extended">
74
75
  <div class="wrapper-home home-section">
75
76
  <div class="row column text-center">
@@ -117,4 +118,30 @@
117
118
  </div>
118
119
  </div>
119
120
  </div>
120
- </section>
121
+ </section>
122
+
123
+ <% if current_organization.show_statistics? %>
124
+ <section class="extended" id="statistics">
125
+ <div class="wrapper-home">
126
+ <div class="row column text-center">
127
+ <h3 class="heading2"><%= t(".stats.headline", organization: current_organization.name) %></h3>
128
+ </div>
129
+ <div class="row">
130
+ <div class="columns small-centered mediumlarge-10 large-8">
131
+ <div class="home-pam">
132
+ <div class="home-pam__highlight">
133
+ <div class="home-pam__data">
134
+ <h4 class="home-pam__title"><%= t(".stats.users") %></h4>
135
+ <span class="home-pam__number users-count"><%= users.count %></span>
136
+ </div>
137
+ <div class="home-pam__data">
138
+ <h4 class="home-pam__title"><%= t(".stats.processes") %></h4>
139
+ <span class="home-pam__number processes-count"><%= participatory_processes.count %></span>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </section>
147
+ <% end %>
@@ -92,6 +92,7 @@ ignore_unused:
92
92
  - devise.mailer.password_change.subject
93
93
  - activerecord.attributes.decidim/user.*
94
94
  - activerecord.models.decidim/user
95
+ - activemodel.attributes.user.*
95
96
  - booleans.*
96
97
  - errors.messages.file_size_is_less_than_or_equal_to
97
98
  - errors.messages.nesting_too_deep
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ # rubocop:disable Metrics/BlockLength
2
3
  # Use this hook to configure devise mailer, warden hooks and so forth.
3
4
  # Many of these configuration options can be set straight in your model.
4
5
 
@@ -299,7 +300,15 @@ Devise.setup do |config|
299
300
  # ==> OmniAuth
300
301
  # Add a new OmniAuth provider. Check the wiki for more information on setting
301
302
  # up on your models and hooks.
302
- # config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
303
+ if Rails.application.secrets.dig(:omniauth, "facebook").present?
304
+ config.omniauth :facebook, Rails.application.secrets.omniauth["facebook"]["app_id"], Rails.application.secrets.omniauth["facebook"]["app_secret"], scope: :email, info_fields: "name,email,verified"
305
+ end
306
+ if Rails.application.secrets.dig(:omniauth, "twitter").present?
307
+ config.omniauth :twitter, Rails.application.secrets.omniauth["twitter"]["api_key"], Rails.application.secrets.omniauth["twitter"]["api_secret"]
308
+ end
309
+ if Rails.application.secrets.dig(:omniauth, "google_oauth2").present?
310
+ config.omniauth :google_oauth2, Rails.application.secrets.omniauth["google_oauth2"]["client_id"], Rails.application.secrets.omniauth["google_oauth2"]["client_secret"]
311
+ end
303
312
 
304
313
  # ==> Warden configuration
305
314
  # If you want to use other strategies, that are not supported by Devise, or
@@ -1,4 +1,10 @@
1
1
  ca:
2
+ activemodel:
3
+ attributes:
4
+ user:
5
+ user_group_document_number: Número de document acreditatiu
6
+ user_group_name: Nom de l'organització
7
+ user_group_phone: Telèfon de l'organització
2
8
  activerecord:
3
9
  attributes:
4
10
  decidim/user:
@@ -26,6 +32,8 @@ ca:
26
32
  title: El meu compte
27
33
  authorization_handlers:
28
34
  decidim/dummy_authorization_handler: Autorització d'exemple
35
+ errors:
36
+ duplicate_authorization: Un usuari ja està autoritzat amb les mateixes dades.
29
37
  authorizations:
30
38
  create:
31
39
  error: S'ha produït un error en crear l'autorització.
@@ -46,11 +54,22 @@ ca:
46
54
  actions:
47
55
  unauthorized: No tens permís per realitzar aquesta acció
48
56
  devise:
57
+ omniauth_registrations:
58
+ create:
59
+ email_already_exists: Un altre compte està utilitzant la mateixa adreça de correu electrònic
60
+ new:
61
+ complete_profile: Completa el perfil
62
+ sign_up: Completi el seu perfil
63
+ subtitle: Si us plau, ompli el següent formulari per tal de completar la seva inscripció
49
64
  registrations:
50
65
  new:
51
66
  already_have_an_account?: Ja tens un compte?
52
67
  sign_in: Entra
53
68
  sign_up: Registra't
69
+ sign_up_as:
70
+ legend: Inscriure's com
71
+ user: Individu
72
+ user_group: Organització/Col·lectiu
54
73
  subtitle: Crea un compte per poder participar en els debats i donar suport a les propostes.
55
74
  terms: els termes i condicions d'ús
56
75
  tos_agreement: En registrar-te acceptes %{link}.
@@ -59,30 +78,45 @@ ca:
59
78
  new:
60
79
  are_you_new?: Ets nou a la plataforma?
61
80
  register: Crea't un compte
81
+ shared:
82
+ omniauth_buttons:
83
+ or: O
62
84
  menu:
63
85
  home: Inici
64
86
  processes: Processos
87
+ participatory_process_steps:
88
+ index:
89
+ process_steps: Fases del procés
90
+ participatory_process_step:
91
+ info: Informació
65
92
  participatory_processes:
66
93
  documents:
67
94
  related_documents: Documents relacionats
68
95
  photos:
69
96
  related_photos: Fotos relacionades
97
+ shared:
98
+ login_modal:
99
+ please_sign_in: Si us plau, inicii sessió
100
+ sign_up: Donar-se d'alta
70
101
  devise:
71
102
  mailer:
72
103
  invitation_instructions:
73
104
  accept: Acceptar invitació
74
105
  accept_until: Aquesta invitació caducarà el dia %{due_date}.
75
- hello: Hola %{email}
106
+ hello: Hola %{email},
76
107
  ignore: |-
77
108
  Si no vols acceptar la invitació, ignora aquest correu.<br />
78
109
  El teu compte no es crearà fins que no accedeixis a l'enllaç de sota i triïs la teva contrasenya.
110
+ invited_you_as_admin: "%{invited_by} t'ha convidat com un administrador de %{application}, pots acceptar-ho mitjançant el següent enllaç."
79
111
  someone_invited_you: Algú t'ha convidat a %{application}, pots acceptar la invitació amb l'enllaç a continuació.
112
+ invite_admin:
113
+ subject: Has estat convidat a gestionar %{organization}
80
114
  organization_admin_invitation_instructions:
81
- subject: T'han convidat a administrar %{organization}
115
+ subject: Has estat convidat a gestionar %{organization}
82
116
  password_change:
83
117
  greeting: Hola %{recipient}!
84
118
  message: Ens posem en contacte amb tu per notificar-te que la teva contrasenya ha estat canviada correctament.
85
- subject: Contrasenya canviada
119
+ subject: Contrasenya modificada
86
120
  errors:
87
121
  messages:
88
122
  file_size_is_less_than_or_equal_to: la mida del fitxer ha de ser menor que o igual a %{count}
@@ -114,6 +148,10 @@ ca:
114
148
  active_step: 'Fase actual:'
115
149
  more_info: Més informació
116
150
  take_part: Participa
151
+ process_header:
152
+ process_menu_item: El procés
153
+ process_header_steps:
154
+ view_steps: Veure les fases
117
155
  user_menu:
118
156
  profile: El meu compte
119
157
  sign_out: Surt
@@ -142,6 +180,10 @@ ca:
142
180
  proposals_explanation: Espai obert de propostes dels ciutadans sobre quin tipus de ciutat volem viure.
143
181
  register: Registra't
144
182
  see_all_processes: Mostra tots els processos
183
+ stats:
184
+ headline: Estat actual de %{organization}
185
+ processes: Processos
186
+ users: Usuaris
145
187
  welcome: Benvingut/da a %{organization}!
146
188
  views:
147
189
  pagination: