decidim-department_admin 0.7.2

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.
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