decidim-department_admin 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +132 -0
  4. data/Rakefile +9 -0
  5. data/app/controllers/decidim/department_admin/admin/application_controller.rb +15 -0
  6. data/app/controllers/decidim/department_admin/application_controller.rb +13 -0
  7. data/app/decorators/decidim/admin/newsletters_controller_decorator.rb +30 -0
  8. data/app/decorators/decidim/admin/users_controller_decorator.rb +128 -0
  9. data/app/decorators/decidim/area_decorator.rb +44 -0
  10. data/app/decorators/decidim/assemblies/admin/assemblies_controller_decorator.rb +25 -0
  11. data/app/decorators/decidim/assemblies/admin/assemblies_helper_decorator.rb +24 -0
  12. data/app/decorators/decidim/assemblies/create_assembly_decorator.rb +19 -0
  13. data/app/decorators/decidim/assemblies/parent_assemblies_for_select_decorator.rb +38 -0
  14. data/app/decorators/decidim/assemblies/permissions_decorator.rb +22 -0
  15. data/app/decorators/decidim/assemblies/update_assembly_decorator.rb +19 -0
  16. data/app/decorators/decidim/assemblies_decorator.rb +21 -0
  17. data/app/decorators/decidim/assemblies_with_user_role_decorator.rb +27 -0
  18. data/app/decorators/decidim/conference_form_decorator.rb +23 -0
  19. data/app/decorators/decidim/conferences/admin/conferences_controller_decorator.rb +27 -0
  20. data/app/decorators/decidim/conferences/create_conference_decorator.rb +51 -0
  21. data/app/decorators/decidim/conferences/permissions_decorator.rb +24 -0
  22. data/app/decorators/decidim/conferences/update_conference_decorator.rb +21 -0
  23. data/app/decorators/decidim/conferences_decorator.rb +27 -0
  24. data/app/decorators/decidim/conferences_with_user_role_decorator.rb +29 -0
  25. data/app/decorators/decidim/decidim_form_helper_decorator.rb +23 -0
  26. data/app/decorators/decidim/invite_user_decorator.rb +56 -0
  27. data/app/decorators/decidim/invite_user_form_decorator.rb +45 -0
  28. data/app/decorators/decidim/newsletter_decorator.rb +20 -0
  29. data/app/decorators/decidim/newsletters_helper_decorator.rb +44 -0
  30. data/app/decorators/decidim/participatory_process_decorator.rb +21 -0
  31. data/app/decorators/decidim/participatory_process_group_decorator.rb +17 -0
  32. data/app/decorators/decidim/participatory_processes/admin/participatory_processes_controller_decorator.rb +25 -0
  33. data/app/decorators/decidim/participatory_processes/create_participatory_process_decorator.rb +19 -0
  34. data/app/decorators/decidim/participatory_processes/permissions_decorator.rb +22 -0
  35. data/app/decorators/decidim/participatory_processes/update_participatory_process_decorator.rb +19 -0
  36. data/app/decorators/decidim/participatory_processes_with_user_role_decorator.rb +27 -0
  37. data/app/decorators/decidim/user_decorator.rb +59 -0
  38. data/app/decorators/lib/decidim/participatory_space_resourceable_decorator.rb +36 -0
  39. data/app/helpers/decidim/admin/user_roles_helper.rb +25 -0
  40. data/app/helpers/decidim/department_admin/application_helper.rb +54 -0
  41. data/app/models/decidim/participatory_space_role_config/department_admin.rb +8 -0
  42. data/app/overrides/decidim/admin/shared/add_radio_buttons_to_filters.rb +6 -0
  43. data/app/packs/entrypoints/decidim_department_admin.js +4 -0
  44. data/app/packs/entrypoints/decidim_department_admin.scss +1 -0
  45. data/app/packs/images/decidim/department_admin/icon.svg +1 -0
  46. data/app/packs/stylesheets/decidim/admin/department_admin.scss +5 -0
  47. data/app/permissions/decidim/assemblies/participatory_space_permissions.rb +14 -0
  48. data/app/permissions/decidim/conferences/participatory_space_permissions.rb +17 -0
  49. data/app/permissions/decidim/department_admin/permissions.rb +240 -0
  50. data/app/permissions/decidim/participatory_processes/participatory_space_permissions.rb +14 -0
  51. data/app/queries/decidim/admin/user_admin_by_space_name_filter.rb +67 -0
  52. data/app/queries/decidim/admin/user_admin_filter.rb +50 -0
  53. data/app/views/decidim/admin/users/_filters.html.erb +28 -0
  54. data/app/views/decidim/admin/users/_form.html.erb +30 -0
  55. data/app/views/decidim/admin/users/index.html.erb +93 -0
  56. data/app/views/decidim/admin/users/show.html.erb +99 -0
  57. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +147 -0
  58. data/app/views/decidim/conferences/admin/conferences/_form.html.erb +127 -0
  59. data/app/views/decidim/conferences/admin/conferences/index.html.erb +85 -0
  60. data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +160 -0
  61. data/config/assets.rb +27 -0
  62. data/config/i18n-tasks.yml +148 -0
  63. data/config/initializers/user_roles.rb +4 -0
  64. data/config/locales/ca.yml +61 -0
  65. data/config/locales/cs.yml +46 -0
  66. data/config/locales/en.yml +61 -0
  67. data/config/locales/es.yml +61 -0
  68. data/db/migrate/20190328130102_create_department_admin_areas.rb +10 -0
  69. data/db/migrate/20210420143021_add_area_to_conferences.rb +7 -0
  70. data/lib/decidim/department_admin/admin.rb +10 -0
  71. data/lib/decidim/department_admin/admin_engine.rb +27 -0
  72. data/lib/decidim/department_admin/engine.rb +137 -0
  73. data/lib/decidim/department_admin/test/factories.rb +17 -0
  74. data/lib/decidim/department_admin/version.rb +11 -0
  75. data/lib/decidim/department_admin.rb +15 -0
  76. data/spec/commands/decidim/admin/deliver_newsletter_spec.rb +175 -0
  77. data/spec/commands/decidim/invite_user_spec.rb +42 -0
  78. data/spec/controllers/decidim/admin/users_controller_spec.rb +119 -0
  79. data/spec/factories.rb +4 -0
  80. data/spec/features/check_overrides_spec.rb +11 -0
  81. data/spec/i18n_spec.rb +29 -0
  82. data/spec/models/decidim/area_spec.rb +23 -0
  83. data/spec/permissions/decidim/department_admin/department_admin_permissions_spec.rb +120 -0
  84. data/spec/queries/parent_assemblies_for_select_spec.rb +52 -0
  85. data/spec/spec_helper.rb +47 -0
  86. data/spec/system/admin_explores_processes_spec.rb +53 -0
  87. data/spec/system/admin_invite_department_admin_spec.rb +118 -0
  88. data/spec/system/department_admin_manages_newsletters_spec.rb +237 -0
  89. data/spec/system/department_admin_should_be_able_to_access_admin_dashboard_spec.rb +75 -0
  90. data/spec/system/department_admin_should_be_able_to_manage_assemblies_spec.rb +99 -0
  91. data/spec/system/department_admin_should_be_able_to_manage_conferences_spec.rb +74 -0
  92. data/spec/system/department_admin_should_be_able_to_manage_processes_spec.rb +117 -0
  93. data/spec/system/department_admin_should_be_able_to_see_only_assemblies_from_her_area_spec.rb +46 -0
  94. data/spec/system/department_admin_should_be_able_to_see_only_newsletters_from_her_area_spec.rb +53 -0
  95. data/spec/system/department_admin_should_be_able_to_see_only_processes_from_her_area_spec.rb +50 -0
  96. metadata +229 -0
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe "Admin manages participatory processes", versioning: true, type: :system do
6
+ let(:organization) { create(:organization) }
7
+ let(:area) { create(:area, organization: organization) }
8
+ let(:department_admin) { create(:department_admin, :confirmed, organization: organization, area: area) }
9
+
10
+ let!(:participatory_process_groups) do
11
+ create_list(:participatory_process_group, 3, organization: organization)
12
+ end
13
+
14
+ before do
15
+ switch_to_host(organization.host)
16
+ login_as department_admin, scope: :user
17
+ visit decidim_admin_participatory_processes.participatory_processes_path
18
+ end
19
+
20
+ # it_behaves_like "manage processes examples"
21
+ # it_behaves_like "manage processes announcements"
22
+
23
+ context "with processes" do
24
+ let!(:participatory_process) { create(:participatory_process, organization: organization, area: area, participatory_process_group: participatory_process_groups.first) }
25
+
26
+ it "browses the list of processes" do
27
+ visit decidim_admin_participatory_processes.participatory_processes_path
28
+ expect(page).to have_content(translated(participatory_process.title))
29
+ end
30
+ end
31
+
32
+ context "when creating a participatory process" do
33
+ let(:image1_filename) { "city.jpeg" }
34
+ let(:image1_path) { Decidim::Dev.asset(image1_filename) }
35
+
36
+ let(:image2_filename) { "city2.jpeg" }
37
+ let(:image2_path) { Decidim::Dev.asset(image2_filename) }
38
+
39
+ before do
40
+ click_link "New process"
41
+ end
42
+
43
+ it "creates a new participatory process with department admin's area" do
44
+ within ".new_participatory_process" do
45
+ fill_in_i18n(
46
+ :participatory_process_title,
47
+ "#participatory_process-title-tabs",
48
+ en: "My participatory process",
49
+ es: "Mi proceso participativo",
50
+ ca: "El meu procés participatiu"
51
+ )
52
+ fill_in_i18n(
53
+ :participatory_process_subtitle,
54
+ "#participatory_process-subtitle-tabs",
55
+ en: "Subtitle",
56
+ es: "Subtítulo",
57
+ ca: "Subtítol"
58
+ )
59
+ fill_in_i18n_editor(
60
+ :participatory_process_short_description,
61
+ "#participatory_process-short_description-tabs",
62
+ en: "Short description",
63
+ es: "Descripción corta",
64
+ ca: "Descripció curta"
65
+ )
66
+ fill_in_i18n_editor(
67
+ :participatory_process_description,
68
+ "#participatory_process-description-tabs",
69
+ en: "A longer description",
70
+ es: "Descripción más larga",
71
+ ca: "Descripció més llarga"
72
+ )
73
+
74
+ group_name = participatory_process_groups.first.title["en"]
75
+ select group_name, from: :participatory_process_participatory_process_group_id
76
+
77
+ fill_in :participatory_process_slug, with: "slug"
78
+ fill_in :participatory_process_hashtag, with: "#hashtag"
79
+ end
80
+
81
+ dynamically_attach_file(:participatory_process_hero_image, image1_path)
82
+ dynamically_attach_file(:participatory_process_banner_image, image2_path)
83
+
84
+ within ".new_participatory_process" do
85
+ find("*[type=submit]").click
86
+ end
87
+
88
+ expect(page).to have_admin_callout("successfully")
89
+ expect(Decidim::ParticipatoryProcess.last.area).to eq(area)
90
+
91
+ within ".container" do
92
+ expect(page).to have_current_path decidim_admin_participatory_processes.participatory_process_steps_path(Decidim::ParticipatoryProcess.last)
93
+ expect(page).to have_content("Phases")
94
+ expect(page).to have_content("Introduction")
95
+ end
96
+ end
97
+ end
98
+
99
+ context "when updating a participatory process" do
100
+ let!(:participatory_process_3) { create(:participatory_process, organization: organization, area: area) }
101
+
102
+ before do
103
+ visit decidim_admin_participatory_processes.participatory_processes_path
104
+ end
105
+
106
+ it "update a participatory process without images does not delete them" do
107
+ click_link translated(participatory_process_3.title)
108
+ click_submenu_link "Info"
109
+ click_button "Update"
110
+
111
+ expect(participatory_process_3.reload.area).to eq(area)
112
+ expect(page).to have_admin_callout("successfully")
113
+ expect(page).to have_css("img[src*='#{participatory_process_3.attached_uploader(:hero_image).path}']")
114
+ expect(page).to have_css("img[src*='#{participatory_process_3.attached_uploader(:banner_image).path}']")
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe "Admin manages assemblies", versioning: true, type: :system do
6
+ let(:organization) { create(:organization) }
7
+ let(:area) { create(:area) }
8
+ let(:department_admin) { create(:department_admin, :confirmed, organization: organization, area: area) }
9
+
10
+ let!(:assembly_w_area) { create(:assembly, organization: organization, area: area) }
11
+ let!(:assembly_wo_area) { create(:assembly, organization: organization) }
12
+
13
+ def visit_admin_assemblies_list
14
+ switch_to_host(organization.host)
15
+ login_as department_admin, scope: :user
16
+ visit decidim_admin_assemblies.assemblies_path
17
+ end
18
+
19
+ it "sees the import button" do
20
+ visit_admin_assemblies_list
21
+ expect(page).to have_content("Import")
22
+ end
23
+
24
+ it "sees the export button" do
25
+ visit_admin_assemblies_list
26
+ expect(page).to have_css(".icon--data-transfer-download")
27
+ end
28
+
29
+ it "sees only processes in the same area" do
30
+ visit_admin_assemblies_list
31
+ expect(page).to have_content(assembly_w_area.title["en"])
32
+ expect(page).not_to have_content(assembly_wo_area.title["en"])
33
+ end
34
+
35
+ context "when department_admin has a user_role in an assembly_wo_area" do
36
+ let!(:assembly_user_role) do
37
+ create(:assembly_user_role, user: department_admin, assembly: assembly_wo_area)
38
+ end
39
+
40
+ it "sees both assemblies" do
41
+ visit_admin_assemblies_list
42
+ expect(page).to have_content(assembly_w_area.title["en"])
43
+ expect(page).to have_content(assembly_wo_area.title["en"])
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe "Admin manages newsletters", versioning: true, type: :system do
6
+ let(:organization) { create(:organization) }
7
+ let(:area) { create(:area) }
8
+ let(:admin) { create(:user, :admin, :confirmed, organization: organization) }
9
+ let(:department_admin) { create(:department_admin, :confirmed, organization: organization, area: area) }
10
+
11
+ let!(:newsletter_w_area) do
12
+ create(:newsletter,
13
+ organization: organization,
14
+ subject: {
15
+ en: "A fancy newsletter for %{name}",
16
+ es: "Un correo electrónico muy chulo para %{name}",
17
+ ca: "Un correu electrònic flipant per a %{name}",
18
+ },
19
+ body: {
20
+ en: "Hello %{name}! Relevant content.",
21
+ es: "Hola, %{name}! Contenido relevante.",
22
+ ca: "Hola, %{name}! Contingut rellevant.",
23
+ },
24
+ author: department_admin)
25
+ end
26
+
27
+ let!(:newsletter_wo_area) do
28
+ create(:newsletter,
29
+ organization: organization,
30
+ subject: {
31
+ en: "A fancy newsletter for %{name} without area",
32
+ es: "Un correo electrónico muy chulo para %{name} sin area",
33
+ ca: "Un correu electrònic flipant per a %{name} sense area",
34
+ },
35
+ body: {
36
+ en: "Hello %{name}! Relevant content.",
37
+ es: "Hola, %{name}! Contenido relevante.",
38
+ ca: "Hola, %{name}! Contingut rellevant.",
39
+ },
40
+ author: admin)
41
+ end
42
+
43
+ before do
44
+ switch_to_host(organization.host)
45
+ login_as department_admin, scope: :user
46
+ visit decidim_admin.newsletters_path
47
+ end
48
+
49
+ it "sees only newsletters in the same area" do
50
+ expect(page).to have_content(newsletter_w_area.subject["en"])
51
+ expect(page).not_to have_content(newsletter_wo_area.subject["en"])
52
+ end
53
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe "Admin manages participatory processes", versioning: true, type: :system do
6
+ let(:organization) { create(:organization) }
7
+ let(:area) { create(:area) }
8
+ let(:department_admin) { create(:department_admin, :confirmed, organization: organization, area: area) }
9
+
10
+ let!(:participatory_process_w_area) do
11
+ create(:participatory_process, organization: organization, area: area)
12
+ end
13
+ let!(:participatory_process_wo_area) do
14
+ create(:participatory_process, organization: organization)
15
+ end
16
+
17
+ def visit_admin_processes_list
18
+ switch_to_host(organization.host)
19
+ login_as department_admin, scope: :user
20
+ visit decidim_admin_participatory_processes.participatory_processes_path
21
+ end
22
+
23
+ it "sees the import button" do
24
+ visit_admin_processes_list
25
+ expect(page).to have_content("Import")
26
+ end
27
+
28
+ it "sees the export button" do
29
+ visit_admin_processes_list
30
+ expect(page).to have_css(".icon--data-transfer-download")
31
+ end
32
+
33
+ it "sees only processes in the same area" do
34
+ visit_admin_processes_list
35
+ expect(page).to have_content(participatory_process_w_area.title["en"])
36
+ expect(page).not_to have_content(participatory_process_wo_area.title["en"])
37
+ end
38
+
39
+ context "when department_admin has a user_role in a participatory_process_wo_area" do
40
+ let!(:participatory_process_user_role) do
41
+ create(:participatory_process_user_role, user: department_admin, participatory_process: participatory_process_wo_area)
42
+ end
43
+
44
+ it "sees both processes" do
45
+ visit_admin_processes_list
46
+ expect(page).to have_content(participatory_process_w_area.title["en"])
47
+ expect(page).to have_content(participatory_process_wo_area.title["en"])
48
+ end
49
+ end
50
+ end
metadata ADDED
@@ -0,0 +1,229 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: decidim-department_admin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.2
5
+ platform: ruby
6
+ authors:
7
+ - Oliver Valls
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-11-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: decidim-admin
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.27.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.27.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: decidim-core
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.27.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.27.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: decidim
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.27.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.27.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: decidim-conferences
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.27.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.27.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: decidim-dev
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.27.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.27.0
83
+ description: This Dedicim's module produces a new "department admin" role which restricts
84
+ the permissions of an Admin into participatory spaces of a given Area.
85
+ email:
86
+ - oliver.vh@coditramuntana.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - LICENSE-AGPLv3.txt
92
+ - README.md
93
+ - Rakefile
94
+ - app/controllers/decidim/department_admin/admin/application_controller.rb
95
+ - app/controllers/decidim/department_admin/application_controller.rb
96
+ - app/decorators/decidim/admin/newsletters_controller_decorator.rb
97
+ - app/decorators/decidim/admin/users_controller_decorator.rb
98
+ - app/decorators/decidim/area_decorator.rb
99
+ - app/decorators/decidim/assemblies/admin/assemblies_controller_decorator.rb
100
+ - app/decorators/decidim/assemblies/admin/assemblies_helper_decorator.rb
101
+ - app/decorators/decidim/assemblies/create_assembly_decorator.rb
102
+ - app/decorators/decidim/assemblies/parent_assemblies_for_select_decorator.rb
103
+ - app/decorators/decidim/assemblies/permissions_decorator.rb
104
+ - app/decorators/decidim/assemblies/update_assembly_decorator.rb
105
+ - app/decorators/decidim/assemblies_decorator.rb
106
+ - app/decorators/decidim/assemblies_with_user_role_decorator.rb
107
+ - app/decorators/decidim/conference_form_decorator.rb
108
+ - app/decorators/decidim/conferences/admin/conferences_controller_decorator.rb
109
+ - app/decorators/decidim/conferences/create_conference_decorator.rb
110
+ - app/decorators/decidim/conferences/permissions_decorator.rb
111
+ - app/decorators/decidim/conferences/update_conference_decorator.rb
112
+ - app/decorators/decidim/conferences_decorator.rb
113
+ - app/decorators/decidim/conferences_with_user_role_decorator.rb
114
+ - app/decorators/decidim/decidim_form_helper_decorator.rb
115
+ - app/decorators/decidim/invite_user_decorator.rb
116
+ - app/decorators/decidim/invite_user_form_decorator.rb
117
+ - app/decorators/decidim/newsletter_decorator.rb
118
+ - app/decorators/decidim/newsletters_helper_decorator.rb
119
+ - app/decorators/decidim/participatory_process_decorator.rb
120
+ - app/decorators/decidim/participatory_process_group_decorator.rb
121
+ - app/decorators/decidim/participatory_processes/admin/participatory_processes_controller_decorator.rb
122
+ - app/decorators/decidim/participatory_processes/create_participatory_process_decorator.rb
123
+ - app/decorators/decidim/participatory_processes/permissions_decorator.rb
124
+ - app/decorators/decidim/participatory_processes/update_participatory_process_decorator.rb
125
+ - app/decorators/decidim/participatory_processes_with_user_role_decorator.rb
126
+ - app/decorators/decidim/user_decorator.rb
127
+ - app/decorators/lib/decidim/participatory_space_resourceable_decorator.rb
128
+ - app/helpers/decidim/admin/user_roles_helper.rb
129
+ - app/helpers/decidim/department_admin/application_helper.rb
130
+ - app/models/decidim/participatory_space_role_config/department_admin.rb
131
+ - app/overrides/decidim/admin/shared/add_radio_buttons_to_filters.rb
132
+ - app/packs/entrypoints/decidim_department_admin.js
133
+ - app/packs/entrypoints/decidim_department_admin.scss
134
+ - app/packs/images/decidim/department_admin/icon.svg
135
+ - app/packs/stylesheets/decidim/admin/department_admin.scss
136
+ - app/permissions/decidim/assemblies/participatory_space_permissions.rb
137
+ - app/permissions/decidim/conferences/participatory_space_permissions.rb
138
+ - app/permissions/decidim/department_admin/permissions.rb
139
+ - app/permissions/decidim/participatory_processes/participatory_space_permissions.rb
140
+ - app/queries/decidim/admin/user_admin_by_space_name_filter.rb
141
+ - app/queries/decidim/admin/user_admin_filter.rb
142
+ - app/views/decidim/admin/users/_filters.html.erb
143
+ - app/views/decidim/admin/users/_form.html.erb
144
+ - app/views/decidim/admin/users/index.html.erb
145
+ - app/views/decidim/admin/users/show.html.erb
146
+ - app/views/decidim/assemblies/admin/assemblies/index.html.erb
147
+ - app/views/decidim/conferences/admin/conferences/_form.html.erb
148
+ - app/views/decidim/conferences/admin/conferences/index.html.erb
149
+ - app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb
150
+ - config/assets.rb
151
+ - config/i18n-tasks.yml
152
+ - config/initializers/user_roles.rb
153
+ - config/locales/ca.yml
154
+ - config/locales/cs.yml
155
+ - config/locales/en.yml
156
+ - config/locales/es.yml
157
+ - db/migrate/20190328130102_create_department_admin_areas.rb
158
+ - db/migrate/20210420143021_add_area_to_conferences.rb
159
+ - lib/decidim/department_admin.rb
160
+ - lib/decidim/department_admin/admin.rb
161
+ - lib/decidim/department_admin/admin_engine.rb
162
+ - lib/decidim/department_admin/engine.rb
163
+ - lib/decidim/department_admin/test/factories.rb
164
+ - lib/decidim/department_admin/version.rb
165
+ - spec/commands/decidim/admin/deliver_newsletter_spec.rb
166
+ - spec/commands/decidim/invite_user_spec.rb
167
+ - spec/controllers/decidim/admin/users_controller_spec.rb
168
+ - spec/factories.rb
169
+ - spec/features/check_overrides_spec.rb
170
+ - spec/i18n_spec.rb
171
+ - spec/models/decidim/area_spec.rb
172
+ - spec/permissions/decidim/department_admin/department_admin_permissions_spec.rb
173
+ - spec/queries/parent_assemblies_for_select_spec.rb
174
+ - spec/spec_helper.rb
175
+ - spec/system/admin_explores_processes_spec.rb
176
+ - spec/system/admin_invite_department_admin_spec.rb
177
+ - spec/system/department_admin_manages_newsletters_spec.rb
178
+ - spec/system/department_admin_should_be_able_to_access_admin_dashboard_spec.rb
179
+ - spec/system/department_admin_should_be_able_to_manage_assemblies_spec.rb
180
+ - spec/system/department_admin_should_be_able_to_manage_conferences_spec.rb
181
+ - spec/system/department_admin_should_be_able_to_manage_processes_spec.rb
182
+ - spec/system/department_admin_should_be_able_to_see_only_assemblies_from_her_area_spec.rb
183
+ - spec/system/department_admin_should_be_able_to_see_only_newsletters_from_her_area_spec.rb
184
+ - spec/system/department_admin_should_be_able_to_see_only_processes_from_her_area_spec.rb
185
+ homepage: https://github.com/decidim/decidim-module-department_admin
186
+ licenses:
187
+ - AGPL-3.0
188
+ metadata:
189
+ rubygems_mfa_required: 'true'
190
+ post_install_message:
191
+ rdoc_options: []
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: 3.0.7
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ requirements: []
205
+ rubygems_version: 3.2.33
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: A decidim department_admin module
209
+ test_files:
210
+ - spec/commands/decidim/admin/deliver_newsletter_spec.rb
211
+ - spec/commands/decidim/invite_user_spec.rb
212
+ - spec/controllers/decidim/admin/users_controller_spec.rb
213
+ - spec/factories.rb
214
+ - spec/features/check_overrides_spec.rb
215
+ - spec/i18n_spec.rb
216
+ - spec/models/decidim/area_spec.rb
217
+ - spec/permissions/decidim/department_admin/department_admin_permissions_spec.rb
218
+ - spec/queries/parent_assemblies_for_select_spec.rb
219
+ - spec/spec_helper.rb
220
+ - spec/system/admin_explores_processes_spec.rb
221
+ - spec/system/admin_invite_department_admin_spec.rb
222
+ - spec/system/department_admin_manages_newsletters_spec.rb
223
+ - spec/system/department_admin_should_be_able_to_access_admin_dashboard_spec.rb
224
+ - spec/system/department_admin_should_be_able_to_manage_assemblies_spec.rb
225
+ - spec/system/department_admin_should_be_able_to_manage_conferences_spec.rb
226
+ - spec/system/department_admin_should_be_able_to_manage_processes_spec.rb
227
+ - spec/system/department_admin_should_be_able_to_see_only_assemblies_from_her_area_spec.rb
228
+ - spec/system/department_admin_should_be_able_to_see_only_newsletters_from_her_area_spec.rb
229
+ - spec/system/department_admin_should_be_able_to_see_only_processes_from_her_area_spec.rb