decidim-core 0.0.1.alpha2 → 0.0.1.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +11 -6
  3. data/app/assets/config/decidim_core_manifest.js +1 -0
  4. data/app/assets/images/decidim/badge-ajuntament-footer.png +0 -0
  5. data/app/assets/images/decidim/badge-ajuntament-header.svg +60 -0
  6. data/app/assets/images/decidim/cc-badge.png +0 -0
  7. data/app/assets/images/decidim/hero-home.jpg +0 -0
  8. data/app/assets/images/decidim/icons.svg +1 -0
  9. data/app/assets/javascripts/decidim.js +12 -1
  10. data/app/assets/stylesheets/{decidim.css → decidim.scss} +2 -1
  11. data/app/assets/stylesheets/decidim/application.sass +7 -0
  12. data/app/assets/stylesheets/decidim/layouts/_home.scss +244 -0
  13. data/app/assets/stylesheets/decidim/layouts/_user.scss +24 -0
  14. data/app/assets/stylesheets/decidim/layouts/_view.scss +22 -0
  15. data/app/assets/stylesheets/decidim/modules/_address.scss +26 -0
  16. data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +119 -0
  17. data/app/assets/stylesheets/decidim/modules/_buttons.scss +120 -0
  18. data/app/assets/stylesheets/decidim/modules/_callout.scss +25 -0
  19. data/app/assets/stylesheets/decidim/modules/_card-grid.scss +22 -0
  20. data/app/assets/stylesheets/decidim/modules/_cards.scss +520 -0
  21. data/app/assets/stylesheets/decidim/modules/_comments.scss +119 -0
  22. data/app/assets/stylesheets/decidim/modules/_defintion-data.scss +54 -0
  23. data/app/assets/stylesheets/decidim/modules/_extra.scss +43 -0
  24. data/app/assets/stylesheets/decidim/modules/_filters.scss +96 -0
  25. data/app/assets/stylesheets/decidim/modules/_flag.scss +9 -0
  26. data/app/assets/stylesheets/decidim/modules/_footer.scss +90 -0
  27. data/app/assets/stylesheets/decidim/modules/_forms.scss +30 -0
  28. data/app/assets/stylesheets/decidim/modules/_help.scss +14 -0
  29. data/app/assets/stylesheets/decidim/modules/_icons.scss +32 -0
  30. data/app/assets/stylesheets/decidim/modules/_layout.scss +58 -0
  31. data/app/assets/stylesheets/decidim/modules/_list-docs.scss +30 -0
  32. data/app/assets/stylesheets/decidim/modules/_main-container.scss +70 -0
  33. data/app/assets/stylesheets/decidim/modules/_map.scss +72 -0
  34. data/app/assets/stylesheets/decidim/modules/_navbar.scss +258 -0
  35. data/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +30 -0
  36. data/app/assets/stylesheets/decidim/modules/_order-by.scss +66 -0
  37. data/app/assets/stylesheets/decidim/modules/_owl-carousel.scss +72 -0
  38. data/app/assets/stylesheets/decidim/modules/_phase-nav.scss +177 -0
  39. data/app/assets/stylesheets/decidim/modules/_popularity.scss +74 -0
  40. data/app/assets/stylesheets/decidim/modules/_process-header.scss +125 -0
  41. data/app/assets/stylesheets/decidim/modules/_process-info.scss +44 -0
  42. data/app/assets/stylesheets/decidim/modules/_process-nav.scss +99 -0
  43. data/app/assets/stylesheets/decidim/modules/_reference.scss +6 -0
  44. data/app/assets/stylesheets/decidim/modules/_reveal.scss +20 -0
  45. data/app/assets/stylesheets/decidim/modules/_share.scss +28 -0
  46. data/app/assets/stylesheets/decidim/modules/_signup.scss +39 -0
  47. data/app/assets/stylesheets/decidim/modules/_static-pages.scss +46 -0
  48. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +14 -0
  49. data/app/assets/stylesheets/decidim/modules/_tags.scss +29 -0
  50. data/app/assets/stylesheets/decidim/modules/_timeline.scss +189 -0
  51. data/app/assets/stylesheets/decidim/modules/_title-action.scss +28 -0
  52. data/app/assets/stylesheets/decidim/modules/_typography.scss +116 -0
  53. data/app/assets/stylesheets/decidim/modules/_user-form.scss +14 -0
  54. data/app/assets/stylesheets/decidim/modules/_video.scss +18 -0
  55. data/app/assets/stylesheets/decidim/utils/_fontface.scss +1 -0
  56. data/app/assets/stylesheets/decidim/utils/_helpers.sass +21 -0
  57. data/app/assets/stylesheets/decidim/utils/_keyframes.sass +13 -0
  58. data/app/assets/stylesheets/decidim/utils/_mixins.sass +33 -0
  59. data/app/assets/stylesheets/decidim/utils/_settings.scss +570 -0
  60. data/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +8 -0
  61. data/app/assets/stylesheets/decidim/utils/_variables.scss +25 -0
  62. data/app/controllers/concerns/decidim/needs_organization.rb +31 -0
  63. data/app/controllers/decidim/application_controller.rb +1 -0
  64. data/app/controllers/decidim/devise/confirmations_controller.rb +10 -0
  65. data/app/controllers/decidim/devise/invitations_controller.rb +20 -0
  66. data/app/controllers/decidim/devise/passwords_controller.rb +10 -0
  67. data/app/controllers/decidim/devise/registrations_controller.rb +19 -0
  68. data/app/controllers/decidim/devise/sessions_controller.rb +10 -0
  69. data/app/helpers/decidim/application_helper.rb +3 -0
  70. data/app/helpers/decidim/layout_helper.rb +27 -0
  71. data/app/helpers/decidim/translations_helper.rb +16 -0
  72. data/app/mailers/decidim/decidim_devise_mailer.rb +11 -0
  73. data/app/middleware/decidim/current_organization.rb +28 -0
  74. data/app/models/decidim/organization.rb +9 -0
  75. data/app/models/decidim/participatory_process.rb +14 -0
  76. data/app/models/decidim/user.rb +28 -4
  77. data/app/views/decidim/devise/confirmations/new.html.erb +15 -0
  78. data/app/views/decidim/devise/invitations/edit.html.erb +14 -0
  79. data/app/views/decidim/devise/passwords/edit.html.erb +20 -0
  80. data/app/views/decidim/devise/passwords/new.html.erb +15 -0
  81. data/app/views/decidim/devise/registrations/edit.html.erb +35 -0
  82. data/app/views/decidim/devise/registrations/new.html.erb +23 -0
  83. data/app/views/decidim/devise/sessions/new.html.erb +23 -0
  84. data/app/views/decidim/devise/shared/_links.html.erb +25 -0
  85. data/app/views/decidim/home/show.html.erb +16 -4
  86. data/app/views/devise/mailer/confirmation_instructions.html.erb +4 -0
  87. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +10 -0
  88. data/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +11 -0
  89. data/app/views/devise/mailer/password_change.html.erb +3 -0
  90. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  91. data/app/views/layouts/decidim/_footer.html.erb +28 -2
  92. data/app/views/layouts/decidim/_header.html.erb +59 -2
  93. data/config/i18n-tasks.yml +120 -0
  94. data/config/initializers/devise.rb +58 -8
  95. data/config/locales/en.yml +35 -0
  96. data/config/routes.rb +12 -1
  97. data/db/migrate/20160919104837_create_decidim_organizations.rb +13 -0
  98. data/db/migrate/20160920140207_devise_invitable_add_to_decidim_users.rb +23 -0
  99. data/db/migrate/20160920141039_user_belongs_to_organization.rb +5 -0
  100. data/db/migrate/20160920141151_user_has_roles.rb +5 -0
  101. data/db/migrate/20161005130108_add_participatory_processes.rb +17 -0
  102. data/db/migrate/20161005153007_add_description_to_organizations.rb +9 -0
  103. data/db/migrate/20161006085629_add_confirmable_to_devise.rb +14 -0
  104. data/db/seeds.rb +35 -0
  105. data/lib/decidim/core.rb +0 -1
  106. data/lib/decidim/core/engine.rb +30 -0
  107. data/lib/decidim/core/version.rb +1 -1
  108. data/lib/decidim/devise_failure_app.rb +36 -0
  109. data/lib/decidim/form_builder.rb +38 -0
  110. data/lib/decidim/translatable_attributes.rb +86 -0
  111. data/lib/devise/models/decidim_validatable.rb +67 -0
  112. data/lib/tasks/factory_girl.rake +16 -0
  113. metadata +254 -9
  114. data/config/locales/devise.en.yml +0 -62
  115. data/lib/decidim/testing_support/common_rake.rb +0 -13
  116. data/lib/generators/decidim/dummy_generator.rb +0 -58
  117. data/lib/generators/decidim/install_generator.rb +0 -76
  118. data/lib/generators/decidim/templates/initializer.rb +0 -4
