decidim-admin 0.23.2 → 0.24.0

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-admin might be problematic. Click here for more details.

Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_admin_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/admin/application.js.es6 +3 -1
  4. data/app/assets/javascripts/decidim/admin/budget_rule_toggler.component.js.es6 +23 -20
  5. data/app/assets/javascripts/decidim/admin/bundle.js +10 -17
  6. data/app/assets/javascripts/decidim/admin/bundle.js.map +1 -1
  7. data/app/assets/javascripts/decidim/admin/form.js.es6 +1 -0
  8. data/app/assets/javascripts/decidim/admin/import_guidance.js.es6 +29 -0
  9. data/app/assets/javascripts/decidim/admin/moderations.js.es6 +24 -0
  10. data/app/assets/javascripts/decidim/admin/proposal_infinite_edit.js.es6 +20 -0
  11. data/app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6 +2 -2
  12. data/app/assets/javascripts/decidim/admin/subform_toggler.component.js.es6 +2 -2
  13. data/app/assets/javascripts/decidim/admin/user_moderations.js +2 -0
  14. data/app/assets/stylesheets/decidim/admin/_variables.scss +9 -0
  15. data/app/assets/stylesheets/decidim/admin/components/_dropdown-menu.scss +3 -0
  16. data/app/assets/stylesheets/decidim/admin/extra/_action-icon.scss +13 -0
  17. data/app/assets/stylesheets/decidim/admin/extra/_block_user.scss +5 -0
  18. data/app/assets/stylesheets/decidim/admin/extra/_title_bar.scss +1 -0
  19. data/app/assets/stylesheets/decidim/admin/modules/_moderations.scss +39 -0
  20. data/app/assets/stylesheets/decidim/admin/modules/_modules.scss +2 -0
  21. data/app/assets/stylesheets/decidim/admin/modules/_reveal.scss +5 -0
  22. data/app/assets/stylesheets/decidim/admin/modules/_secondary-nav.scss +6 -3
  23. data/app/assets/stylesheets/decidim/admin/modules/_user-login.scss +2 -2
  24. data/app/assets/stylesheets/decidim/admin/user_moderations.scss +3 -0
  25. data/app/assets/stylesheets/decidim/admin/utils/_settings.scss +1 -0
  26. data/app/cells/decidim/admin/content_block/show.erb +1 -1
  27. data/app/cells/decidim/admin/content_block_cell.rb +4 -0
  28. data/app/commands/decidim/admin/block_user.rb +70 -0
  29. data/app/commands/decidim/admin/create_import.rb +29 -0
  30. data/app/commands/decidim/admin/create_participatory_space_admin_user_actions.rb +98 -0
  31. data/app/commands/decidim/admin/create_participatory_space_private_user.rb +1 -1
  32. data/app/commands/decidim/admin/create_static_page.rb +2 -1
  33. data/app/commands/decidim/admin/hide_resource.rb +21 -0
  34. data/app/commands/decidim/admin/impersonate_user.rb +17 -1
  35. data/app/commands/decidim/admin/promote_managed_user.rb +10 -0
  36. data/app/commands/decidim/admin/reorder_content_blocks.rb +6 -3
  37. data/app/commands/decidim/admin/transfer_user.rb +78 -0
  38. data/app/commands/decidim/admin/unblock_user.rb +48 -0
  39. data/app/commands/decidim/admin/unreport_user.rb +46 -0
  40. data/app/commands/decidim/admin/update_organization_appearance.rb +12 -4
  41. data/app/commands/decidim/admin/update_static_page.rb +2 -1
  42. data/app/commands/decidim/admin/verify_user_group.rb +1 -1
  43. data/app/controllers/concerns/decidim/admin/filterable.rb +1 -1
  44. data/app/controllers/concerns/decidim/admin/global_moderation_context.rb +47 -0
  45. data/app/controllers/concerns/decidim/admin/landing_page.rb +105 -0
  46. data/app/controllers/concerns/decidim/admin/landing_page_content_blocks.rb +118 -0
  47. data/app/controllers/concerns/decidim/moderations/admin/filterable.rb +54 -0
  48. data/app/controllers/decidim/admin/block_user_controller.rb +60 -0
  49. data/app/controllers/decidim/admin/components/base_controller.rb +1 -0
  50. data/app/controllers/decidim/admin/conflicts_controller.rb +46 -0
  51. data/app/controllers/decidim/admin/exports_controller.rb +1 -2
  52. data/app/controllers/decidim/admin/global_moderations/reports_controller.rb +18 -0
  53. data/app/controllers/decidim/admin/global_moderations_controller.rb +32 -0
  54. data/app/controllers/decidim/admin/impersonations_controller.rb +1 -1
  55. data/app/controllers/decidim/admin/imports_controller.rb +52 -0
  56. data/app/controllers/decidim/admin/moderated_users_controller.rb +44 -0
  57. data/app/controllers/decidim/admin/moderations/reports_controller.rb +39 -0
  58. data/app/controllers/decidim/admin/moderations_controller.rb +31 -7
  59. data/app/controllers/decidim/admin/officializations_controller.rb +3 -3
  60. data/app/controllers/decidim/admin/organization_homepage_controller.rb +6 -2
  61. data/app/controllers/decidim/admin/static_pages_controller.rb +7 -0
  62. data/app/events/decidim/resource_hidden_event.rb +37 -0
  63. data/app/forms/decidim/admin/block_user_form.rb +25 -0
  64. data/app/forms/decidim/admin/import_form.rb +85 -0
  65. data/app/forms/decidim/admin/organization_appearance_form.rb +1 -2
  66. data/app/forms/decidim/admin/static_page_form.rb +6 -1
  67. data/app/forms/decidim/admin/transfer_user_form.rb +19 -0
  68. data/app/helpers/decidim/admin/admin_terms_helper.rb +0 -7
  69. data/app/helpers/decidim/admin/application_helper.rb +5 -4
  70. data/app/helpers/decidim/admin/exports_helper.rb +2 -2
  71. data/app/helpers/decidim/admin/filterable_helper.rb +3 -2
  72. data/app/helpers/decidim/admin/imports_helper.rb +43 -0
  73. data/app/helpers/decidim/admin/menu_helper.rb +10 -0
  74. data/app/helpers/decidim/admin/moderations/reports_helper.rb +40 -0
  75. data/app/helpers/decidim/admin/moderations_helper.rb +36 -0
  76. data/app/helpers/decidim/admin/newsletters_helper.rb +4 -10
  77. data/app/helpers/decidim/admin/settings_helper.rb +2 -1
  78. data/app/helpers/decidim/admin/sidebar_menu_helper.rb +13 -0
  79. data/app/helpers/decidim/admin/user_moderations_helper.rb +6 -0
  80. data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +1 -1
  81. data/app/jobs/decidim/admin/verify_user_group_from_csv_job.rb +1 -1
  82. data/app/permissions/decidim/admin/permissions.rb +7 -6
  83. data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +1 -1
  84. data/app/presenters/decidim/admin/secondary_menu_presenter.rb +26 -0
  85. data/app/queries/decidim/admin/active_users_counter.rb +1 -2
  86. data/app/queries/decidim/admin/user_filter.rb +1 -2
  87. data/app/views/decidim/admin/admin_terms/show.html.erb +1 -1
  88. data/app/views/decidim/admin/attachment_collections/index.html.erb +1 -1
  89. data/app/views/decidim/admin/attachments/index.html.erb +1 -1
  90. data/app/views/decidim/admin/block_user/new.html.erb +22 -0
  91. data/app/views/decidim/admin/categories/index.html.erb +1 -1
  92. data/app/views/decidim/admin/components/_component.html.erb +12 -0
  93. data/app/views/decidim/admin/components/_form.html.erb +1 -1
  94. data/app/views/decidim/admin/conflicts/edit.html.erb +46 -0
  95. data/app/views/decidim/admin/conflicts/index.html.erb +34 -0
  96. data/app/views/decidim/admin/dashboard/show.html.erb +2 -1
  97. data/app/views/decidim/admin/exports/_dropdown.html.erb +1 -1
  98. data/app/views/decidim/admin/imports/_dropdown.html.erb +9 -0
  99. data/app/views/decidim/admin/imports/new.html.erb +57 -0
  100. data/app/views/decidim/admin/moderated_users/_report.html.erb +10 -0
  101. data/app/views/decidim/admin/moderated_users/index.html.erb +78 -0
  102. data/app/views/decidim/admin/moderations/_report.html.erb +1 -1
  103. data/app/views/decidim/admin/moderations/index.html.erb +28 -9
  104. data/app/views/decidim/admin/moderations/reports/index.html.erb +102 -0
  105. data/app/views/decidim/admin/moderations/reports/show.html.erb +62 -0
  106. data/app/views/decidim/admin/newsletters/index.html.erb +1 -1
  107. data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +2 -2
  108. data/app/views/decidim/admin/officializations/index.html.erb +13 -4
  109. data/app/views/decidim/admin/organization_appearance/_form.html.erb +0 -4
  110. data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +1 -1
  111. data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +4 -4
  112. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +1 -1
  113. data/app/views/decidim/admin/shared/landing_page/edit.html.erb +47 -0
  114. data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +15 -0
  115. data/app/views/decidim/admin/static_pages/_form.html.erb +6 -0
  116. data/app/views/decidim/admin/users/index.html.erb +1 -1
  117. data/app/views/layouts/decidim/admin/_application.html.erb +5 -1
  118. data/app/views/layouts/decidim/admin/_title_bar.html.erb +2 -2
  119. data/app/views/layouts/decidim/admin/global_moderations.html.erb +7 -0
  120. data/app/views/layouts/decidim/admin/newsletters.erb +1 -1
  121. data/app/views/layouts/decidim/admin/settings.html.erb +2 -33
  122. data/app/views/layouts/decidim/admin/users.html.erb +11 -0
  123. data/config/locales/ar.yml +0 -5
  124. data/config/locales/bg.yml +0 -1
  125. data/config/locales/ca.yml +149 -4
  126. data/config/locales/cs.yml +151 -6
  127. data/config/locales/de.yml +150 -5
  128. data/config/locales/el.yml +62 -5
  129. data/config/locales/en.yml +150 -5
  130. data/config/locales/es-MX.yml +148 -3
  131. data/config/locales/es-PY.yml +148 -3
  132. data/config/locales/es.yml +148 -3
  133. data/config/locales/eu.yml +0 -3
  134. data/config/locales/fi-plain.yml +148 -3
  135. data/config/locales/fi.yml +148 -3
  136. data/config/locales/fr-CA.yml +139 -4
  137. data/config/locales/fr.yml +139 -4
  138. data/config/locales/gl.yml +121 -5
  139. data/config/locales/hu.yml +13 -5
  140. data/config/locales/id-ID.yml +0 -3
  141. data/config/locales/is-IS.yml +36 -3
  142. data/config/locales/it.yml +59 -5
  143. data/config/locales/ja.yml +41 -8
  144. data/config/locales/lv.yml +0 -5
  145. data/config/locales/nl.yml +120 -7
  146. data/config/locales/no.yml +11 -5
  147. data/config/locales/pl.yml +166 -20
  148. data/config/locales/pt-BR.yml +0 -3
  149. data/config/locales/pt.yml +0 -5
  150. data/config/locales/ro-RO.yml +21 -5
  151. data/config/locales/ru.yml +0 -3
  152. data/config/locales/sk.yml +0 -5
  153. data/config/locales/sl.yml +0 -1
  154. data/config/locales/sr-CS.yml +0 -3
  155. data/config/locales/sv.yml +50 -4
  156. data/config/locales/tr-TR.yml +81 -4
  157. data/config/locales/uk.yml +0 -3
  158. data/config/locales/zh-CN.yml +0 -5
  159. data/config/routes.rb +21 -1
  160. data/lib/decidim/admin.rb +6 -0
  161. data/lib/decidim/admin/engine.rb +76 -1
  162. data/lib/decidim/admin/import.rb +12 -0
  163. data/lib/decidim/admin/import/creator.rb +82 -0
  164. data/lib/decidim/admin/import/importer.rb +82 -0
  165. data/lib/decidim/admin/import/importer_factory.rb +17 -0
  166. data/lib/decidim/admin/import/readers.rb +39 -0
  167. data/lib/decidim/admin/import/readers/base.rb +31 -0
  168. data/lib/decidim/admin/import/readers/csv.rb +23 -0
  169. data/lib/decidim/admin/import/readers/json.rb +25 -0
  170. data/lib/decidim/admin/import/readers/xls.rb +25 -0
  171. data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +6 -6
  172. data/lib/decidim/admin/test/commands/create_category_examples.rb +6 -6
  173. data/lib/decidim/admin/test/filterable_examples.rb +1 -8
  174. data/lib/decidim/admin/test/manage_moderations_examples.rb +68 -4
  175. data/lib/decidim/admin/version.rb +1 -1
  176. metadata +71 -15
  177. data/app/assets/javascripts/decidim/admin/gallery.js.es6 +0 -5
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Admin
5
+ module Import
6
+ module Readers
7
+ # Abstract class with a very naive default implementation. Each importable
8
+ # file type should have it's own reader.
9
+ class Base
10
+ def initialize(file)
11
+ @file = file
12
+ end
13
+
14
+ # The read_rows method should iterate over each row of the data and
15
+ # yield the data array of each row with the row's index.
16
+ # The first row yielded with index 0 needs to contain the data headers
17
+ # which can be later used to map the data to correct attributes.
18
+ #
19
+ # This needs to be implemented by the extending classes.
20
+ def read_rows
21
+ raise NotImplementedError
22
+ end
23
+
24
+ protected
25
+
26
+ attr_reader :file
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "csv"
4
+
5
+ module Decidim
6
+ module Admin
7
+ module Import
8
+ module Readers
9
+ # Imports any exported CSV file to local objects. It transforms the
10
+ # import data using the creator into the final target objects.
11
+ class CSV < Base
12
+ MIME_TYPE = "text/csv"
13
+
14
+ def read_rows
15
+ ::CSV.read(file, col_sep: ";").each_with_index do |row, index|
16
+ yield row, index
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Decidim
6
+ module Admin
7
+ module Import
8
+ module Readers
9
+ # Imports any exported JSON file to local objects. It transforms the
10
+ # import data using the creator into the final target objects.
11
+ class JSON < Base
12
+ MIME_TYPE = "application/json"
13
+
14
+ def read_rows
15
+ json_string = File.read(file)
16
+ ::JSON.parse(json_string).each_with_index do |row, index|
17
+ yield row.keys, index if index.zero?
18
+ yield row.values, index + 1
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spreadsheet"
4
+
5
+ module Decidim
6
+ module Admin
7
+ module Import
8
+ module Readers
9
+ # Imports any exported XLS file to local objects. It transforms the
10
+ # import data using the creator into the final target objects.
11
+ class XLS < Base
12
+ MIME_TYPE = "application/vnd.ms-excel"
13
+
14
+ def read_rows
15
+ book = ::Spreadsheet.open(file)
16
+ sheet = book.worksheet(0)
17
+ sheet.each_with_index do |row, index|
18
+ yield row.to_a, index
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -10,12 +10,12 @@ module Decidim
10
10
  let(:form_params) do
