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.
- 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:
|