@@ -0,0 +1,23 @@
1
+ <h2><%= t("devise.sessions.new.sign_in") %></h2>
2
+
3
+ <%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
4
+ <div class="field">
5
+ <%= f.email_field :email, autofocus: true %>
6
+ </div>
7
+
8
+ <div class="field">
9
+ <%= f.password_field :password, autocomplete: "off" %>
10
+ </div>
11
+
12
+ <% if devise_mapping.rememberable? %>
13
+ <div class="field">
14
+ <%= f.check_box :remember_me %>
15
+ </div>
16
+ <% end %>
17
+
18
+ <div class="actions">
19
+ <%= f.submit t("devise.sessions.new.sign_in") %>
20
+ </div>
21
+ <% end %>
22
+
23
+ <%= render "decidim/devise/shared/links" %>
@@ -0,0 +1,25 @@
1
+ <%- if controller_name != "sessions" %>
2
+ <%= link_to t("devise.shared.links.sign_in"), new_session_path(resource_name) %><br />
3
+ <% end -%>
4
+
5
+ <%- if devise_mapping.registerable? && controller_name != "registrations" %>
6
+ <%= link_to t("devise.shared.links.sign_up"), new_registration_path(resource_name) %><br />
7
+ <% end -%>
8
+
9
+ <%- if devise_mapping.recoverable? && controller_name != "passwords" %>
10
+ <%= link_to t("devise.shared.links.forgot_your_password"), new_password_path(resource_name) %><br />
11
+ <% end -%>
12
+
13
+ <%- if devise_mapping.confirmable? && controller_name != "confirmations" %>
14
+ <%= link_to t("devise.shared.links.didn_t_receive_confirmation_instructions"), new_confirmation_path(resource_name) %><br />
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != "unlocks" %>
18
+ <%= link_to t("devise.shared.links.didn_t_receive_unlock_instructions"), new_unlock_path(resource_name) %><br />
19
+ <% end -%>
20
+
21
+ <%- if devise_mapping.omniauthable? %>
22
+ <%- resource_class.omniauth_providers.each do |provider| %>
23
+ <%= link_to t("devise.shared.links.sign_in_with_provider", provider: provider.to_s.titleize), omniauth_authorize_path(resource_name, provider) %><br />
24
+ <% end -%>
25
+ <% end -%>
@@ -1,4 +1,16 @@
1
- <h2>Welcome to Decidim!</h2>
2
- <ul>
3
- <li><%= link_to "Create user", new_user_registration_path %></li>
4
- </ul>
1
+ <section class="extended hero" style="background-image:url(<%= asset_url("decidim/hero-home.jpg") %>);">
2
+ <div class="hero__container">
3
+ <div class="row">
4
+ <div class="columns small-centered large-10">
5
+ <h1 class="text-highlight heading1 hero-heading">
6
+ <%= t('.welcome', organization: current_organization.name) %>
7
+ </h1>
8
+ </div>
9
+ </div>
10
+ <div class="row">
11
+ <div class="columns small-centered small-6 medium-4 mediumlarge-3">
12
+ <%= link_to t('.register'), new_user_registration_path, class: "hero-cta button expanded large button--sc" %>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </section>
@@ -0,0 +1,4 @@
1
+ <p><%= t('.greeting', recipient: @resource.email) %></p>
2
+
3
+ <p><%= t('.instruction') %></p>
4
+ <p><%= link_to t('.action'), confirmation_url(@resource, confirmation_token: @token, host: @resource.organization.host) %></p>
@@ -0,0 +1,10 @@
1
+ <p><%= t("devise.mailer.invitation_instructions.hello", email: @resource.email) %></p>
2
+
3
+ <p><%= t("devise.mailer.invitation_instructions.someone_invited_you", application: Decidim.config.application_name) %></p>
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
+
6
+ <% if @resource.invitation_due_at %>
7
+ <p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :'devise.mailer.invitation_instructions.accept_until_format')) %></p>
8
+ <% end %>
9
+
10
+ <p><%= t("devise.mailer.invitation_instructions.ignore").html_safe %></p>
@@ -0,0 +1,11 @@
1
+ <%= t("devise.mailer.invitation_instructions.hello", email: @resource.email) %>
2
+
3
+ <%= t("devise.mailer.invitation_instructions.someone_invited_you", application: Decidim.config.application_name) %>
4
+
5
+ <%= accept_invitation_url(@resource, invitation_token: @token, invite_redirect: decidim_admin.root_path, host: @resource.organization.host) %>
6
+
7
+ <% if @resource.invitation_due_at %>
8
+ <%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :'devise.mailer.invitation_instructions.accept_until_format')) %>
9
+ <% end %>
10
+
11
+ <%= strip_tags t("devise.mailer.invitation_instructions.ignore") %>
@@ -0,0 +1,3 @@
1
+ <p><%= t('.greeting', recipient: @resource.email) %></p>
2
+
3
+ <p><%= t('.message') %></p>
@@ -0,0 +1,8 @@
1
+ <p><%= t('.greeting', recipient: @resource.email) %></p>
2
+
3
+ <p><%= t('.instruction') %></p>
4
+
5
+ <p><%= link_to t('.action'), edit_password_url(@resource, reset_password_token: @token, host: @resource.organization.host) %></p>
6
+
7
+ <p><%= t('.instruction_2') %></p>
8
+ <p><%= t('.instruction_3') %></p>
@@ -1,2 +1,28 @@
1
- <hr />
2
- <em>Footer</em>
1
+ </main>
2
+ </div><!-- /.footer-separator -->
3
+ <div class="main-footer">
4
+ <div class="row">
5
+ <div class="medium-8 large-6 large-offset-3 column main__footer__nav">
6
+ <ul class="footer-nav">
7
+ <li><a href="#"><%= t('.about') %></a></li>
8
+ <li><a href="#"><%= t('.terms_of_use') %></a></li>
9
+ <li><a href="#"><%= t('.accessibility') %></a></li>
10
+ </ul>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ <div class="mini-footer">
15
+ <div class="row">
16
+ <div class="columns">
17
+ <a rel="license" class="cc-badge"
18
+ href="http://creativecommons.org/licenses/by-sa/4.0/"
19
+ target="_blank">
20
+ <%= image_tag("decidim/cc-badge.png", alt: "Creative Commons License" ) %>
21
+ </a>
22
+ <%= t('.made_with_open_source').html_safe %>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div><!--/.off-canvas-content-->
27
+ </div><!--/.off-canvas-wrapper-inner-->
28
+ </div><!--/.off-canvas-wrapper-->
@@ -1,2 +1,59 @@
1
- <h1>Decidim</h1>
2
- <hr />
1
+ <div class="off-canvas-wrapper">
2
+ <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
3
+ <div class="off-canvas position-right" data-position="right"
4
+ id="offCanvas" data-off-canvas>
5
+ <!-- Close button -->
6
+ <button class="close-button"
7
+ aria-label="<%= t(".close_menu") %>" type="button"
8
+ data-close>
9
+ <span aria-hidden="true">&times;</span>
10
+ </button>
11
+ <!-- Menu -->
12
+ <div class="hide-for-medium" data-set="nav-holder"></div>
13
+ <div class="hide-for-medium usermenu-off-canvas-holder"
14
+ data-set="nav-login-holder"></div>
15
+ </div>
16
+ <div class="off-canvas-content" data-off-canvas-content>
17
+ <div class="footer-separator">
18
+ <!--separates the footer from the rest of the page,
19
+ creates a sticky footer-->
20
+ <!-- Topbar -->
21
+ <div class="title-bar">
22
+ <div class="row topbar">
23
+ <div class="logo-wrapper">
24
+ <a href="/">
25
+ <!-- Remove this, use the final SVG logo -->
26
+ <span><%= current_organization.name %></span>
27
+ <style>
28
+ .logo-wrapper span{ color: white; font-weight: 600;
29
+ display: inline-block; text-align: left;
30
+ padding-left: 8px; line-height: 1;
31
+ position: relative; }
32
+ .logo-wrapper span:before{ content: ""; display: block;
33
+ position: absolute; border-left: 4px solid white; height: 88%;
34
+ top: 6%; left: 0; }
35
+ </style>
36
+ <!-- /Remove-->
37
+ </a>
38
+ </div>
39
+ <div class="hide-for-medium topbar__menu">
40
+ <button type="button" data-toggle="offCanvas">
41
+ <%= icon "menu", aria_label: t('.navigation'), role: "img" %>
42
+ </button>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ <div class="show-for-medium" data-set="nav-holder">
47
+ <nav class="navbar js-append">
48
+ <div class="row">
49
+ <ul class="main-nav">
50
+ <li>
51
+ <%= active_link_to t("menu.home", scope: "decidim"), root_path, active: :exact, class: "main-nav__link", active_class: "main-nav__link-active" %>
52
+ </li>
53
+ </ul>
54
+ </div>
55
+ </nav>
56
+ </div>
57
+
58
+ <main>
59
+ <%= display_flash_messages %>
@@ -0,0 +1,120 @@
1
+ # i18n-tasks finds and manages missing and unused translations: https://github.com/glebm/i18n-tasks
2
+
3
+ # The "main" locale.
4
+ base_locale: en
5
+ ## All available locales are inferred from the data by default. Alternatively, specify them explicitly:
6
+ # locales: [es, fr]
7
+ ## Reporting locale, default: en. Available: en, ru.
8
+ # internal_locale: en
9
+
10
+ # Read and write translations.
11
+ data:
12
+ ## Translations are read from the file system. Supported format: YAML, JSON.
13
+ ## Provide a custom adapter:
14
+ # adapter: I18n::Tasks::Data::FileSystem
15
+
16
+ # Locale files or `File.find` patterns where translations are read from:
17
+ read:
18
+ ## Default:
19
+ # - config/locales/%{locale}.yml
20
+ ## More files:
21
+ # - config/locales/**/*.%{locale}.yml
22
+ ## Another gem (replace %#= with %=):
23
+ # - "<%#= %x[bundle show vagrant].chomp %>/templates/locales/%{locale}.yml"
24
+
25
+ # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom:
26
+ # `i18n-tasks normalize -p` will force move the keys according to these rules
27
+ write:
28
+ ## For example, write devise and simple form keys to their respective files:
29
+ # - ['{devise, simple_form}.*', 'config/locales/\1.%{locale}.yml']
30
+ ## Catch-all default:
31
+ # - config/locales/%{locale}.yml
32
+
33
+ ## Specify the router (see Readme for details). Valid values: conservative_router, pattern_router, or a custom class.
34
+ # router: convervative_router
35
+
36
+ yaml:
37
+ write:
38
+ # do not wrap lines at 80 characters
39
+ line_width: -1
40
+
41
+ ## Pretty-print JSON:
42
+ # json:
43
+ # write:
44
+ # indent: ' '
45
+ # space: ' '
46
+ # object_nl: "\n"
47
+ # array_nl: "\n"
48
+
49
+ # Find translate calls
50
+ search:
51
+ ## Paths or `File.find` patterns to search in:
52
+ # paths:
53
+ # - app/
54
+
55
+ ## Root directories for relative keys resolution.
56
+ # relative_roots:
57
+ # - app/controllers
58
+ # - app/helpers
59
+ # - app/mailers
60
+ # - app/presenters
61
+ # - app/views
62
+
63
+ ## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting:
64
+ ## %w(*.jpg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less *.yml *.json)
65
+ exclude:
66
+ - app/assets/images
67
+ - app/assets/fonts
68
+
69
+ ## Alternatively, the only files or `File.fnmatch patterns` to search in `paths`:
70
+ ## If specified, this settings takes priority over `exclude`, but `exclude` still applies.
71
+ # only: ["*.rb", "*.html.slim"]
72
+
73
+ ## If `strict` is `false`, guess usages such as t("categories.#{category}.title"). The default is `true`.
74
+ # strict: true
75
+
76
+ ## Multiple scanners can be used. Their results are merged.
77
+ ## The options specified above are passed down to each scanner. Per-scanner options can be specified as well.
78
+ ## See this example of a custom scanner: https://github.com/glebm/i18n-tasks/wiki/A-custom-scanner-example
79
+
80
+ ## Google Translate
81
+ # translation:
82
+ # # Get an API key and set billing info at https://code.google.com/apis/console to use Google Translate
83
+ # api_key: "AbC-dEf5"
84
+
85
+ ## Do not consider these keys missing:
86
+ ignore_missing:
87
+ - '{devise,simple_form}.*'
88
+
89
+ ## Consider these keys used:
90
+ ignore_unused:
91
+ - '{time.formats}.*'
92
+ # - 'activerecord.attributes.*'
93
+ # - '{devise,kaminari,will_paginate}.*'
94
+ # - 'simple_form.{yes,no}'
95
+ # - 'simple_form.{placeholders,hints,labels}.*'
96
+ # - 'simple_form.{error_notification,required}.:'
97
+
98
+ ## Exclude these keys from the `i18n-tasks eq-base' report:
99
+ # ignore_eq_base:
100
+ # all:
101
+ # - common.ok
102
+ # fr,es:
103
+ # - common.brand
104
+
105
+ ## Ignore these keys completely:
106
+ # ignore:
107
+ # - kaminari.*
108
+
109
+ ## Sometimes, it isn't possible for i18n-tasks to match the key correctly,
110
+ ## e.g. in case of a relative key defined in a helper method.
111
+ ## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.:
112
+ #
113
+ # <%#= I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
114
+ # only: %w(*.html.haml *.html.slim),
115
+ # patterns: [['= title\b', '.page_title']] %>
116
+ #
117
+ # The PatternMapper can also match key literals via a special %{key} interpolation, e.g.:
118
+ #
119
+ # <%#= I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
120
+ # patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %>
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  # Use this hook to configure devise mailer, warden hooks and so forth.
3
3
  # Many of these configuration options can be set straight in your model.
