decidim-system 0.0.1.alpha9 → 0.0.1
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.
Potentially problematic release.
This version of decidim-system might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Rakefile +0 -25
- data/app/assets/javascripts/decidim/system/application.js.es6 +6 -5
- data/app/assets/stylesheets/decidim/system/application.scss +7 -2
- data/app/commands/decidim/system/create_admin.rb +1 -1
- data/app/commands/decidim/system/create_default_pages.rb +43 -0
- data/app/commands/decidim/system/register_organization.rb +4 -2
- data/app/commands/decidim/system/update_admin.rb +1 -1
- data/app/commands/decidim/system/update_organization.rb +1 -2
- data/app/controllers/decidim/system/admins_controller.rb +4 -4
- data/app/controllers/decidim/system/application_controller.rb +1 -0
- data/app/controllers/decidim/system/organizations_controller.rb +4 -4
- data/app/forms/decidim/system/admin_form.rb +1 -1
- data/app/forms/decidim/system/register_organization_form.rb +6 -5
- data/app/forms/decidim/system/update_organization_form.rb +1 -3
- data/app/helpers/decidim/system/application_helper.rb +2 -0
- data/app/views/decidim/system/organizations/edit.html.erb +0 -4
- data/app/views/decidim/system/organizations/new.html.erb +23 -3
- data/config/i18n-tasks.yml +3 -1
- data/config/locales/ca.yml +15 -10
- data/config/locales/en.yml +6 -0
- data/config/locales/es.yml +11 -6
- data/db/seeds.rb +5 -2
- data/lib/decidim/system/engine.rb +7 -2
- metadata +28 -30
- data/LICENSE.txt +0 -619
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 525c1412b0bf33316dd63efc0a5ab1805c2c24ae
|
4
|
+
data.tar.gz: 970cac38620dc1f03d06690f2df4f96b116addea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b8d31c3464051ff7abb879b11a4051d9b79b776a9a312a43a8a6add8438577a0466c72906d845fedef52c456c0295bbe790bcb601050685c6d258feb18a95a1
|
7
|
+
data.tar.gz: a0fcbe2c2a11355eb290151541c99a97cc106b632986310c13ace530ba3411953692b9ea4253904e3aaa78640683a5870f4302d77cdd1fab766761c2e02c0308
|
data/Rakefile
CHANGED
@@ -1,27 +1,2 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
2
|
require "decidim/common_rake"
|
4
|
-
require "rdoc/task"
|
5
|
-
|
6
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
7
|
-
rdoc.rdoc_dir = "rdoc"
|
8
|
-
rdoc.title = "Decidim::System"
|
9
|
-
rdoc.options << "--line-numbers"
|
10
|
-
rdoc.rdoc_files.include("README.md")
|
11
|
-
rdoc.rdoc_files.include("lib/**/*.rb")
|
12
|
-
end
|
13
|
-
|
14
|
-
load "rails/tasks/statistics.rake"
|
15
|
-
|
16
|
-
require "bundler/gem_tasks"
|
17
|
-
|
18
|
-
begin
|
19
|
-
require "rspec/core/rake_task"
|
20
|
-
RSpec::Core::RakeTask.new(:spec)
|
21
|
-
ENV["ENGINE_PATH"] = File.dirname(__FILE__)
|
22
|
-
|
23
|
-
task default: :spec
|
24
|
-
|
25
|
-
Rake::Task["spec"].enhance ["common:test_app"]
|
26
|
-
rescue LoadError
|
27
|
-
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
// = require jquery
|
2
|
+
// = require jquery_ujs
|
3
|
+
// = require foundation
|
4
|
+
// = require turbolinks
|
5
|
+
// = require decidim/editor
|
6
|
+
// = require_self
|
6
7
|
|
7
8
|
$(document).on('turbolinks:load', () => {
|
8
9
|
$(document).foundation();
|
@@ -1,8 +1,13 @@
|
|
1
|
-
@import 'https://fonts.googleapis.com/css?family=Montserrat:400,700';
|
2
|
-
|
3
1
|
@import "foundation_and_overrides";
|
4
2
|
@import "layout";
|
5
3
|
@import "login";
|
6
4
|
@import "sidebar";
|
7
5
|
@import "tables";
|
8
6
|
@import "actions";
|
7
|
+
|
8
|
+
@import "decidim/editor";
|
9
|
+
@import "decidim/utils/fontface";
|
10
|
+
|
11
|
+
body {
|
12
|
+
font-family: 'Source Sans Pro', sans-serif;
|
13
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Decidim
|
3
|
+
module System
|
4
|
+
# A command with all the business logic when creating a new organization in
|
5
|
+
# the system. It creates the organization and invites the admin to the
|
6
|
+
# system.
|
7
|
+
class CreateDefaultPages < Rectify::Command
|
8
|
+
# Public: Initializes the command.
|
9
|
+
#
|
10
|
+
# form - A form object with the params.
|
11
|
+
def initialize(organization)
|
12
|
+
@organization = organization
|
13
|
+
end
|
14
|
+
|
15
|
+
# Executes the command.
|
16
|
+
#
|
17
|
+
# Returns nothing.
|
18
|
+
def call
|
19
|
+
Decidim::StaticPage::DEFAULT_PAGES.map do |slug|
|
20
|
+
Decidim::StaticPage.find_or_create_by!(slug: slug) do |page|
|
21
|
+
page.organization = organization
|
22
|
+
page.title = localized_attribute(slug, :title)
|
23
|
+
page.content = localized_attribute(slug, :content)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
attr_reader :organization
|
31
|
+
|
32
|
+
def localized_attribute(slug, attribute)
|
33
|
+
I18n.available_locales.inject({}) do |result, locale|
|
34
|
+
text = I18n.with_locale(locale) do
|
35
|
+
I18n.t(attribute, scope: "decidim.system.default_pages.placeholders", page: slug)
|
36
|
+
end
|
37
|
+
|
38
|
+
result.update(locale => text)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -12,7 +12,7 @@ module Decidim
|
|
12
12
|
@form = form
|
13
13
|
end
|
14
14
|
|
15
|
-
# Executes the command.
|
15
|
+
# Executes the command. Broadcasts these events:
|
16
16
|
#
|
17
17
|
# - :ok when everything is valid.
|
18
18
|
# - :invalid if the form wasn't valid and we couldn't proceed.
|
@@ -24,6 +24,7 @@ module Decidim
|
|
24
24
|
transaction do
|
25
25
|
organization = create_organization
|
26
26
|
invite_admin(organization)
|
27
|
+
CreateDefaultPages.call(organization)
|
27
28
|
end
|
28
29
|
|
29
30
|
broadcast(:ok)
|
@@ -39,7 +40,8 @@ module Decidim
|
|
39
40
|
Decidim::Organization.create!(
|
40
41
|
name: form.name,
|
41
42
|
host: form.host,
|
42
|
-
|
43
|
+
available_locales: form.available_locales,
|
44
|
+
default_locale: form.default_locale
|
43
45
|
)
|
44
46
|
end
|
45
47
|
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
@form = form
|
14
14
|
end
|
15
15
|
|
16
|
-
# Executes the command.
|
16
|
+
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
19
|
# - :invalid if the form wasn't valid and we couldn't proceed.
|
@@ -42,7 +42,6 @@ module Decidim
|
|
42
42
|
def save_organization
|
43
43
|
organization.name = form.name
|
44
44
|
organization.host = form.host
|
45
|
-
organization.description = form.description
|
46
45
|
|
47
46
|
organization.save!
|
48
47
|
end
|
@@ -11,11 +11,11 @@ module Decidim
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def new
|
14
|
-
@form = AdminForm.
|
14
|
+
@form = form(AdminForm).instance
|
15
15
|
end
|
16
16
|
|
17
17
|
def create
|
18
|
-
@form = AdminForm.from_params(params)
|
18
|
+
@form = form(AdminForm).from_params(params)
|
19
19
|
|
20
20
|
CreateAdmin.call(@form) do
|
21
21
|
on(:ok) do
|
@@ -32,12 +32,12 @@ module Decidim
|
|
32
32
|
|
33
33
|
def edit
|
34
34
|
@admin = Admin.find(params[:id])
|
35
|
-
@form = AdminForm.from_model(@admin)
|
35
|
+
@form = form(AdminForm).from_model(@admin)
|
36
36
|
end
|
37
37
|
|
38
38
|
def update
|
39
39
|
@admin = Admin.find(params[:id])
|
40
|
-
@form = AdminForm.from_params(params)
|
40
|
+
@form = form(AdminForm).from_params(params)
|
41
41
|
|
42
42
|
UpdateAdmin.call(@admin, @form) do
|
43
43
|
on(:ok) do
|
@@ -7,11 +7,11 @@ module Decidim
|
|
7
7
|
#
|
8
8
|
class OrganizationsController < ApplicationController
|
9
9
|
def new
|
10
|
-
@form = RegisterOrganizationForm.
|
10
|
+
@form = form(RegisterOrganizationForm).instance
|
11
11
|
end
|
12
12
|
|
13
13
|
def create
|
14
|
-
@form = RegisterOrganizationForm.from_params(params)
|
14
|
+
@form = form(RegisterOrganizationForm).from_params(params)
|
15
15
|
|
16
16
|
RegisterOrganization.call(@form) do
|
17
17
|
on(:ok) do
|
@@ -36,11 +36,11 @@ module Decidim
|
|
36
36
|
|
37
37
|
def edit
|
38
38
|
organization = Organization.find(params[:id])
|
39
|
-
@form = UpdateOrganizationForm.from_model(organization)
|
39
|
+
@form = form(UpdateOrganizationForm).from_model(organization)
|
40
40
|
end
|
41
41
|
|
42
42
|
def update
|
43
|
-
@form = UpdateOrganizationForm.from_params(params)
|
43
|
+
@form = form(UpdateOrganizationForm).from_params(params)
|
44
44
|
|
45
45
|
UpdateOrganization.call(params[:id], @form) do
|
46
46
|
on(:ok) do
|
@@ -6,16 +6,17 @@ module Decidim
|
|
6
6
|
# A form object used to create organizations from the system dashboard.
|
7
7
|
#
|
8
8
|
class RegisterOrganizationForm < UpdateOrganizationForm
|
9
|
-
include TranslatableAttributes
|
10
|
-
|
11
9
|
mimic :organization
|
12
10
|
|
13
11
|
attribute :organization_admin_email, String
|
14
12
|
attribute :organization_admin_name, String
|
13
|
+
attribute :available_locales, Array
|
14
|
+
attribute :default_locale, String
|
15
15
|
|
16
|
-
validates :organization_admin_email, :organization_admin_name, presence: true
|
17
|
-
|
18
|
-
|
16
|
+
validates :organization_admin_email, :organization_admin_name, :name, :host, presence: true
|
17
|
+
validates :available_locales, presence: true
|
18
|
+
validates :default_locale, presence: true
|
19
|
+
validates :default_locale, inclusion: { in: :available_locales }
|
19
20
|
end
|
20
21
|
end
|
21
22
|
end
|
@@ -5,7 +5,7 @@ module Decidim
|
|
5
5
|
module System
|
6
6
|
# A form object used to update organizations from the system dashboard.
|
7
7
|
#
|
8
|
-
class UpdateOrganizationForm <
|
8
|
+
class UpdateOrganizationForm < Form
|
9
9
|
include TranslatableAttributes
|
10
10
|
|
11
11
|
mimic :organization
|
@@ -13,8 +13,6 @@ module Decidim
|
|
13
13
|
attribute :name, String
|
14
14
|
attribute :host, String
|
15
15
|
|
16
|
-
translatable_attribute :description, String
|
17
|
-
|
18
16
|
validate :validate_organization_uniqueness
|
19
17
|
|
20
18
|
private
|
@@ -12,16 +12,36 @@
|
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<div class="field">
|
15
|
-
<%= f.
|
15
|
+
<%= f.text_field :organization_admin_name %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<div class="field">
|
19
|
-
<%= f.
|
19
|
+
<%= f.email_field :organization_admin_email %>
|
20
20
|
</div>
|
21
21
|
|
22
|
+
<%= f.fields_for :locales do |fields| %>
|
22
23
|
<div class="field">
|
23
|
-
<%= f.
|
24
|
+
<%= f.label :organization_locales, '', class: @form.respond_to?(:errors) && @form.errors[:default_locale].present? ? "is-invalid-label" : "" %>
|
25
|
+
<table>
|
26
|
+
<thead>
|
27
|
+
<tr>
|
28
|
+
<td>Locale</td>
|
29
|
+
<td>Enabled <%= f.error_for(:available_locales) %></td>
|
30
|
+
<td>Default? <%= f.error_for(:default_locale) %></td>
|
31
|
+
</tr>
|
32
|
+
</thead>
|
33
|
+
<tbody>
|
34
|
+
<% localized_locales.each do |locale| %>
|
35
|
+
<tr>
|
36
|
+
<td><%= locale.name %></td>
|
37
|
+
<td><%= check_box_tag "organization[available_locales][#{locale.id}]", locale.id, @form.available_locales.include?(locale.id) %></td>
|
38
|
+
<td><%= radio_button_tag "organization[default_locale]", locale.id, @form.default_locale == locale.id %></td>
|
39
|
+
</tr>
|
40
|
+
<% end %>
|
41
|
+
</tbody>
|
42
|
+
</table>
|
24
43
|
</div>
|
44
|
+
<% end %>
|
25
45
|
|
26
46
|
<div class="actions">
|
27
47
|
<%= f.submit t("decidim.system.models.organization.actions.save_and_invite") %>
|
data/config/i18n-tasks.yml
CHANGED
@@ -88,7 +88,9 @@ search:
|
|
88
88
|
# - '{devise,simple_form}.*'
|
89
89
|
|
90
90
|
## Consider these keys used:
|
91
|
-
|
91
|
+
ignore_unused:
|
92
|
+
- decidim.system.default_pages.placeholders.*
|
93
|
+
- decidim.system.models.page.name
|
92
94
|
# - 'activerecord.attributes.*'
|
93
95
|
# - '{devise,kaminari,will_paginate}.*'
|
94
96
|
# - 'simple_form.{yes,no}'
|
data/config/locales/ca.yml
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
---
|
2
1
|
ca:
|
3
2
|
decidim:
|
4
3
|
system:
|
@@ -14,9 +13,9 @@ ca:
|
|
14
13
|
error: S'ha produït un error en crear un nou administrador.
|
15
14
|
success: Administrador creat correctament
|
16
15
|
destroy:
|
17
|
-
success:
|
16
|
+
success: L'administrador s'ha eliminat correctament
|
18
17
|
edit:
|
19
|
-
title:
|
18
|
+
title: Editar administrador
|
20
19
|
update: Actualitzar administrador
|
21
20
|
index:
|
22
21
|
title: Administradors
|
@@ -24,8 +23,12 @@ ca:
|
|
24
23
|
create: Crear administrador
|
25
24
|
title: Nou administrador
|
26
25
|
update:
|
27
|
-
error: S'ha produït un error en actualitzar aquest administrador
|
28
|
-
success:
|
26
|
+
error: S'ha produït un error en actualitzar aquest administrador.
|
27
|
+
success: L'administrador s'ha actualitzat correctament
|
28
|
+
default_pages:
|
29
|
+
placeholders:
|
30
|
+
content: Si us plau, afegeix contingut significatiu a aquesta pàgina des del tauler de control.
|
31
|
+
title: Títol predeterminat per %{page}
|
29
32
|
menu:
|
30
33
|
admins: Administradors
|
31
34
|
dashboard: Tauler de control
|
@@ -37,24 +40,26 @@ ca:
|
|
37
40
|
email: Correu electrònic
|
38
41
|
name: Administrador
|
39
42
|
validations:
|
40
|
-
email_uniqueness:
|
43
|
+
email_uniqueness: ja existeix un altre administrador amb aquest correu electrònic
|
41
44
|
organization:
|
42
45
|
actions:
|
43
|
-
save_and_invite: Crear organització i convidar
|
46
|
+
save_and_invite: Crear organització i convidar l'administrador
|
44
47
|
fields:
|
45
48
|
created_at: Data de creació
|
46
49
|
name: Nom
|
47
50
|
name: Organització
|
51
|
+
page:
|
52
|
+
name: pàgina
|
48
53
|
organizations:
|
49
54
|
create:
|
50
55
|
error: S'ha produït un error en crear una nova organització.
|
51
|
-
success:
|
56
|
+
success: L'organització s'ha creat correctament.
|
52
57
|
index:
|
53
58
|
title: Organitzacions
|
54
59
|
new:
|
55
60
|
title: Nova organització
|
56
61
|
update:
|
57
62
|
error: S'ha produït un error en actualitzar aquesta organització.
|
58
|
-
success:
|
63
|
+
success: L'organització s'ha actualitzat correctament.
|
59
64
|
titles:
|
60
|
-
dashboard: Tauler de control
|
65
|
+
dashboard: Tauler de control
|
data/config/locales/en.yml
CHANGED
@@ -26,6 +26,10 @@ en:
|
|
26
26
|
update:
|
27
27
|
error: There was an error when updating this admin.
|
28
28
|
success: Admin updated successfully
|
29
|
+
default_pages:
|
30
|
+
placeholders:
|
31
|
+
content: Please add meaningful content to this page on the admin dashboard.
|
32
|
+
title: Default title for %{page}
|
29
33
|
menu:
|
30
34
|
admins: Admins
|
31
35
|
dashboard: Dashboard
|
@@ -45,6 +49,8 @@ en:
|
|
45
49
|
created_at: Created at
|
46
50
|
name: Name
|
47
51
|
name: Organization
|
52
|
+
page:
|
53
|
+
name: Page
|
48
54
|
organizations:
|
49
55
|
create:
|
50
56
|
error: There was an error when creating a new organization.
|