decidim-admin 0.0.1.alpha9 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-admin might be problematic. Click here for more details.

Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -8
  3. data/Rakefile +0 -25
  4. data/app/assets/javascripts/decidim/admin/application.js.es6 +17 -10
  5. data/app/assets/javascripts/decidim/admin/sort_steps.js.es6 +20 -11
  6. data/app/assets/javascripts/decidim/admin/tab_focus.js.es6 +22 -0
  7. data/app/assets/stylesheets/decidim/admin/_forms.scss +10 -0
  8. data/app/assets/stylesheets/decidim/admin/_layout.scss +11 -0
  9. data/app/assets/stylesheets/decidim/admin/_tables.scss +4 -0
  10. data/app/assets/stylesheets/decidim/admin/application.scss +8 -2
  11. data/app/commands/decidim/admin/activate_participatory_process_step.rb +1 -1
  12. data/app/commands/decidim/admin/create_category.rb +44 -0
  13. data/app/commands/decidim/admin/create_feature.rb +48 -0
  14. data/app/commands/decidim/admin/create_participatory_process.rb +3 -6
  15. data/app/commands/decidim/admin/create_participatory_process_admin.rb +51 -0
  16. data/app/commands/decidim/admin/create_participatory_process_attachment.rb +44 -0
  17. data/app/commands/decidim/admin/create_participatory_process_step.rb +3 -3
  18. data/app/commands/decidim/admin/create_scope.rb +38 -0
  19. data/app/commands/decidim/admin/create_static_page.rb +40 -0
  20. data/app/commands/decidim/admin/destroy_category.rb +36 -0
  21. data/app/commands/decidim/admin/destroy_feature.rb +39 -0
  22. data/app/commands/decidim/admin/publish_participatory_process.rb +1 -1
  23. data/app/commands/decidim/admin/reorder_participatory_process_steps.rb +5 -2
  24. data/app/commands/decidim/admin/unpublish_participatory_process.rb +1 -1
  25. data/app/commands/decidim/admin/update_category.rb +48 -0
  26. data/app/commands/decidim/admin/update_organization.rb +49 -0
  27. data/app/commands/decidim/admin/update_participatory_process.rb +2 -2
  28. data/app/commands/decidim/admin/update_participatory_process_attachment.rb +49 -0
  29. data/app/commands/decidim/admin/update_participatory_process_step.rb +1 -1
  30. data/app/commands/decidim/admin/update_scope.rb +43 -0
  31. data/app/commands/decidim/admin/update_static_page.rb +45 -0
  32. data/app/constraints/decidim/admin/organization_dashboard_constraint.rb +5 -1
  33. data/app/controllers/decidim/admin/application_controller.rb +8 -0
  34. data/app/controllers/decidim/admin/categories_controller.rb +90 -0
  35. data/app/controllers/decidim/admin/concerns/participatory_process_admin.rb +31 -0
  36. data/app/controllers/decidim/admin/features_controller.rb +74 -0
  37. data/app/controllers/decidim/admin/organization_controller.rb +40 -0
  38. data/app/controllers/decidim/admin/participatory_process_attachments_controller.rb +84 -0
  39. data/app/controllers/decidim/admin/participatory_process_publications_controller.rb +2 -7
  40. data/app/controllers/decidim/admin/participatory_process_step_activations_controller.rb +6 -8
  41. data/app/controllers/decidim/admin/participatory_process_step_ordering_controller.rb +2 -4
  42. data/app/controllers/decidim/admin/participatory_process_steps_controller.rb +13 -11
  43. data/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +54 -0
  44. data/app/controllers/decidim/admin/participatory_processes_controller.rb +11 -6
  45. data/app/controllers/decidim/admin/scopes_controller.rb +79 -0
  46. data/app/controllers/decidim/admin/static_pages_controller.rb +94 -0
  47. data/app/forms/decidim/admin/category_form.rb +37 -0
  48. data/app/forms/decidim/admin/feature_form.rb +16 -0
  49. data/app/forms/decidim/admin/organization_form.rb +31 -0
  50. data/app/forms/decidim/admin/participatory_process_attachment_form.rb +19 -0
  51. data/app/forms/decidim/admin/participatory_process_form.rb +4 -7
  52. data/app/forms/decidim/admin/participatory_process_step_form.rb +12 -2
  53. data/app/forms/decidim/admin/participatory_process_user_role_form.rb +15 -0
  54. data/app/forms/decidim/admin/scope_form.rb +24 -0
  55. data/app/forms/decidim/admin/static_page_form.rb +30 -0
  56. data/app/helpers/decidim/admin/application_helper.rb +1 -0
  57. data/app/helpers/decidim/admin/aria_selected_link_to_helper.rb +28 -0
  58. data/app/helpers/decidim/admin/attributes_display_helper.rb +13 -5
  59. data/app/models/decidim/admin/abilities/admin_user.rb +34 -0
  60. data/app/models/decidim/admin/abilities/base.rb +19 -0
  61. data/app/models/decidim/admin/abilities/participatory_process_admin.rb +51 -0
  62. data/app/models/decidim/admin/participatory_process_user_role.rb +14 -0
  63. data/app/queries/decidim/admin/manageable_participatory_processes_for_user.rb +41 -0
  64. data/app/queries/decidim/admin/process_admin_roles_for_process.rb +35 -0
  65. data/app/views/decidim/admin/categories/_form.html.erb +12 -0
  66. data/app/views/decidim/admin/categories/edit.html.erb +9 -0
  67. data/app/views/decidim/admin/categories/index.html.erb +44 -0
  68. data/app/views/decidim/admin/categories/new.html.erb +9 -0
  69. data/app/views/decidim/admin/categories/show.html.erb +14 -0
  70. data/app/views/decidim/admin/features/_feature.html.erb +20 -0
  71. data/app/views/decidim/admin/features/_form.html.erb +3 -0
  72. data/app/views/decidim/admin/features/index.html.erb +23 -0
  73. data/app/views/decidim/admin/features/new.html.erb +9 -0
  74. data/app/views/decidim/admin/organization/_form.html.erb +23 -0
  75. data/app/views/decidim/admin/organization/edit.html.erb +11 -0
  76. data/app/views/decidim/admin/participatory_process_attachments/_form.html.erb +11 -0
  77. data/app/views/decidim/admin/participatory_process_attachments/edit.html.erb +9 -0
  78. data/app/views/decidim/admin/participatory_process_attachments/index.html.erb +37 -0
  79. data/app/views/decidim/admin/participatory_process_attachments/new.html.erb +9 -0
  80. data/app/views/decidim/admin/participatory_process_attachments/show.html.erb +25 -0
  81. data/app/views/decidim/admin/participatory_process_steps/_form.html.erb +2 -2
  82. data/app/views/decidim/admin/participatory_process_steps/edit.html.erb +1 -3
  83. data/app/views/decidim/admin/participatory_process_steps/{_table.html.erb → index.html.erb} +15 -11
  84. data/app/views/decidim/admin/participatory_process_steps/new.html.erb +1 -3
  85. data/app/views/decidim/admin/participatory_process_steps/show.html.erb +1 -4
  86. data/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +34 -0
  87. data/app/views/decidim/admin/participatory_processes/_form.html.erb +2 -2
  88. data/app/views/decidim/admin/participatory_processes/edit.html.erb +13 -3
  89. data/app/views/decidim/admin/participatory_processes/index.html.erb +5 -14
  90. data/app/views/decidim/admin/participatory_processes/show.html.erb +19 -36
  91. data/app/views/decidim/admin/scopes/_form.html.erb +3 -0
  92. data/app/views/decidim/admin/scopes/edit.html.erb +11 -0
  93. data/app/views/decidim/admin/scopes/index.html.erb +38 -0
  94. data/app/views/decidim/admin/scopes/new.html.erb +11 -0
  95. data/app/views/decidim/admin/static_pages/_form.html.erb +13 -0
  96. data/app/views/decidim/admin/static_pages/edit.html.erb +11 -0
  97. data/app/views/decidim/admin/static_pages/index.html.erb +40 -0
  98. data/app/views/decidim/admin/static_pages/new.html.erb +11 -0
  99. data/app/views/decidim/admin/static_pages/show.html.erb +22 -0
  100. data/app/views/layouts/decidim/admin/_application.html.erb +40 -0
  101. data/app/views/layouts/decidim/admin/_sidebar.html.erb +5 -2
  102. data/app/views/layouts/decidim/admin/application.html.erb +3 -40
  103. data/app/views/layouts/decidim/admin/participatory_process.html.erb +54 -0
  104. data/config/i18n-tasks.yml +3 -2
  105. data/config/locales/ca.yml +138 -6
  106. data/config/locales/en.yml +191 -13
  107. data/config/locales/es.yml +139 -7
  108. data/config/routes.rb +23 -1
  109. data/db/migrate/20161102144648_add_admin_participatory_process_user_roles.rb +15 -0
  110. data/db/seeds.rb +21 -0
  111. data/lib/decidim/admin/engine.rb +10 -3
  112. data/lib/decidim/admin/features/base_controller.rb +33 -0
  113. data/lib/decidim/admin/features.rb +10 -0
  114. data/lib/decidim/admin.rb +1 -0
  115. data/vendor/assets/javascripts/html.sortable.js +691 -0
  116. metadata +98 -33
  117. data/LICENSE.txt +0 -619
  118. data/app/models/decidim/admin/abilities/admin.rb +0 -21
  119. data/vendor/assets/javascripts/html.sortable.min.js +0 -2