4
+
5
+ require "decidim/devise_failure_app"
6
+
4
7
  Devise.setup do |config|
5
8
  # The secret key used by Devise. Devise uses this key to generate
6
9
  # random tokens. Changing this key will render invalid all existing
@@ -16,12 +19,12 @@ Devise.setup do |config|
16
19
  config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
17
20
 
18
21
  # Configure the class responsible to send e-mails.
19
- # config.mailer = 'Devise::Mailer'
22
+ config.mailer = "Decidim::DecidimDeviseMailer"
20
23
 
21
24
  # Configure the parent class responsible to send e-mails.
22
25
  config.parent_mailer = "Decidim::ApplicationMailer"
23
26
 
24
- config.parent_controller = "Decidim::ApplicationController"
27
+ config.parent_controller = "ActionController::Base"
25
28
 
26
29
  # ==> ORM configuration
27
30
  # Load and configure the ORM. Supports :active_record (default) and
@@ -116,6 +119,54 @@ Devise.setup do |config|
116
119
  # Send a notification email when the user's password is changed
117
120
  # config.send_password_change_notification = false
118
121
 
122
+ # ==> Configuration for :invitable
123
+ # The period the generated invitation token is valid, after
124
+ # this period, the invited resource won't be able to accept the invitation.
125
+ # When invite_for is 0 (the default), the invitation won't expire.
126
+ config.invite_for = 2.weeks
127
+
128
+ # Number of invitations users can send.
129
+ # - If invitation_limit is nil, there is no limit for invitations, users can
130
+ # send unlimited invitations, invitation_limit column is not used.
131
+ # - If invitation_limit is 0, users can't send invitations by default.
132
+ # - If invitation_limit n > 0, users can send n invitations.
133
+ # You can change invitation_limit column for some users so they can send more
134
+ # or less invitations, even with global invitation_limit = 0
135
+ # Default: nil
136
+ # config.invitation_limit = 5
137
+
138
+ # The key to be used to check existing users when sending an invitation
139
+ # and the regexp used to test it when validate_on_invite is not set.
140
+ # config.invite_key = {:email => /\A[^@]+@[^@]+\z/}
141
+ # config.invite_key = {:email => /\A[^@]+@[^@]+\z/, :username => nil}
142
+
143
+ # Flag that force a record to be valid before being actually invited
144
+ # Default: false
145
+ # config.validate_on_invite = true
146
+
147
+ # Resend invitation if user with invited status is invited again
148
+ # Default: true
149
+ # config.resend_invitation = false
150
+
151
+ # The class name of the inviting model. If this is nil,
152
+ # the #invited_by association is declared to be polymorphic.
153
+ # Default: nil
154
+ # config.invited_by_class_name = 'User'
155
+
156
+ # The foreign key to the inviting model (if invited_by_class_name is set)
157
+ # Default: :invited_by_id
158
+ # config.invited_by_foreign_key = :invited_by_id
159
+
160
+ # The column name used for counter_cache column. If this is nil,
161
+ # the #invited_by association is declared without counter_cache.
162
+ # Default: nil
163
+ # config.invited_by_counter_cache = :invitations_count
164
+
165
+ # Auto-login after the user accepts the invite. If this is false,
166
+ # the user will need to manually log in after accepting the invite.
167
+ # Default: true
168
+ config.allow_insecure_sign_in_after_accept = true
169
+
119
170
  # ==> Configuration for :confirmable