11
11
  {
12
12
  "attachment_collection" => {
13
- "name_en" => Decidim::Faker::Localized.sentence(3),
14
- "name_es" => Decidim::Faker::Localized.sentence(3),
15
- "name_ca" => Decidim::Faker::Localized.sentence(3),
16
- "description_en" => Decidim::Faker::Localized.paragraph(3),
17
- "description_es" => Decidim::Faker::Localized.paragraph(3),
18
- "description_ca" => Decidim::Faker::Localized.paragraph(3)
13
+ "name_en" => Decidim::Faker::Localized.sentence(word_count: 3),
14
+ "name_es" => Decidim::Faker::Localized.sentence(word_count: 3),
15
+ "name_ca" => Decidim::Faker::Localized.sentence(word_count: 3),
16
+ "description_en" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
17
+ "description_es" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
18
+ "description_ca" => Decidim::Faker::Localized.paragraph(sentence_count: 3)
19
19
  }
20
20
  }
21
21
  end
@@ -10,12 +10,12 @@ module Decidim
10
10
  let(:form_params) do
11
11
  {
12
12
  "category" => {
13
- "name_en" => Decidim::Faker::Localized.paragraph(3),
14
- "name_es" => Decidim::Faker::Localized.paragraph(3),
15
- "name_ca" => Decidim::Faker::Localized.paragraph(3),
16
- "description_en" => Decidim::Faker::Localized.paragraph(3),
17
- "description_es" => Decidim::Faker::Localized.paragraph(3),
18
- "description_ca" => Decidim::Faker::Localized.paragraph(3)
13
+ "name_en" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
14
+ "name_es" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
15
+ "name_ca" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
16
+ "description_en" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
17
+ "description_es" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
18
+ "description_ca" => Decidim::Faker::Localized.paragraph(sentence_count: 3)
19
19
  }
20
20
  }