data/config/routes.rb CHANGED
@@ -1,16 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
  Decidim::Admin::Engine.routes.draw do
3
3
  constraints(->(request) { Decidim::Admin::OrganizationDashboardConstraint.new(request).matches? }) do
4
+ resource :organization, only: [:edit, :update], controller: "organization"
4
5
  resources :participatory_processes do
5
6
  resource :publish, controller: "participatory_process_publications", only: [:create, :destroy]
6
7
 
7
- resources :steps, controller: "participatory_process_steps", except: :index do
8
+ resources :categories
9
+
10
+ resources :steps, controller: "participatory_process_steps" do
8
11
  resource :activate, controller: "participatory_process_step_activations", only: [:create, :destroy]
9
12
  collection do
10
13
  post :ordering, to: "participatory_process_step_ordering#create"
11
14
  end
12
15
  end
16
+ resources :user_roles, controller: "participatory_process_user_roles", only: [:destroy, :create, :index]
17
+ resources :attachments, controller: "participatory_process_attachments"
18
+ resources :features
13
19
  end
20
+
21
+ scope "/participatory_processes/:participatory_process_id/features/:feature_id/manage" do
22
+ Decidim.feature_manifests.each do |manifest|
23
+ next unless manifest.admin_engine
24
+
25
+ constraints Decidim::CurrentFeature.new(manifest) do
26
+ mount manifest.admin_engine, at: "/", as: "decidim_admin_#{manifest.name}"
27
+ end
28
+ end
29
+
30
+ get "/" => proc { raise "Feature not found" }, as: :manage_feature
31
+ end
32
+
33
+ resources :static_pages
34
+ resources :scopes, except: [:show]
35
+
14
36
  root to: "dashboard#show"