120
171
  # A period that the user is allowed to access the website even without
121
172
  # confirming their account. For instance, if set to 2.days, the user will be
@@ -223,7 +274,7 @@ Devise.setup do |config|
223
274
  # Turn scoped views on. Before rendering "sessions/new", it will first check for
224
275
  # "users/sessions/new". It's turned off by default because it's slower if you
225
276
  # are using only default views.
226
- # config.scoped_views = false
277
+ config.scoped_views = true
227
278
 
228
279
  # Configure the default scope given to Warden. By default it's the first
229
280
  # devise role declared in your routes (usually :user).
@@ -256,10 +307,9 @@ Devise.setup do |config|
256
307
  # If you want to use other strategies, that are not supported by Devise, or
257
308
  # change the failure app, you can configure them inside the config.warden block.
258
309
  #
259
- # config.warden do |manager|
260
- # manager.intercept_401 = false
261
- # manager.default_strategies(scope: :user).unshift :some_external_strategy
262
- # end
310
+ config.warden do |manager|
311
+ manager.failure_app = Decidim::DeviseFailureApp
312
+ end
263
313
 
264
314
  # ==> Mountable engine configurations
265
315
  # When using Devise inside an engine, let's call it `MyEngine`, and this engine
@@ -269,7 +319,7 @@ Devise.setup do |config|
269
319
  # mount MyEngine, at: '/my_engine'