21
21
  end
@@ -2,16 +2,9 @@
2
2
 
3
3
  shared_context "with filterable context" do
4
4
  let(:factory_name) { model_name.singular_route_key }
5
- let(:module_name) { model_name.route_key.camelize }
6
- let(:filterable_concern) { "Decidim::#{module_name}::Admin::Filterable".constantize }
7
-
8
- let(:filterable_fake_controller) do
9
- FILTERABLE_CONCERN ||= filterable_concern
10
- class FilterableFakeController < Decidim::ApplicationController; include FILTERABLE_CONCERN; end
11
- end
12
5
 
13
6
  def filterable_method(method_name)
14
- (@controller ||= filterable_fake_controller.new).send(method_name)
7
+ resource_controller.new.send(method_name)
15
8
  end
16
9
 
17
10
  def apply_filter(options, filter)
@@ -3,7 +3,7 @@
3
3
  shared_examples "manage moderations" do
4
4
  let!(:moderations) do
5
5
  reportables.first(reportables.length - 1).map do |reportable|
6
- moderation = create(:moderation, reportable: reportable, report_count: 1)
6
+ moderation = create(:moderation, reportable: reportable, report_count: 1, reported_content: reportable.reported_searchable_content_text)
7
7
  create(:report, moderation: moderation)