15
37
  end
16
38
  end
@@ -0,0 +1,15 @@
1
+ class AddAdminParticipatoryProcessUserRoles < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :decidim_admin_participatory_process_user_roles do |t|
4
+ t.integer :decidim_user_id
5
+ t.integer :decidim_participatory_process_id
6
+ t.string :role
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :decidim_admin_participatory_process_user_roles,
11
+ [:decidim_participatory_process_id, :decidim_user_id, :role],
12
+ unique: true,
13
+ name: "index_unique_user_and_process_role"
14
+ end
15
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ if !Rails.env.production? || ENV["SEED"]
3
+ staging_organization = Decidim::Organization.order(id: :asc).first
4
+
5
+ process_admin = Decidim::User.create!(
6
+ name: "Process Admin",
7
+ email: "process_admin@decidim.org",
8
+ password: "decidim123456",
9
+ password_confirmation: "decidim123456",
10
+ confirmed_at: Time.current,
11
+ locale: I18n.default_locale,
12
+ organization: staging_organization,
13
+ tos_agreement: true
14
+ )
15
+
16
+ Decidim::Admin::ParticipatoryProcessUserRole.create!(
17
+ user: process_admin,
18
+ participatory_process: Decidim::ParticipatoryProcess.order(id: :asc).first,
19
+ role: "admin"
20
+ )
21
+ end
@@ -6,26 +6,33 @@ require "devise"
6
6
  require "devise-i18n"
