decidim-core 0.0.1.alpha7 → 0.0.1.alpha8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +619 -0
- data/README.md +1 -1
- data/app/assets/javascripts/decidim.js.es6 +13 -0
- data/app/assets/stylesheets/decidim/_variables.scss +23 -0
- data/app/assets/stylesheets/decidim/application.sass +2 -0
- data/app/assets/stylesheets/decidim/extras/_turbolinks.scss +3 -0
- data/app/assets/stylesheets/decidim/modules/_cards.scss +0 -5
- data/app/assets/stylesheets/decidim/utils/_settings.scss +5 -11
- data/app/commands/decidim/authorize_user.rb +37 -0
- data/app/controllers/concerns/decidim/needs_authorization.rb +36 -0
- data/app/controllers/decidim/account_controller.rb +26 -0
- data/app/controllers/decidim/application_controller.rb +5 -0
- data/app/controllers/decidim/authorizations_controller.rb +76 -0
- data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
- data/app/controllers/decidim/devise/sessions_controller.rb +8 -0
- data/app/controllers/decidim/locales_controller.rb +2 -0
- data/app/controllers/decidim/pages_controller.rb +10 -0
- data/app/controllers/decidim/participatory_processes_controller.rb +32 -0
- data/app/helpers/decidim/authorization_form_helper.rb +25 -0
- data/app/helpers/decidim/humanize_booleans_helper.rb +14 -0
- data/app/mailers/decidim/application_mailer.rb +1 -1
- data/app/models/decidim/abilities/everyone.rb +16 -0
- data/app/models/decidim/ability.rb +32 -0
- data/app/models/decidim/authorization.rb +25 -0
- data/app/models/decidim/participatory_process.rb +25 -0
- data/app/models/decidim/participatory_process_step.rb +38 -0
- data/app/models/decidim/user.rb +19 -0
- data/app/services/decidim/authorization_handler.rb +94 -0
- data/app/uploaders/decidim/application_uploader.rb +0 -2
- data/app/views/decidim/account/_authorizations.html.erb +52 -0
- data/app/views/decidim/account/show.html.erb +32 -0
- data/app/views/decidim/authorizations/index.html.erb +22 -0
- data/app/views/decidim/authorizations/new.html.erb +29 -0
- data/app/views/decidim/devise/confirmations/new.html.erb +27 -11
- data/app/views/decidim/devise/invitations/edit.html.erb +25 -10
- data/app/views/decidim/devise/passwords/edit.html.erb +30 -15
- data/app/views/decidim/devise/passwords/new.html.erb +25 -11
- data/app/views/decidim/devise/registrations/new.html.erb +48 -20
- data/app/views/decidim/devise/sessions/new.html.erb +40 -21
- data/app/views/decidim/devise/shared/_links.html.erb +18 -6
- data/app/views/decidim/participatory_processes/_no_processes_yet.html.erb +3 -0
- data/app/views/decidim/participatory_processes/_order_by_processes.html.erb +3 -0
- data/app/views/decidim/participatory_processes/_participatory_process.html.erb +26 -0
- data/app/views/decidim/participatory_processes/_process_header_home.html.erb +18 -0
- data/app/views/decidim/participatory_processes/_promoted_process.html.erb +32 -0
- data/app/views/decidim/participatory_processes/index.html.erb +15 -0
- data/app/views/decidim/participatory_processes/show.html.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/_footer.html.erb +3 -3
- data/app/views/layouts/decidim/_header.html.erb +5 -2
- data/app/views/pages/404.html.erb +13 -0
- data/app/views/pages/500.html.erb +10 -0
- data/app/views/{decidim/home/show.html.erb → pages/home.html.erb} +0 -0
- data/app/views/pages/terms.ca.html.erb +4 -0
- data/app/views/pages/terms.en.html.erb +4 -0
- data/app/views/pages/terms.es.html.erb +4 -0
- data/config/i18n-tasks.yml +3 -0
- data/config/initializers/devise.rb +1 -1
- data/config/locales/ca.yml +84 -10
- data/config/locales/en.yml +84 -10
- data/config/locales/es.yml +84 -10
- data/config/routes.rb +14 -1
- data/db/migrate/20161013134732_add_promoted_flag_to_processes.rb +5 -0
- data/db/migrate/20161017085822_add_participatory_process_steps.rb +16 -0
- data/db/migrate/20161018091013_create_decidim_authorizations.rb +13 -0
- data/db/migrate/20161019072016_add_active_flag_to_step.rb +7 -0
- data/db/migrate/20161020080756_add_position_to_steps.rb +7 -0
- data/db/migrate/20161025125300_add_published_at_to_processes.rb +5 -0
- data/db/seeds.rb +81 -27
- data/lib/decidim/authorization_form_builder.rb +70 -0
- data/lib/decidim/core.rb +23 -5
- data/lib/decidim/core/engine.rb +21 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/faker/localized.rb +162 -0
- data/lib/decidim/form_builder.rb +1 -1
- data/lib/tasks/decidim_tasks.rake +1 -1
- metadata +121 -15
- data/MIT-LICENSE +0 -20
- data/app/assets/javascripts/decidim.js +0 -23
- data/app/assets/stylesheets/decidim.scss +0 -16
- data/app/assets/stylesheets/decidim/utils/_variables.scss +0 -25
- data/app/controllers/decidim/home_controller.rb +0 -7
@@ -1,14 +1,29 @@
|
|
1
|
-
<
|
1
|
+
<main class="wrapper">
|
2
|
+
<div class="row collapse">
|
3
|
+
<div class="row collapse">
|
4
|
+
<div class="columns large-8 large-centered text-center page-title">
|
5
|
+
<h1><%= t "devise.invitations.edit.header" %></h1>
|
6
|
+
</div>
|
7
|
+
</div>
|
2
8
|
|
3
|
-
|
4
|
-
|
5
|
-
|
9
|
+
<div class="row">
|
10
|
+
<div class="columns medium-7 large-5 medium-centered">
|
11
|
+
<div class="card">
|
12
|
+
<div class="card__content">
|
13
|
+
<%= form_for resource, as: resource_name, url: invitation_path(resource_name, invite_redirect: params[:invite_redirect]), html: { method: :put, class: "register-form new_user" } do |f| %>
|
14
|
+
<%= f.hidden_field :invitation_token %>
|
6
15
|
|
7
|
-
|
8
|
-
|
16
|
+
<% if f.object.class.require_password_on_accepting %>
|
17
|
+
<%= f.password_field :password %></p>
|
9
18
|
|
10
|
-
|
11
|
-
|
19
|
+
<%= f.password_field :password_confirmation %></p>
|
20
|
+
<% end %>
|
12
21
|
|
13
|
-
|
14
|
-
<% end %>
|
22
|
+
<p><%= f.submit t("devise.invitations.edit.submit_button", class: "button expanded") %></p>
|
23
|
+
<% end %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</main>
|
@@ -1,20 +1,35 @@
|
|
1
|
-
<
|
1
|
+
<main class="wrapper">
|
2
|
+
<div class="row collapse">
|
3
|
+
<div class="row collapse">
|
4
|
+
<div class="columns large-8 large-centered text-center page-title">
|
5
|
+
<h1><%= t("devise.passwords.edit.change_your_password") %></h1>
|
6
|
+
</div>
|
7
|
+
</div>
|
2
8
|
|
3
|
-
|
4
|
-
|
5
|
-
|
9
|
+
<div class="row">
|
10
|
+
<div class="columns medium-7 large-5 medium-centered">
|
11
|
+
<div class="card">
|
12
|
+
<div class="card__content">
|
13
|
+
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, class: "register-form new_user" }) do |f| %>
|
14
|
+
<%= f.hidden_field :reset_password_token %>
|
6
15
|
|
7
|
-
|
8
|
-
|
9
|
-
|
16
|
+
<div class="field">
|
17
|
+
<%= f.password_field :password, autocomplete: "off" %>
|
18
|
+
</div>
|
10
19
|
|
11
|
-
|
12
|
-
|
13
|
-
|
20
|
+
<div class="field">
|
21
|
+
<%= f.password_field :password_confirmation, autocomplete: "off" %>
|
22
|
+
</div>
|
14
23
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<% end %>
|
24
|
+
<div class="actions">
|
25
|
+
<%= f.submit t("devise.passwords.edit.change_my_password", class: "button expanded") %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
19
28
|
|
20
|
-
<%= render "decidim/devise/shared/links" %>
|
29
|
+
<%= render "decidim/devise/shared/links" %>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</main>
|
@@ -1,15 +1,29 @@
|
|
1
|
-
<
|
1
|
+
<main class="wrapper">
|
2
|
+
<div class="row collapse">
|
3
|
+
<div class="row collapse">
|
4
|
+
<div class="columns large-8 large-centered text-center page-title">
|
5
|
+
<h1><%= t("devise.passwords.new.forgot_your_password") %></h1>
|
6
|
+
</div>
|
7
|
+
</div>
|
2
8
|
|
3
|
-
|
4
|
-
|
9
|
+
<div class="row">
|
10
|
+
<div class="columns medium-7 large-5 medium-centered">
|
11
|
+
<div class="card">
|
12
|
+
<div class="card__content">
|
13
|
+
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post, class: "register-form new_user" }) do |f| %>
|
14
|
+
<div class="field">
|
15
|
+
<%= f.email_field :email, autofocus: true %>
|
16
|
+
</div>
|
5
17
|
|
6
|
-
|
7
|
-
|
8
|
-
|
18
|
+
<div class="actions">
|
19
|
+
<%= f.submit t("devise.passwords.new.send_me_reset_password_instructions"), class: "button expanded" %>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
9
22
|
|
10
|
-
|
11
|
-
|
23
|
+
<%= render "decidim/devise/shared/links" %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
12
27
|
</div>
|
13
|
-
|
14
|
-
|
15
|
-
<%= render "decidim/devise/shared/links" %>
|
28
|
+
</div>
|
29
|
+
</main>
|
@@ -1,27 +1,55 @@
|
|
1
|
-
<
|
1
|
+
<main class="wrapper">
|
2
|
+
<div class="row collapse">
|
3
|
+
<div class="row collapse">
|
4
|
+
<div class="columns large-8 large-centered text-center page-title">
|
5
|
+
<h1><%= t(".sign_up") %></h1>
|
6
|
+
<p>
|
7
|
+
<%= t(".subtitle") %>
|
8
|
+
</p>
|
9
|
+
<p>
|
10
|
+
<%= t(".already_have_an_account?") %>
|
11
|
+
<%= link_to t(".sign_in"), new_user_session_path %>
|
12
|
+
</p>
|
13
|
+
</div>
|
14
|
+
</div>
|
2
15
|
|
3
|
-
|
4
|
-
|
16
|
+
<div class="row">
|
17
|
+
<div class="columns large-6 medium-10 medium-centered">
|
18
|
+
<div class="card">
|
19
|
+
<div class="card__content">
|
20
|
+
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { class: "register-form new_user" }) do |f| %>
|
21
|
+
<div class="user-person">
|
22
|
+
<div class="field">
|
23
|
+
<%= f.text_field :name, help_text: t(".username_help") %>
|
24
|
+
</div>
|
25
|
+
</div>
|
5
26
|
|
6
|
-
|
7
|
-
|
8
|
-
|
27
|
+
<div class="field">
|
28
|
+
<%= f.email_field :email %>
|
29
|
+
</div>
|
9
30
|
|
10
|
-
|
11
|
-
|
12
|
-
|
31
|
+
<div class="field">
|
32
|
+
<%= f.password_field :password, autocomplete: "off" %>
|
33
|
+
</div>
|
13
34
|
|
14
|
-
|
15
|
-
|
16
|
-
|
35
|
+
<div class="field">
|
36
|
+
<%= f.password_field :password_confirmation, autocomplete: "off" %>
|
37
|
+
</div>
|
17
38
|
|
18
|
-
|
19
|
-
|
20
|
-
|
39
|
+
<fieldset>
|
40
|
+
<div class="field">
|
41
|
+
<%= f.check_box :tos_agreement, label: t(".tos_agreement", link: link_to(t(".terms"), page_path(:terms))) %>
|
42
|
+
</div>
|
43
|
+
</fieldset>
|
21
44
|
|
22
|
-
|
23
|
-
|
45
|
+
<div class="actions">
|
46
|
+
<%= f.submit t("devise.registrations.new.sign_up"), class: "button expanded" %>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
<%= render "decidim/devise/shared/links" %>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
24
53
|
</div>
|
25
|
-
|
26
|
-
|
27
|
-
<%= render "decidim/devise/shared/links" %>
|
54
|
+
</div>
|
55
|
+
</main>
|
@@ -1,23 +1,42 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
1
|
+
<main class="wrapper">
|
2
|
+
<div class="row collapse">
|
3
|
+
<div class="row collapse">
|
4
|
+
<div class="columns large-8 large-centered text-center page-title">
|
5
|
+
<h1 class="heading1"><%= t("devise.sessions.new.sign_in") %></h1>
|
6
|
+
<p>
|
7
|
+
<%= t('.are_you_new?') %>
|
8
|
+
<%= link_to t(".register"), new_user_registration_path %>
|
9
|
+
</p>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<div class="row">
|
13
|
+
<div class="columns large-6 medium-centered">
|
14
|
+
<div class="card">
|
15
|
+
<div class="card__content">
|
16
|
+
<%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: "register-form new_user" }) do |f| %>
|
17
|
+
<div>
|
18
|
+
<div class="field">
|
19
|
+
<%= f.email_field :email, autofocus: true %>
|
20
|
+
</div>
|
21
|
+
<div class="field">
|
22
|
+
<%= f.password_field :password, autocomplete: "off" %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
<fieldset>
|
26
|
+
<% if devise_mapping.rememberable? %>
|
27
|
+
<div class="field">
|
28
|
+
<%= f.check_box :remember_me %>
|
29
|
+
</div>
|
30
|
+
<% end %>
|
31
|
+
</fieldset>
|
32
|
+
<div class="actions">
|
33
|
+
<%= f.submit t("devise.sessions.new.sign_in"), class: "button expanded" %>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
36
|
+
<%= render "decidim/devise/shared/links" %>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
</div>
|
15
40
|
</div>
|
16
|
-
<% end %>
|
17
|
-
|
18
|
-
<div class="actions">
|
19
|
-
<%= f.submit t("devise.sessions.new.sign_in") %>
|
20
41
|
</div>
|
21
|
-
|
22
|
-
|
23
|
-
<%= render "decidim/devise/shared/links" %>
|
42
|
+
</main>
|
@@ -1,25 +1,37 @@
|
|
1
1
|
<%- if controller_name != "sessions" %>
|
2
|
-
|
2
|
+
<p class="text-center">
|
3
|
+
<%= link_to t("devise.shared.links.sign_in"), new_session_path(resource_name) %>
|
4
|
+
</p>
|
3
5
|
<% end -%>
|
4
6
|
|
5
7
|
<%- if devise_mapping.registerable? && controller_name != "registrations" %>
|
6
|
-
|
8
|
+
<p class="text-center">
|
9
|
+
<%= link_to t("devise.shared.links.sign_up"), new_registration_path(resource_name) %>
|
10
|
+
</p>
|
7
11
|
<% end -%>
|
8
12
|
|
9
13
|
<%- if devise_mapping.recoverable? && controller_name != "passwords" %>
|
10
|
-
|
14
|
+
<p class="text-center">
|
15
|
+
<%= link_to t("devise.shared.links.forgot_your_password"), new_password_path(resource_name) %>
|
16
|
+
</p>
|
11
17
|
<% end -%>
|
12
18
|
|
13
19
|
<%- if devise_mapping.confirmable? && controller_name != "confirmations" %>
|
14
|
-
|
20
|
+
<p class="text-center">
|
21
|
+
<%= link_to t("devise.shared.links.didn_t_receive_confirmation_instructions"), new_confirmation_path(resource_name) %>
|
22
|
+
</p>
|
15
23
|
<% end -%>
|
16
24
|
|
17
25
|
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != "unlocks" %>
|
18
|
-
|
26
|
+
<p class="text-center">
|
27
|
+
<%= link_to t("devise.shared.links.didn_t_receive_unlock_instructions"), new_unlock_path(resource_name) %>
|
28
|
+
</p>
|
19
29
|
<% end -%>
|
20
30
|
|
21
31
|
<%- if devise_mapping.omniauthable? %>
|
22
32
|
<%- resource_class.omniauth_providers.each do |provider| %>
|
23
|
-
|
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>
|
24
36
|
<% end -%>
|
25
37
|
<% end -%>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="column">
|
2
|
+
<article class="card card--process">
|
3
|
+
<div class="card__image-top"
|
4
|
+
style="background-image:url(<%= participatory_process.banner_image.url %>)"></div>
|
5
|
+
<div class="card__content">
|
6
|
+
<%= link_to participatory_process_path(participatory_process), class: "card__link" do %>
|
7
|
+
<h4 class="card__title"><%= translated_attribute participatory_process.title %></h4>
|
8
|
+
<% end %>
|
9
|
+
<p class="card__desc"><%== translated_attribute(participatory_process.short_description) %></p>
|
10
|
+
</div>
|
11
|
+
<div class="card__footer">
|
12
|
+
<div class="card__support">
|
13
|
+
<% if participatory_process.active_step %>
|
14
|
+
<span class="card--process__small">
|
15
|
+
<%= t(".active_step", scope: "layouts") %>
|
16
|
+
<strong><%= translated_attribute participatory_process.active_step.title %></strong>
|
17
|
+
</span>
|
18
|
+
<% end %>
|
19
|
+
<span class="card--process__small"></span>
|
20
|
+
<%= link_to participatory_process_path(participatory_process), class: "card__button button small" do %>
|
21
|
+
<%= t(".take_part", scope: "layouts") %>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</article>
|
26
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="process-header process-header--home row column">
|
2
|
+
<div class="row column process-header__main"
|
3
|
+
style="background-image:url(<%= participatory_process.banner_image.url %>);">
|
4
|
+
<div class="process-header__container row">
|
5
|
+
<div class="columns mediumlarge-9 process-header__info">
|
6
|
+
<h1 class="text-highlight heading1">
|
7
|
+
<%= translated_attribute(participatory_process.title) %>
|
8
|
+
</h1>
|
9
|
+
<h2 class="text-highlight heading4">
|
10
|
+
<span class="process-header__hashtag">
|
11
|
+
<%= participatory_process.hashtag %>
|
12
|
+
</span>
|
13
|
+
<%= translated_attribute(participatory_process.subtitle) %>
|
14
|
+
</h2>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<article class="card card--full card--process">
|
2
|
+
<div class="row collapse card--process__row">
|
3
|
+
<div class="columns mediumlarge-8 large-6 card--process__column">
|
4
|
+
<div class="card__content">
|
5
|
+
<%= link_to participatory_process_path(promoted_process), class: "card__link" do %>
|
6
|
+
<h2 class="card__title"><%= translated_attribute promoted_process.title %></h2>
|
7
|
+
<% end %>
|
8
|
+
<%= truncate(translated_attribute(promoted_process.description).html_safe, length: 630, separator: ' ') %>
|
9
|
+
<%= link_to participatory_process_path(promoted_process), class: "button secondary small hollow card__button" do %>
|
10
|
+
<%= t(".more_info", scope: "layouts") %>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
<div class="columns mediumlarge-8 large-6 card--process__column">
|
15
|
+
<div class="card--full__image"
|
16
|
+
style="background-image:url(<%= promoted_process.hero_image.url %>">
|
17
|
+
<div class="card__content row collapse">
|
18
|
+
<div class="large-6 large-offset-6 columns">
|
19
|
+
<%= link_to participatory_process_path(promoted_process), class: "button expanded button--sc" do %>
|
20
|
+
<%= t(".take_part", scope: "layouts") %>
|
21
|
+
<% if promoted_process.active_step %>
|
22
|
+
<span class="button__info">
|
23
|
+
<%= t(".active_step", scope: "layouts") %> <%= translated_attribute promoted_process.active_step.title %>
|
24
|
+
</span>
|
25
|
+
<% end %>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</article>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<main class="wrapper">
|
2
|
+
<% if promoted_processes.any? %>
|
3
|
+
<section id ="highlighted-processes" class="row section">
|
4
|
+
<h1 class="section-heading"><%= t(".promoted_processes", scope: "layouts") %></h1>
|
5
|
+
<%= render partial: "promoted_process", collection: promoted_processes, as: :promoted_process %>
|
6
|
+
</section>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<section id="processes-grid" class="section row collapse">
|
10
|
+
<%= render partial: "order_by_processes" %>
|
11
|
+
<div class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
12
|
+
<%= render(participatory_processes) || render(partial: "no_processes_yet") %>
|
13
|
+
</div>
|
14
|
+
</section>
|
15
|
+
</main>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<main class="wrapper">
|
2
|
+
<%= render partial: "process_header_home" %>
|
3
|
+
<div class="row column">
|
4
|
+
<div class="row">
|
5
|
+
<div class="columns medium-7 mediumlarge-8">
|
6
|
+
<div class="section">
|
7
|
+
<div class="lead">
|
8
|
+
<%== translated_attribute(participatory_process.short_description) %>
|
9
|
+
</div>
|
10
|
+
<%== translated_attribute(participatory_process.description) %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</main>
|
@@ -4,7 +4,7 @@
|
|
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 %>
|
7
|
-
<p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :
|
7
|
+
<p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %></p>
|
8
8
|
<% end %>
|
9
9
|
|
10
10
|
<p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>
|