decidim-core 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/app/assets/config/decidim_core_manifest.js +1 -0
- data/app/assets/javascripts/decidim.js.es6 +3 -2
- data/app/assets/javascripts/decidim/append_elements.js.es6 +8 -0
- data/app/assets/javascripts/decidim/filters.js.es6 +22 -0
- data/app/assets/javascripts/decidim/form_filter.component.js.es6 +176 -0
- data/app/assets/javascripts/decidim/form_filter.component.test.js +151 -0
- data/app/assets/javascripts/decidim/inline_svg.js.es6 +12 -0
- data/app/assets/javascripts/decidim/user_registrations.js.es6 +22 -0
- data/app/assets/stylesheets/decidim/_variables.scss +1 -1
- data/app/assets/stylesheets/decidim/modules/_comments.scss +3 -6
- data/app/assets/stylesheets/decidim/modules/_cookie-bar.scss +22 -0
- data/app/assets/stylesheets/decidim/modules/_layout.scss +9 -1
- data/app/assets/stylesheets/decidim/modules/_navbar.scss +8 -5
- data/app/assets/stylesheets/decidim/modules/_order-by.scss +0 -1
- data/app/assets/stylesheets/decidim/modules/_process-phase.scss +4 -0
- data/app/assets/stylesheets/decidim/modules/_timeline.scss +62 -80
- data/app/assets/stylesheets/decidim/modules/_typography.scss +20 -31
- data/app/assets/stylesheets/decidim/utils/_fontface.scss +4 -16
- data/app/assets/stylesheets/decidim/utils/_settings.scss +29 -26
- data/app/assets/stylesheets/decidim/utils/_variables.scss +22 -0
- data/app/commands/decidim/authorize_user.rb +17 -1
- data/app/commands/decidim/create_omniauth_registration.rb +92 -0
- data/app/commands/decidim/create_registration.rb +50 -0
- data/app/commands/decidim/invite_user.rb +50 -0
- data/app/commands/decidim/invite_user_again.rb +25 -0
- data/app/commands/decidim/remove_user_role.rb +26 -0
- data/app/controllers/concerns/decidim/feature_settings.rb +27 -0
- data/app/controllers/concerns/decidim/filter_resource.rb +71 -0
- data/app/controllers/concerns/decidim/form_factory.rb +21 -18
- data/app/controllers/concerns/decidim/needs_participatory_process.rb +2 -3
- data/app/controllers/decidim/devise/confirmations_controller.rb +2 -0
- data/app/controllers/decidim/devise/invitations_controller.rb +4 -0
- data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +96 -0
- data/app/controllers/decidim/devise/passwords_controller.rb +2 -0
- data/app/controllers/decidim/devise/registrations_controller.rb +34 -0
- data/app/controllers/decidim/devise/sessions_controller.rb +1 -0
- data/app/controllers/decidim/pages_controller.rb +10 -2
- data/app/controllers/decidim/participatory_process_steps_controller.rb +16 -0
- data/app/controllers/decidim/participatory_processes_controller.rb +6 -11
- data/app/forms/decidim/form.rb +6 -6
- data/app/forms/decidim/invite_admin_form.rb +37 -0
- data/app/forms/decidim/omniauth_registration_form.rb +24 -0
- data/app/forms/decidim/registration_form.rb +41 -0
- data/app/helpers/decidim/filters_helper.rb +21 -0
- data/app/helpers/decidim/layout_helper.rb +17 -1
- data/app/helpers/decidim/omniauth_helper.rb +23 -0
- data/app/helpers/decidim/paginate_helper.rb +21 -0
- data/app/helpers/decidim/participatory_process_helper.rb +14 -0
- data/app/helpers/decidim/participatory_process_steps_helper.rb +17 -0
- data/app/mailers/decidim/decidim_devise_mailer.rb +2 -2
- data/app/models/decidim/feature.rb +40 -0
- data/app/models/decidim/identity.rb +12 -0
- data/app/models/decidim/organization.rb +3 -10
- data/app/models/decidim/user.rb +3 -1
- data/app/models/decidim/user_group.rb +18 -0
- data/app/models/decidim/user_group_membership.rb +9 -0
- data/app/services/decidim/authorization_handler.rb +13 -13
- data/app/services/decidim/resource_search.rb +52 -0
- data/app/uploaders/decidim/organization_logo_uploader.rb +1 -1
- data/app/views/decidim/authorizations/new.html.erb +3 -1
- data/app/views/decidim/devise/omniauth_registrations/new.html.erb +40 -0
- data/app/views/decidim/devise/registrations/new.html.erb +21 -1
- data/app/views/decidim/devise/sessions/new.html.erb +1 -0
- data/app/views/decidim/devise/shared/_links.html.erb +0 -8
- data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +21 -0
- data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +16 -0
- data/app/views/decidim/participatory_process_steps/_timeline.html.erb +7 -0
- data/app/views/decidim/participatory_process_steps/index.html.erb +12 -0
- data/app/views/decidim/participatory_processes/show.html.erb +5 -5
- data/app/views/decidim/shared/_login_modal.html.erb +30 -0
- data/app/views/devise/mailer/invite_admin.html.erb +17 -0
- data/app/views/devise/mailer/invite_admin.text.erb +15 -0
- data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +1 -1
- data/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +1 -1
- data/app/views/layouts/decidim/_application.html.erb +1 -0
- data/app/views/layouts/decidim/_header.html.erb +1 -1
- data/app/views/layouts/decidim/_meta.html.erb +1 -0
- data/app/views/layouts/decidim/_process_header.html.erb +12 -1
- data/app/views/layouts/decidim/_process_header_steps.html.erb +1 -0
- data/app/views/layouts/decidim/_social_meta.html.erb +11 -0
- data/app/views/layouts/decidim/participatory_process.html.erb +4 -0
- data/app/views/pages/home.html.erb +29 -2
- data/config/i18n-tasks.yml +1 -0
- data/config/initializers/devise.rb +10 -1
- data/config/locales/ca.yml +45 -3
- data/config/locales/en.yml +45 -3
- data/config/locales/es.yml +45 -3
- data/config/routes.rb +9 -2
- data/config/secrets.yml +36 -0
- data/db/migrate/20170110133113_add_configuration_to_features.rb +7 -0
- data/db/migrate/20170110153807_add_handler_to_organization.rb +5 -0
- data/db/migrate/20170116110851_create_identities.rb +11 -0
- data/db/migrate/20170116135237_loosen_step_requirements.rb +6 -0
- data/db/migrate/20170117142904_add_uniqueness_field_to_authorizations.rb +7 -0
- data/db/migrate/20170119145359_create_user_groups.rb +11 -0
- data/db/migrate/20170119150255_create_user_group_memberships.rb +12 -0
- data/db/migrate/20170119150649_add_show_statistics_to_organization.rb +5 -0
- data/db/migrate/20170120120733_add_user_groups_verified.rb +5 -0
- data/db/seeds.rb +45 -79
- data/lib/decidim/core.rb +8 -0
- data/lib/decidim/core/engine.rb +8 -0
- data/lib/decidim/core/test/factories.rb +188 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/devise_failure_app.rb +1 -0
- data/lib/decidim/feature_manifest.rb +27 -0
- data/lib/decidim/features/base_controller.rb +8 -3
- data/lib/decidim/features/settings_manifest.rb +94 -0
- data/lib/decidim/filter_form_builder.rb +56 -0
- data/lib/decidim/form_builder.rb +4 -7
- data/vendor/assets/javascripts/svg-injector.js +464 -0
- metadata +142 -26
- data/app/assets/stylesheets/decidim/modules/_owl-carousel.scss +0 -72
- data/app/assets/stylesheets/decidim/modules/_phase-nav.scss +0 -177
- data/app/assets/stylesheets/decidim/utils/_helpers.sass +0 -21
- data/app/assets/stylesheets/decidim/utils/_keyframes.sass +0 -13
- 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,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(
|
6
|
+
<%== translated_attribute(current_participatory_process.short_description) %>
|
7
7
|
</div>
|
8
|
-
<%== translated_attribute(
|
8
|
+
<%== translated_attribute(current_participatory_process.description) %>
|
9
9
|
</div>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
</div>
|
13
|
-
<% if
|
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:
|
17
|
-
<%= render partial: "photos", locals: { 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">×</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:
|
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:
|
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"
|
@@ -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
|
-
<%=
|
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) %>" />
|
@@ -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
|
-
<%
|
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 %>
|
data/config/i18n-tasks.yml
CHANGED
@@ -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
|
-
|
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
|
data/config/locales/ca.yml
CHANGED
@@ -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:
|
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
|
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:
|