8
8
  moderation
9
9
  end
@@ -11,18 +11,29 @@ shared_examples "manage moderations" do
11
11
  let!(:moderation) { moderations.first }
12
12
  let!(:hidden_moderations) do
13
13
  reportables.last(1).map do |reportable|
14
- moderation = create(:moderation, reportable: reportable, report_count: 3, hidden_at: Time.current)
14
+ moderation = create(:moderation, reportable: reportable, report_count: 3, reported_content: reportable.reported_searchable_content_text, hidden_at: Time.current)
15
15
  create_list(:report, 3, moderation: moderation, reason: :spam)
16
16
  moderation
17
17
  end
18
18
  end
19
+ let(:moderations_link_text) { "Moderations" }
19
20
 
20
21
  before do
21
22
  visit participatory_space_path
22
- click_link "Moderations"
23
+ click_link moderations_link_text
23
24
  end
24
25
 
25
26
  context "when listing moderations" do
27
+ it "only lists moderations for the current organization" do
28
+ external_reportable = create :dummy_resource
29
+ external_moderation = create(:moderation, reportable: external_reportable, report_count: 1, reported_content: external_reportable.reported_searchable_content_text)
30
+ create(:report, moderation: external_moderation)
31
+
32
+ visit current_path
33
+
34
+ expect(page).to have_no_selector("tr[data-id=\"#{external_moderation.id}\"]")
35
+ end
36
+
26
37
  it "user can review them" do
27
38
  moderations.each do |moderation|
28
39
  within "tr[data-id=\"#{moderation.id}\"]" do
@@ -48,11 +59,64 @@ shared_examples "manage moderations" do
48
59
  expect(page).to have_admin_callout("Resource successfully hidden")
49
60
  expect(page).to have_no_content(moderation.reportable.reported_content_url)
50
61
  end
62
+
63
+ it "user can sort by report count" do
64
+ moderations.each_with_index { |moderation, index| moderation.update(report_count: index + 1) }
65
+ moderations_ordered_by_report_count_asc = moderations.sort_by(&:report_count)
66
+
67
+ within "table" do
68
+ click_link "Count"
69
+
70
+ all("tbody tr").each_with_index do |row, index|
71
+ reportable_id = moderations_ordered_by_report_count_asc[index].reportable.id
72
+ expect(row.find("td:first-child")).to have_content(reportable_id)
73
+ end
74
+ end
75
+ end
76
+
77
+ it "user can filter by reportable type" do
78
+ reportable_type = moderation.reportable.class.name.demodulize
79
+ within ".filters__section" do
80
+ find(:xpath, "//a[contains(text(), 'Filter')]").hover
81
+ find(:xpath, "//a[contains(text(), 'Type')]").hover
82
+ click_link reportable_type
83
+ end
84
+ expect(page).to have_selector("tbody tr", count: moderations.length)
85
+ end
86
+
87
+ it "user can filter by reported content" do
88
+ search = moderation.reportable.id
89
+ within ".filters__section" do
90
+ fill_in("Search Moderation by reportable id or content.", with: search)
91
+ find(:xpath, "//button[@type='submit']").click
92
+ end
93
+ expect(page).to have_selector("tbody tr", count: 1)
94
+ end
95
+
96
+ it "user can see moderation details" do
97
+ within "tr[data-id=\"#{moderation.id}\"]" do
98
+ click_link "Expand"
99
+ end
100
+
101
+ reported_content_slice = moderation.reportable.reported_searchable_content_text.split("\n").first
102
+ expect(page).to have_content(reported_content_slice)
103
+ end
104
+
105
+ context "when the reported content does not exist" do
106
+ it "still renders the page" do
107
+ moderation.reportable.destroy
108
+ visit current_path
109
+
110
+ expect(page).to have_no_selector("tr[data-id=\"#{moderation.id}\"]")
111
+ end
112
+ end
51
113
  end