7
7
  require "decidim/core"
8
8
  require "jquery-rails"
9
- require "sass-rails"
9
+ require "sassc-rails"
10
10
  require "turbolinks"
11
11
  require "foundation-rails"
12
12
  require "foundation_rails_helper"
13
- require "jbuilder"
14
13
  require "rectify"
15
14
 
15
+ require_dependency File.join(File.dirname(__FILE__), "..", "..", "..", "app/models/decidim/admin/abilities/admin_user")
16
+
16
17
  module Decidim
17
18
  module Admin
18
19
  # Decidim's core Rails Engine.
19
20
  class Engine < ::Rails::Engine
20
21
  isolate_namespace Decidim::Admin
21
22
 
23
+ initializer "decidim_admin.mount_routes" do |_app|
24
+ Decidim::Core::Engine.routes do
25
+ mount Decidim::Admin::Engine => "/admin"
26
+ end
27
+ end
28
+
22
29
  initializer "decidim_admin.assets" do |app|
23
30
  app.config.assets.precompile += %w(decidim_admin_manifest.js)
24
31
  end
25
32
 
26
33
  initializer "decidim_admin.inject_abilities_to_user" do |_app|
27
34
  Decidim.configure do |config|
28
- config.abilities += [Decidim::Admin::Abilities::Admin]
35
+ config.abilities += [Decidim::Admin::Abilities::AdminUser]
29
36
  end
30
37
  end
31
38
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+ module Decidim
3
+ module Admin
4
+ module Features
5
+ # This controller is the abstract class from which all feature
6
+ # controllers in their admin engines should inherit from.
7
+ class BaseController < Admin::ApplicationController
8
+ skip_authorize_resource
9
+ include Concerns::ParticipatoryProcessAdmin
10
+ include NeedsParticipatoryProcess
11
+ helper_method :current_feature, :current_participatory_process, :parent_path
12
+
13
+ before_action do
14
+ authorize! :manage, current_feature
15
+ end
16
+
17
+ private
18
+
19
+ def current_feature
20
+ request.env["decidim.current_feature"]
21
+ end
22
+
23
+ def current_participatory_process
24
+ request.env["decidim.current_participatory_process"]
25
+ end
26
+
27
+ def parent_path
28
+ decidim_admin.participatory_process_features_path(current_participatory_process)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ module Decidim
3
+ module Admin
4
+ # This module contains all logic related to Features and how they're handled
5
+ # at the admin panel level.
6
+ module Features
7
+ autoload :BaseController, "decidim/admin/features/base_controller"
8
+ end
9
+ end
10
+ end
data/lib/decidim/admin.rb CHANGED
@@ -8,5 +8,6 @@ module Decidim
8
8
  # eye view of the whole admin.
9
9
  #
10
10
  module Admin
11
+ autoload :Features, "decidim/admin/features"
11
12
  end
12
13
  end