270
320
  #
271
321
  # The router that invoked `devise_for`, in the example above, would be:
272
- config.router_name = :decidim
322
+ # config.router_name = :decidim
273
323
  #
274
324
  # When using OmniAuth, Devise cannot automatically set OmniAuth path,
275
325
  # so you need to do it manually. For the users scope, it would be:
@@ -0,0 +1,35 @@
1
+ ---
2
+ en:
3
+ decidim:
4
+ home:
5
+ show:
6
+ register: Register
7
+ welcome: Welcome to %{organization}!
8
+ menu:
9
+ home: Home
10
+ devise:
11
+ mailer:
12
+ invitation_instructions:
13
+ accept: Accept invitation
14
+ accept_until: This invitation will be due in %{due_date}.
15
+ hello: Hello %{email}
16
+ ignore: |-
17
+ If you don't want to accept the invitation, please ignore this email.<br />
18
+ Your account won't be created until you access the link above and set your password.
19
+ someone_invited_you: Someone has invited you to %{application}, you can accept it through the link below.
20
+ layouts:
21
+ decidim:
22
+ footer:
23
+ about: About Decidim
24
+ accessibility: Accessibility
25
+ made_with_open_source: Website made with <a target="_blank" href="https://github.com/codegram/decidim">open-source software</a>.
26
+ terms_of_use: Terms Of Use
27
+ header:
28
+ close_menu: Close menu
29
+ navigation: Navigation
30
+ time:
31
+ formats:
32
+ devise:
33
+ mailer:
34
+ invitation_instructions:
35
+ accept_until_format: "%B %d, %Y %I:%M %p"