52
114
 
53
115
  context "when listing hidden resources" do
54
116
  it "user can review them" do
55
- click_link "Hidden"
117
+ within ".card-title" do
118
+ click_link "Hidden"
119
+ end
56
120
 
57
121
  hidden_moderations.each do |moderation|
58
122
  within "tr[data-id=\"#{moderation.id}\"]" do
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-admin version.
5
5
  module Admin
6
6
  def self.version
7
- "0.23.2"
7
+ "0.24.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.2
4
+ version: 0.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-02-09 00:00:00.000000000 Z
13
+ date: 2021-03-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.23.2
35
+ version: 0.24.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.23.2
42
+ version: 0.24.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: devise
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -88,28 +88,28 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '4.3'
91
+ version: '4.4'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '4.3'
98
+ version: '4.4'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: sassc
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - "~>"
104
104
  - !ruby/object:Gem::Version
105
- version: 2.3.0
105
+ version: 2.4.0
106
106
  type: :runtime
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - "~>"
111
111
  - !ruby/object:Gem::Version
112
- version: 2.3.0
112
+ version: 2.4.0
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: sassc-rails
115
115
  requirement: !ruby/object:Gem::Requirement
@@ -130,28 +130,28 @@ dependencies:
130
130
  requirements:
131
131
  - - '='
132
132
  - !ruby/object:Gem::Version
133
- version: 0.23.2
133
+ version: 0.24.0
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - '='
139
139
  - !ruby/object:Gem::Version
140
- version: 0.23.2
140
+ version: 0.24.0
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: decidim-participatory_processes
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - '='
146
146
  - !ruby/object:Gem::Version
147
- version: 0.23.2
147
+ version: 0.24.0
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - '='
153
153
  - !ruby/object:Gem::Version
154
- version: 0.23.2
154
+ version: 0.24.0
155
155
  description: Organization administration to manage a single organization.
156
156
  email:
157
157
  - josepjaume@gmail.com
@@ -175,10 +175,12 @@ files:
175
175
  - app/assets/javascripts/decidim/admin/dynamic_fields.component.js.es6
176
176
  - app/assets/javascripts/decidim/admin/field_dependent_inputs.component.js.es6
177
177
  - app/assets/javascripts/decidim/admin/form.js.es6
178
- - app/assets/javascripts/decidim/admin/gallery.js.es6
178
+ - app/assets/javascripts/decidim/admin/import_guidance.js.es6
179
179
  - app/assets/javascripts/decidim/admin/managed_users.js.es6
180
+ - app/assets/javascripts/decidim/admin/moderations.js.es6
180
181
  - app/assets/javascripts/decidim/admin/newsletters.js.es6
181
182
  - app/assets/javascripts/decidim/admin/officializations.js.es6
183
+ - app/assets/javascripts/decidim/admin/proposal_infinite_edit.js.es6
182
184
  - app/assets/javascripts/decidim/admin/resources_permissions.js.es6
183
185
  - app/assets/javascripts/decidim/admin/scope_picker_enabler.component.js.es6
184
186
  - app/assets/javascripts/decidim/admin/sort_list.component.js.es6
@@ -187,6 +189,7 @@ files:
187
189
  - app/assets/javascripts/decidim/admin/subform_toggler.component.js.es6
188
190
  - app/assets/javascripts/decidim/admin/tab_focus.js.es6
189
191
  - app/assets/javascripts/decidim/admin/toggle_nav.js.es6
192
+ - app/assets/javascripts/decidim/admin/user_moderations.js
190
193
  - app/assets/javascripts/decidim/admin/welcome_notification.js.es6
191
194
  - app/assets/stylesheets/decidim/admin/_decidim.scss
192
195
  - app/assets/stylesheets/decidim/admin/_variables.scss
@@ -194,8 +197,10 @@ files:
194
197
  - app/assets/stylesheets/decidim/admin/bundle.scss
195
198
  - app/assets/stylesheets/decidim/admin/components/_accordion.scss
196
199
  - app/assets/stylesheets/decidim/admin/components/_autocomplete_select.component.scss
200
+ - app/assets/stylesheets/decidim/admin/components/_dropdown-menu.scss
197
201
  - app/assets/stylesheets/decidim/admin/components/_sortable.scss
198
202
  - app/assets/stylesheets/decidim/admin/extra/_action-icon.scss
203
+ - app/assets/stylesheets/decidim/admin/extra/_block_user.scss
199
204
  - app/assets/stylesheets/decidim/admin/extra/_cards.scss
200
205
  - app/assets/stylesheets/decidim/admin/extra/_categories.scss
201
206
  - app/assets/stylesheets/decidim/admin/extra/_dropdown_inverted.scss
@@ -228,9 +233,11 @@ files:
228
233
  - app/assets/stylesheets/decidim/admin/modules/_layout.scss
