decidim-system 0.0.1.alpha3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-system might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.md +28 -0
- data/Rakefile +32 -0
- data/app/assets/config/decidim_system_manifest.js +2 -0
- data/app/assets/javascripts/decidim/system.js +21 -0
- data/app/assets/stylesheets/decidim/system/_actions.scss +8 -0
- data/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +52 -0
- data/app/assets/stylesheets/decidim/system/_layout.scss +16 -0
- data/app/assets/stylesheets/decidim/system/_login.scss +36 -0
- data/app/assets/stylesheets/decidim/system/_settings.scss +566 -0
- data/app/assets/stylesheets/decidim/system/_sidebar.scss +73 -0
- data/app/assets/stylesheets/decidim/system/_tables.scss +5 -0
- data/app/assets/stylesheets/decidim/system.scss +8 -0
- data/app/commands/decidim/system/create_admin.rb +40 -0
- data/app/commands/decidim/system/register_organization.rb +59 -0
- data/app/commands/decidim/system/update_admin.rb +52 -0
- data/app/commands/decidim/system/update_organization.rb +51 -0
- data/app/controllers/decidim/system/admins_controller.rb +67 -0
- data/app/controllers/decidim/system/application_controller.rb +11 -0
- data/app/controllers/decidim/system/dashboard_controller.rb +9 -0
- data/app/controllers/decidim/system/devise/passwords_controller.rb +12 -0
- data/app/controllers/decidim/system/devise/sessions_controller.rb +12 -0
- data/app/controllers/decidim/system/organizations_controller.rb +59 -0
- data/app/forms/decidim/system/admin_form.rb +33 -0
- data/app/forms/decidim/system/register_organization_form.rb +20 -0
- data/app/forms/decidim/system/update_organization_form.rb +28 -0
- data/app/helpers/decidim/system/application_helper.rb +12 -0
- data/app/jobs/decidim/system/application_job.rb +9 -0
- data/app/mailers/decidim/system/application_mailer.rb +11 -0
- data/app/models/decidim/system/admin.rb +18 -0
- data/app/models/decidim/system/application_record.rb +10 -0
- data/app/views/decidim/system/admins/_form.html.erb +11 -0
- data/app/views/decidim/system/admins/edit.html.erb +11 -0
- data/app/views/decidim/system/admins/index.html.erb +33 -0
- data/app/views/decidim/system/admins/new.html.erb +11 -0
- data/app/views/decidim/system/admins/show.html.erb +9 -0
- data/app/views/decidim/system/dashboard/show.html.erb +3 -0
- data/app/views/decidim/system/devise/mailers/password_change.html.erb +3 -0
- data/app/views/decidim/system/devise/mailers/reset_password_instructions.html.erb +8 -0
- data/app/views/decidim/system/devise/passwords/edit.html.erb +23 -0
- data/app/views/decidim/system/devise/passwords/new.html.erb +15 -0
- data/app/views/decidim/system/devise/sessions/new.html.erb +23 -0
- data/app/views/decidim/system/devise/shared/_links.html.erb +25 -0
- data/app/views/decidim/system/organizations/edit.html.erb +17 -0
- data/app/views/decidim/system/organizations/index.html.erb +34 -0
- data/app/views/decidim/system/organizations/new.html.erb +25 -0
- data/app/views/decidim/system/organizations/show.html.erb +11 -0
- data/app/views/layouts/decidim/system/_header.html.erb +4 -0
- data/app/views/layouts/decidim/system/_login_items.html.erb +8 -0
- data/app/views/layouts/decidim/system/_sidebar.html.erb +15 -0
- data/app/views/layouts/decidim/system/application.html.erb +40 -0
- data/app/views/layouts/decidim/system/login.html.erb +19 -0
- data/config/i18n-tasks.yml +120 -0
- data/config/locales/en.yml +60 -0
- data/config/routes.rb +17 -0
- data/db/migrate/20160919105637_devise_create_decidim_admins.rb +26 -0
- data/db/seeds.rb +9 -0
- data/lib/decidim/system/engine.rb +31 -0
- data/lib/decidim/system.rb +12 -0
- data/lib/tasks/decidim/system_tasks.rake +5 -0
- metadata +317 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
<%- if controller_name != 'sessions' %>
|
2
|
+
<%= link_to "Log in", new_session_path(resource_name) %><br />
|
3
|
+
<% end -%>
|
4
|
+
|
5
|
+
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
6
|
+
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
|
10
|
+
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
|
11
|
+
<% end -%>
|
12
|
+
|
13
|
+
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
14
|
+
<%= link_to "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 "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 "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
|
24
|
+
<% end -%>
|
25
|
+
<% end -%>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= form_for(@form) do |f| %>
|
2
|
+
<div class="field">
|
3
|
+
<%= f.text_field :name, autofocus: true %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="field">
|
7
|
+
<%= f.text_field :host %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="field">
|
11
|
+
<%= f.translated :text_area, :description %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="actions">
|
15
|
+
<%= f.submit t("decidim.system.actions.save") %>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<% content_for :title do %>
|
2
|
+
<h2><%= t ".title" %></h2>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<div class="actions title">
|
6
|
+
<%= link_to t("actions.new", scope: "decidim.system", name: t("models.organization.name", scope: "decidim.system")), ['new', 'organization'], class: 'new' %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<table class="stack">
|
10
|
+
<thead>
|
11
|
+
<tr>
|
12
|
+
<th><%= t("models.organization.fields.name", scope: "decidim.system") %></th>
|
13
|
+
<th><%= t("models.organization.fields.created_at", scope: "decidim.system") %></th>
|
14
|
+
<th class="actions"><%= t("actions.title", scope: "decidim.system") %></th>
|
15
|
+
</tr>
|
16
|
+
</thead>
|
17
|
+
<tbody>
|
18
|
+
<% @organizations.each do |organization| %>
|
19
|
+
<tr>
|
20
|
+
<td>
|
21
|
+
<%= link_to organization.name, organization %><br />
|
22
|
+
<%= organization.host %>
|
23
|
+
</td>
|
24
|
+
<td>
|
25
|
+
<%= l organization.created_at, format: :short %>
|
26
|
+
</td>
|
27
|
+
<td class="actions">
|
28
|
+
<%= link_to t("actions.edit", scope: "decidim.system"), ['edit', organization] %>
|
29
|
+
<%= link_to t("actions.destroy", scope: "decidim.system"), organization, method: :delete, class: "small alert button", data: { confirm: t("actions.confirm_destroy", scope: "decidim.system") } %>
|
30
|
+
</td>
|
31
|
+
</tr>
|
32
|
+
<% end %>
|
33
|
+
</tbody>
|
34
|
+
</table>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<% content_for :title do %>
|
2
|
+
<h2><%= t ".title" %></h2>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%= form_for(@form) do |f| %>
|
6
|
+
<div class="field">
|
7
|
+
<%= f.text_field :name, autofocus: true %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="field">
|
11
|
+
<%= f.text_field :host %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= f.translated :text_area, :description %>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="field">
|
19
|
+
<%= f.email_field :organization_admin_email %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div class="actions">
|
23
|
+
<%= f.submit t("decidim.system.models.organization.actions.save_and_invite") %>
|
24
|
+
</div>
|
25
|
+
<% end %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% content_for :title do %>
|
2
|
+
<h2><%= link_to @organization.name, @organization %></h2>
|
3
|
+
<h3 class="subheader"><%= @organization.host %></h3>
|
4
|
+
<p><%= translated_attribute @organization.description %></p>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<div class="actions">
|
8
|
+
<hr />
|
9
|
+
<%= link_to t("decidim.system.actions.edit"), ['edit', @organization] %>
|
10
|
+
<%= link_to t("decidim.system.actions.destroy"), @organization, method: :delete, class: "alert button", data: { confirm: t("decidim.system.actions.confirm_destroy") } %>
|
11
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div class="title">
|
2
|
+
<h1>
|
3
|
+
<%= link_to root_path do %>
|
4
|
+
<%= title %>
|
5
|
+
<% end %>
|
6
|
+
</h1>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<nav class="main-menu">
|
10
|
+
<%= active_link_to t("menu.dashboard", scope: "decidim.system"), root_path, active: :exact %>
|
11
|
+
<%= active_link_to t("menu.organizations", scope: "decidim.system"), organizations_path, active: :inclusive %>
|
12
|
+
<%= active_link_to t("menu.admins", scope: "decidim.system"), admins_path, active: :inclusive %>
|
13
|
+
</nav>
|
14
|
+
|
15
|
+
<%= render partial: 'layouts/decidim/system/login_items' %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Decidim - System</title>
|
5
|
+
<%= render partial: 'layouts/decidim/system/header' %>
|
6
|
+
</head>
|
7
|
+
|
8
|
+
<body>
|
9
|
+
<div class="off-canvas-wrapper">
|
10
|
+
<div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
|
11
|
+
<div class="off-canvas position-left reveal-for-large" id="my-info" data-off-canvas data-position="left">
|
12
|
+
<div class="sidebar">
|
13
|
+
<%= render partial: 'layouts/decidim/system/sidebar' %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<div class="off-canvas-content" data-off-canvas-content>
|
18
|
+
<div class="title-bar hide-for-large">
|
19
|
+
<div class="title-bar-left">
|
20
|
+
<button class="menu-icon" type="button" data-open="my-info"></button>
|
21
|
+
<span class="title-bar-title"><%= title %></span>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
<div class="row main-content">
|
25
|
+
<div class="small-12 column">
|
26
|
+
<% if content_for?(:title) %>
|
27
|
+
<section class="page-title">
|
28
|
+
<%= content_for :title %>
|
29
|
+
</section>
|
30
|
+
<% end %>
|
31
|
+
|
32
|
+
<%= display_flash_messages %>
|
33
|
+
<%= yield %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
</body>
|
40
|
+
</html>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Decidim - Login</title>
|
5
|
+
<%= render partial: 'layouts/decidim/system/header' %>
|
6
|
+
</head>
|
7
|
+
|
8
|
+
<body class="login">
|
9
|
+
<div class="login-form-wrapper">
|
10
|
+
<div class="login-form">
|
11
|
+
<h1>Decidim</h1>
|
12
|
+
<%= display_flash_messages %>
|
13
|
+
<div class="login-form-inner">
|
14
|
+
<%= yield %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -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
|
+
# - 'errors.messages.{accepted,blank,invalid,too_short,too_long}'
|
88
|
+
# - '{devise,simple_form}.*'
|
89
|
+
|
90
|
+
## Consider these keys used:
|
91
|
+
# ignore_unused:
|
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}']] %>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
decidim:
|
4
|
+
system:
|
5
|
+
actions:
|
6
|
+
confirm_destroy: Are you sure you want to delete this?
|
7
|
+
destroy: Destroy
|
8
|
+
edit: Edit
|
9
|
+
new: New %{name}
|
10
|
+
save: Save
|
11
|
+
title: Actions
|
12
|
+
admins:
|
13
|
+
create:
|
14
|
+
error: There was an error when creating a new admin.
|
15
|
+
success: Admin created successfully
|
16
|
+
destroy:
|
17
|
+
success: Admin successfully destroyed
|
18
|
+
edit:
|
19
|
+
title: Edit admin
|
20
|
+
update: Update admin
|
21
|
+
index:
|
22
|
+
title: Admins
|
23
|
+
new:
|
24
|
+
create: Create admin
|
25
|
+
title: New admin
|
26
|
+
update:
|
27
|
+
error: There was an error when updating this admin.
|
28
|
+
success: Admin updated successfully
|
29
|
+
menu:
|
30
|
+
admins: Admins
|
31
|
+
dashboard: Dashboard
|
32
|
+
organizations: Organizations
|
33
|
+
models:
|
34
|
+
admin:
|
35
|
+
fields:
|
36
|
+
created_at: Created at
|
37
|
+
email: Email
|
38
|
+
name: Admin
|
39
|
+
validations:
|
40
|
+
email_uniqueness: another admin with the same email already exists
|
41
|
+
organization:
|
42
|
+
actions:
|
43
|
+
save_and_invite: Create organization & invite admin
|
44
|
+
fields:
|
45
|
+
created_at: Created at
|
46
|
+
name: Name
|
47
|
+
name: Organization
|
48
|
+
organizations:
|
49
|
+
create:
|
50
|
+
error: There was an error when creating a new organization.
|
51
|
+
success: Organization created successfully.
|
52
|
+
index:
|
53
|
+
title: Organizations
|
54
|
+
new:
|
55
|
+
title: New organization
|
56
|
+
update:
|
57
|
+
error: There was an error when updating this organization.
|
58
|
+
success: Organization updated successfully.
|
59
|
+
titles:
|
60
|
+
dashboard: Dashboard
|
data/config/routes.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
Decidim::System::Engine.routes.draw do
|
3
|
+
devise_for :admins,
|
4
|
+
class_name: "Decidim::System::Admin",
|
5
|
+
module: :devise,
|
6
|
+
router_name: :decidim_system,
|
7
|
+
controllers: {
|
8
|
+
sessions: "decidim/system/devise/sessions",
|
9
|
+
passwords: "decidim/system/devise/passwords"
|
10
|
+
}
|
11
|
+
|
12
|
+
authenticate(:admin) do
|
13
|
+
resources :organizations
|
14
|
+
resources :admins
|
15
|
+
root to: "dashboard#show"
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class DeviseCreateDecidimAdmins < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :decidim_system_admins do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, null: false, default: ""
|
6
|
+
t.string :encrypted_password, null: false, default: ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Lockable
|
16
|
+
t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
|
17
|
+
t.string :unlock_token # Only if unlock strategy is :email or :both
|
18
|
+
t.datetime :locked_at
|
19
|
+
|
20
|
+
t.timestamps null: false
|
21
|
+
end
|
22
|
+
|
23
|
+
add_index :decidim_system_admins, :email, unique: true
|
24
|
+
add_index :decidim_system_admins, :reset_password_token, unique: true
|
25
|
+
end
|
26
|
+
end
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "rails"
|
3
|
+
require "active_support/all"
|
4
|
+
|
5
|
+
require "devise"
|
6
|
+
require "devise-i18n"
|
7
|
+
require "decidim/core"
|
8
|
+
require "jquery-rails"
|
9
|
+
require "sass-rails"
|
10
|
+
require "turbolinks"
|
11
|
+
require "jquery-turbolinks"
|
12
|
+
require "foundation-rails"
|
13
|
+
require "foundation_rails_helper"
|
14
|
+
require "jbuilder"
|
15
|
+
require "rectify"
|
16
|
+
|
17
|
+
module Decidim
|
18
|
+
module System
|
19
|
+
# Decidim's core Rails Engine.
|
20
|
+
class Engine < ::Rails::Engine
|
21
|
+
isolate_namespace Decidim::System
|
22
|
+
|
23
|
+
config.to_prepare do
|
24
|
+
Rails.application.config.assets.precompile += %w(
|
25
|
+
decidim/system.js
|
26
|
+
decidim/system.css
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "decidim/system/engine"
|
3
|
+
|
4
|
+
module Decidim
|
5
|
+
# This module contains all the logic related to a system-wide
|
6
|
+
# administration panel. The scope of the domain is to be able
|
7
|
+
# to manage Organizations (tenants), as well as have a bird's
|
8
|
+
# eye view of the whole system.
|
9
|
+
#
|
10
|
+
module System
|
11
|
+
end
|
12
|
+
end
|