229
234
  - app/assets/stylesheets/decidim/admin/modules/_loading-spinner.scss
230
235
  - app/assets/stylesheets/decidim/admin/modules/_main-nav.scss
236
+ - app/assets/stylesheets/decidim/admin/modules/_moderations.scss
231
237
  - app/assets/stylesheets/decidim/admin/modules/_modules.scss
232
238
  - app/assets/stylesheets/decidim/admin/modules/_pics.scss
233
239
  - app/assets/stylesheets/decidim/admin/modules/_process-header.scss
240
+ - app/assets/stylesheets/decidim/admin/modules/_reveal.scss
234
241
  - app/assets/stylesheets/decidim/admin/modules/_secondary-nav.scss
235
242
  - app/assets/stylesheets/decidim/admin/modules/_table-list.scss
236
243
  - app/assets/stylesheets/decidim/admin/modules/_tabs.scss
@@ -239,6 +246,7 @@ files:
239
246
  - app/assets/stylesheets/decidim/admin/modules/_user-login.scss
240
247
  - app/assets/stylesheets/decidim/admin/modules/_users_statistics.scss
241
248
  - app/assets/stylesheets/decidim/admin/plugins/_foundation-datepicker.scss
249
+ - app/assets/stylesheets/decidim/admin/user_moderations.scss
242
250
  - app/assets/stylesheets/decidim/admin/utils/_flex.scss
243
251
  - app/assets/stylesheets/decidim/admin/utils/_fontface.scss
244
252
  - app/assets/stylesheets/decidim/admin/utils/_helpers.scss
@@ -273,6 +281,7 @@ files:
273
281
  - app/cells/decidim/admin/content_block_cell.rb
274
282
  - app/cells/decidim/admin/results_per_page/show.erb
275
283
  - app/cells/decidim/admin/results_per_page_cell.rb
284
+ - app/commands/decidim/admin/block_user.rb
276
285
  - app/commands/decidim/admin/close_session_managed_user.rb
277
286
  - app/commands/decidim/admin/create_area.rb
278
287
  - app/commands/decidim/admin/create_area_type.rb
@@ -280,7 +289,9 @@ files:
280
289
  - app/commands/decidim/admin/create_attachment_collection.rb
281
290
  - app/commands/decidim/admin/create_category.rb
282
291
  - app/commands/decidim/admin/create_component.rb
292
+ - app/commands/decidim/admin/create_import.rb
283
293
  - app/commands/decidim/admin/create_newsletter.rb
294
+ - app/commands/decidim/admin/create_participatory_space_admin_user_actions.rb
284
295
  - app/commands/decidim/admin/create_participatory_space_private_user.rb
285
296
  - app/commands/decidim/admin/create_scope.rb
286
297
  - app/commands/decidim/admin/create_scope_type.rb
@@ -307,10 +318,13 @@ files:
307
318
  - app/commands/decidim/admin/reject_user_group.rb
308
319
  - app/commands/decidim/admin/remove_admin.rb
309
320
  - app/commands/decidim/admin/reorder_content_blocks.rb
321
+ - app/commands/decidim/admin/transfer_user.rb
322
+ - app/commands/decidim/admin/unblock_user.rb
310
323
  - app/commands/decidim/admin/unhide_resource.rb
311
324
  - app/commands/decidim/admin/unofficialize_user.rb
312
325
  - app/commands/decidim/admin/unpublish_component.rb
313
326
  - app/commands/decidim/admin/unreport_resource.rb
327
+ - app/commands/decidim/admin/unreport_user.rb
314
328
  - app/commands/decidim/admin/update_area.rb
315
329
  - app/commands/decidim/admin/update_area_type.rb
316
330
  - app/commands/decidim/admin/update_attachment.rb
@@ -333,16 +347,21 @@ files:
333
347
  - app/commands/decidim/admin/verify_user_group.rb
334
348
  - app/constraints/decidim/admin/organization_dashboard_constraint.rb
335
349
  - app/controllers/concerns/decidim/admin/filterable.rb
350
+ - app/controllers/concerns/decidim/admin/global_moderation_context.rb
351
+ - app/controllers/concerns/decidim/admin/landing_page.rb
352
+ - app/controllers/concerns/decidim/admin/landing_page_content_blocks.rb
336
353
  - app/controllers/concerns/decidim/admin/officializations/filterable.rb
337
354
  - app/controllers/concerns/decidim/admin/paginable.rb
338
355
  - app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb
339
356
  - app/controllers/concerns/decidim/admin/participatory_space_export.rb
340
357
  - app/controllers/concerns/decidim/admin/user_groups.rb
358
+ - app/controllers/concerns/decidim/moderations/admin/filterable.rb
341
359
  - app/controllers/decidim/admin/admin_terms_controller.rb
342
360
  - app/controllers/decidim/admin/application_controller.rb
343
361
  - app/controllers/decidim/admin/area_types_controller.rb
344
362
  - app/controllers/decidim/admin/areas_controller.rb
345
363
  - app/controllers/decidim/admin/authorization_workflows_controller.rb
364
+ - app/controllers/decidim/admin/block_user_controller.rb
346
365
  - app/controllers/decidim/admin/categories_controller.rb
347
366
  - app/controllers/decidim/admin/component_permissions_controller.rb
348
367
  - app/controllers/decidim/admin/components/base_controller.rb
@@ -351,15 +370,21 @@ files:
351
370
  - app/controllers/decidim/admin/concerns/has_attachments.rb
352
371
  - app/controllers/decidim/admin/concerns/has_private_users.rb
353
372
  - app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb
373
+ - app/controllers/decidim/admin/conflicts_controller.rb
354
374
  - app/controllers/decidim/admin/dashboard_controller.rb
355
375
  - app/controllers/decidim/admin/exports_controller.rb
376
+ - app/controllers/decidim/admin/global_moderations/reports_controller.rb
377
+ - app/controllers/decidim/admin/global_moderations_controller.rb
356
378
  - app/controllers/decidim/admin/help_sections_controller.rb
357
379
  - app/controllers/decidim/admin/impersonatable_users_controller.rb
358
380
  - app/controllers/decidim/admin/impersonations_controller.rb
381
+ - app/controllers/decidim/admin/imports_controller.rb
359
382
  - app/controllers/decidim/admin/logs_controller.rb
360
383
  - app/controllers/decidim/admin/managed_users/impersonation_logs_controller.rb
361
384
  - app/controllers/decidim/admin/managed_users/promotions_controller.rb
362
385
  - app/controllers/decidim/admin/metrics_controller.rb
386
+ - app/controllers/decidim/admin/moderated_users_controller.rb
387
+ - app/controllers/decidim/admin/moderations/reports_controller.rb
363
388
  - app/controllers/decidim/admin/moderations_controller.rb
364
389
  - app/controllers/decidim/admin/newsletter_templates_controller.rb
365
390
  - app/controllers/decidim/admin/newsletters_controller.rb
@@ -379,16 +404,19 @@ files:
379
404
  - app/controllers/decidim/admin/users_controller.rb
380
405
  - app/events/decidim/attachment_created_event.rb
381
406
  - app/events/decidim/component_published_event.rb
407
+ - app/events/decidim/resource_hidden_event.rb
382
408
  - app/forms/decidim/admin/area_form.rb
383
409
  - app/forms/decidim/admin/area_type_form.rb
384
410
  - app/forms/decidim/admin/attachment_collection_form.rb
385
411
  - app/forms/decidim/admin/attachment_form.rb
412
+ - app/forms/decidim/admin/block_user_form.rb
386
413
  - app/forms/decidim/admin/category_form.rb
387
414
  - app/forms/decidim/admin/component_form.rb
388
415
  - app/forms/decidim/admin/content_block_form.rb
389
416
  - app/forms/decidim/admin/help_section_form.rb
390
417
  - app/forms/decidim/admin/help_sections_form.rb
391
418
  - app/forms/decidim/admin/impersonate_user_form.rb
419
+ - app/forms/decidim/admin/import_form.rb
392
420
  - app/forms/decidim/admin/managed_user_promotion_form.rb
393
421
  - app/forms/decidim/admin/newsletter_form.rb
394
422
  - app/forms/decidim/admin/officialization_form.rb
@@ -404,6 +432,7 @@ files:
404
432
  - app/forms/decidim/admin/selective_newsletter_participatory_space_type_form.rb
405
433
  - app/forms/decidim/admin/static_page_form.rb
406
434
  - app/forms/decidim/admin/static_page_topic_form.rb
435
+ - app/forms/decidim/admin/transfer_user_form.rb
407
436
  - app/forms/decidim/admin/user_group_csv_verification_form.rb
408
437
  - app/frontend/components/autocomplete.component.test.tsx
409
438
  - app/frontend/components/autocomplete.component.tsx
@@ -418,15 +447,20 @@ files:
418
447
  - app/helpers/decidim/admin/exports_helper.rb
419
448
  - app/helpers/decidim/admin/filterable_helper.rb
420
449
  - app/helpers/decidim/admin/icon_link_helper.rb
450
+ - app/helpers/decidim/admin/imports_helper.rb
421
451
  - app/helpers/decidim/admin/log_render_helper.rb
422
452
  - app/helpers/decidim/admin/menu_helper.rb
453
+ - app/helpers/decidim/admin/moderations/reports_helper.rb
454
+ - app/helpers/decidim/admin/moderations_helper.rb
423
455
  - app/helpers/decidim/admin/newsletters_helper.rb
424
456
  - app/helpers/decidim/admin/paginable/per_page_helper.rb
425
457
  - app/helpers/decidim/admin/resource_permissions_helper.rb
426
458
  - app/helpers/decidim/admin/resource_scope_helper.rb
427
459
  - app/helpers/decidim/admin/scopes_helper.rb
428
460
  - app/helpers/decidim/admin/settings_helper.rb
461
+ - app/helpers/decidim/admin/sidebar_menu_helper.rb
429
462
  - app/helpers/decidim/admin/uploader_image_dimensions_helper.rb
463
+ - app/helpers/decidim/admin/user_moderations_helper.rb
430
464
  - app/helpers/decidim/admin/user_roles_helper.rb
431
465
  - app/jobs/decidim/admin/application_job.rb
432
466
  - app/jobs/decidim/admin/expire_impersonation_job.rb
@@ -439,6 +473,7 @@ files:
439
473
  - app/permissions/decidim/admin/permissions.rb
440
474
  - app/permissions/decidim/admin/user_manager_permissions.rb
441
475
  - app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb
476
+ - app/presenters/decidim/admin/secondary_menu_presenter.rb
442
477
  - app/queries/decidim/admin/active_users_counter.rb
443
478
  - app/queries/decidim/admin/newsletter_recipients.rb
444
479
  - app/queries/decidim/admin/user_filter.rb
@@ -463,6 +498,7 @@ files:
463
498
  - app/views/decidim/admin/attachments/new.html.erb
464
499
  - app/views/decidim/admin/attachments/show.html.erb
465
500
  - app/views/decidim/admin/authorization_workflows/index.html.erb
501
+ - app/views/decidim/admin/block_user/new.html.erb
466
502
  - app/views/decidim/admin/categories/_form.html.erb
467
503
  - app/views/decidim/admin/categories/edit.html.erb
468
504
  - app/views/decidim/admin/categories/index.html.erb
@@ -474,6 +510,8 @@ files:
474
510
  - app/views/decidim/admin/components/edit.html.erb
475
511
  - app/views/decidim/admin/components/index.html.erb
476
512
  - app/views/decidim/admin/components/new.html.erb
513
+ - app/views/decidim/admin/conflicts/edit.html.erb
514
+ - app/views/decidim/admin/conflicts/index.html.erb
477
515
  - app/views/decidim/admin/dashboard/show.html.erb
478
516
  - app/views/decidim/admin/devise/mailers/password_change.html.erb
479
517
  - app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb
@@ -485,6 +523,8 @@ files:
485
523
  - app/views/decidim/admin/impersonations/_form.html.erb
486
524
  - app/views/decidim/admin/impersonations/_handler_form.html.erb
487
525
  - app/views/decidim/admin/impersonations/new.html.erb
526
+ - app/views/decidim/admin/imports/_dropdown.html.erb
527
+ - app/views/decidim/admin/imports/new.html.erb
488
528
  - app/views/decidim/admin/logs/_logs_list.html.erb
489
529
  - app/views/decidim/admin/logs/index.html.erb
490
530
  - app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb
@@ -492,8 +532,12 @@ files:
492
532
  - app/views/decidim/admin/managed_users/promotions/new.html.erb
493
533
  - app/views/decidim/admin/metrics/_metrics.html.erb
494
534
  - app/views/decidim/admin/metrics/index.html.erb
535
+ - app/views/decidim/admin/moderated_users/_report.html.erb
536
+ - app/views/decidim/admin/moderated_users/index.html.erb
495
537
  - app/views/decidim/admin/moderations/_report.html.erb
496
538
  - app/views/decidim/admin/moderations/index.html.erb
539
+ - app/views/decidim/admin/moderations/reports/index.html.erb
540
+ - app/views/decidim/admin/moderations/reports/show.html.erb
497
541
  - app/views/decidim/admin/newsletter_templates/index.html.erb
498
542
  - app/views/decidim/admin/newsletter_templates/show.html.erb
499
543
  - app/views/decidim/admin/newsletters/_form.html.erb
@@ -532,6 +576,8 @@ files:
532
576
  - app/views/decidim/admin/share_tokens/_share_tokens.html.erb
533
577
  - app/views/decidim/admin/shared/_filters.html.erb
534
578
  - app/views/decidim/admin/shared/_gallery.html.erb
579
+ - app/views/decidim/admin/shared/landing_page/edit.html.erb
580
+ - app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb
535
581
  - app/views/decidim/admin/static_page_topics/_form.html.erb
536
582
  - app/views/decidim/admin/static_page_topics/edit.html.erb
537
583
  - app/views/decidim/admin/static_page_topics/new.html.erb
@@ -555,6 +601,7 @@ files:
555
601
  - app/views/layouts/decidim/admin/_template_top.html.erb
556
602
  - app/views/layouts/decidim/admin/_title_bar.html.erb
557
603
  - app/views/layouts/decidim/admin/application.html.erb
604
+ - app/views/layouts/decidim/admin/global_moderations.html.erb
558
605
  - app/views/layouts/decidim/admin/login.html.erb
559
606
  - app/views/layouts/decidim/admin/newsletters.erb
560
607
  - app/views/layouts/decidim/admin/pages.html.erb
@@ -638,6 +685,15 @@ files:
638
685
  - lib/decidim/admin/components.rb
639
686
  - lib/decidim/admin/engine.rb
640
687
  - lib/decidim/admin/form_builder.rb
688
+ - lib/decidim/admin/import.rb
689
+ - lib/decidim/admin/import/creator.rb
690
+ - lib/decidim/admin/import/importer.rb
691
+ - lib/decidim/admin/import/importer_factory.rb
692
+ - lib/decidim/admin/import/readers.rb
693
+ - lib/decidim/admin/import/readers/base.rb
694
+ - lib/decidim/admin/import/readers/csv.rb
695
+ - lib/decidim/admin/import/readers/json.rb
696
+ - lib/decidim/admin/import/readers/xls.rb
641
697
  - lib/decidim/admin/test.rb
642
698
  - lib/decidim/admin/test/commands/create_attachment_collection_examples.rb
643
699
  - lib/decidim/admin/test/commands/create_category_examples.rb
@@ -672,14 +728,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
672
728
  requirements:
673
729
  - - ">="
674
730
  - !ruby/object:Gem::Version
675
- version: '2.6'
731
+ version: '2.7'
676
732
  required_rubygems_version: !ruby/object:Gem::Requirement
677
733
  requirements:
678
734
  - - ">="
679
735
  - !ruby/object:Gem::Version
680
736
  version: '0'
681
737
  requirements: []
682
- rubygems_version: 3.0.3
738
+ rubygems_version: 3.1.2
683
739
  signing_key:
684
740
  specification_version: 4
685
741
  summary: Decidim organization administration