decidim-admin 0.26.5 → 0.27.0.rc1

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 (220) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +3 -0
  3. data/app/cells/decidim/admin/attachments_privacy_warning_cell.rb +19 -0
  4. data/app/commands/decidim/admin/block_user.rb +1 -1
  5. data/app/commands/decidim/admin/close_session_managed_user.rb +1 -1
  6. data/app/commands/decidim/admin/create_area.rb +1 -1
  7. data/app/commands/decidim/admin/create_area_type.rb +6 -3
  8. data/app/commands/decidim/admin/create_attachment.rb +14 -6
  9. data/app/commands/decidim/admin/create_attachment_collection.rb +13 -4
  10. data/app/commands/decidim/admin/create_category.rb +6 -4
  11. data/app/commands/decidim/admin/create_component.rb +1 -1
  12. data/app/commands/decidim/admin/create_import.rb +4 -5
  13. data/app/commands/decidim/admin/create_import_example.rb +1 -1
  14. data/app/commands/decidim/admin/create_newsletter.rb +1 -1
  15. data/app/commands/decidim/admin/create_participatory_space_private_user.rb +1 -1
  16. data/app/commands/decidim/admin/create_scope.rb +1 -1
  17. data/app/commands/decidim/admin/create_scope_type.rb +6 -3
  18. data/app/commands/decidim/admin/create_static_page.rb +1 -1
  19. data/app/commands/decidim/admin/create_static_page_topic.rb +1 -1
  20. data/app/commands/decidim/admin/deliver_newsletter.rb +6 -6
  21. data/app/commands/decidim/admin/destroy_area.rb +1 -1
  22. data/app/commands/decidim/admin/destroy_category.rb +6 -3
  23. data/app/commands/decidim/admin/destroy_component.rb +1 -1
  24. data/app/commands/decidim/admin/destroy_newsletter.rb +1 -1
  25. data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +1 -1
  26. data/app/commands/decidim/admin/destroy_scope.rb +1 -1
  27. data/app/commands/decidim/admin/destroy_share_token.rb +1 -1
  28. data/app/commands/decidim/admin/destroy_static_page.rb +1 -1
  29. data/app/commands/decidim/admin/destroy_static_page_topic.rb +1 -1
  30. data/app/commands/decidim/admin/hide_resource.rb +2 -2
  31. data/app/commands/decidim/admin/impersonate_user.rb +1 -1
  32. data/app/commands/decidim/admin/invite_admin.rb +1 -1
  33. data/app/commands/decidim/admin/officialize_user.rb +1 -1
  34. data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +7 -3
  35. data/app/commands/decidim/admin/process_user_group_verification_csv.rb +8 -4
  36. data/app/commands/decidim/admin/promote_managed_user.rb +1 -1
  37. data/app/commands/decidim/admin/publish_component.rb +1 -1
  38. data/app/commands/decidim/admin/reject_user_group.rb +1 -1
  39. data/app/commands/decidim/admin/remove_admin.rb +1 -1
  40. data/app/commands/decidim/admin/reorder_content_blocks.rb +1 -1
  41. data/app/commands/decidim/admin/transfer_user.rb +1 -1
  42. data/app/commands/decidim/admin/unblock_user.rb +2 -2
  43. data/app/commands/decidim/admin/unhide_resource.rb +1 -1
  44. data/app/commands/decidim/admin/unofficialize_user.rb +1 -1
  45. data/app/commands/decidim/admin/unpublish_component.rb +1 -1
  46. data/app/commands/decidim/admin/unreport_resource.rb +1 -1
  47. data/app/commands/decidim/admin/unreport_user.rb +1 -1
  48. data/app/commands/decidim/admin/update_area.rb +1 -1
  49. data/app/commands/decidim/admin/update_area_type.rb +8 -3
  50. data/app/commands/decidim/admin/update_attachment.rb +4 -3
  51. data/app/commands/decidim/admin/update_attachment_collection.rb +8 -3
  52. data/app/commands/decidim/admin/update_category.rb +9 -5
  53. data/app/commands/decidim/admin/update_component.rb +8 -5
  54. data/app/commands/decidim/admin/update_component_permissions.rb +9 -6
  55. data/app/commands/decidim/admin/update_content_block.rb +1 -1
  56. data/app/commands/decidim/admin/update_external_domain_whitelist.rb +6 -3
  57. data/app/commands/decidim/admin/update_help_sections.rb +17 -3
  58. data/app/commands/decidim/admin/update_newsletter.rb +1 -1
  59. data/app/commands/decidim/admin/update_organization.rb +1 -1
  60. data/app/commands/decidim/admin/update_organization_appearance.rb +1 -1
  61. data/app/commands/decidim/admin/update_organization_tos_version.rb +1 -1
  62. data/app/commands/decidim/admin/update_resource_permissions.rb +2 -2
  63. data/app/commands/decidim/admin/update_scope.rb +1 -1
  64. data/app/commands/decidim/admin/update_scope_type.rb +8 -3
  65. data/app/commands/decidim/admin/update_static_page.rb +1 -1
  66. data/app/commands/decidim/admin/update_static_page_topic.rb +1 -1
  67. data/app/commands/decidim/admin/update_user_groups.rb +1 -1
  68. data/app/commands/decidim/admin/verify_user_group.rb +1 -1
  69. data/app/controllers/concerns/decidim/admin/filterable.rb +1 -1
  70. data/app/controllers/concerns/decidim/admin/participatory_space_export.rb +3 -1
  71. data/app/controllers/decidim/admin/application_controller.rb +1 -0
  72. data/app/controllers/decidim/admin/area_types_controller.rb +6 -3
  73. data/app/controllers/decidim/admin/block_user_controller.rb +3 -3
  74. data/app/controllers/decidim/admin/categories_controller.rb +3 -3
  75. data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
  76. data/app/controllers/decidim/admin/components/base_controller.rb +1 -0
  77. data/app/controllers/decidim/admin/components_controller.rb +1 -1
  78. data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +6 -3
  79. data/app/controllers/decidim/admin/concerns/has_attachments.rb +6 -3
  80. data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +7 -0
  81. data/app/controllers/decidim/admin/dashboard_controller.rb +4 -3
  82. data/app/controllers/decidim/admin/exports_controller.rb +4 -1
  83. data/app/controllers/decidim/admin/help_sections_controller.rb +1 -1
  84. data/app/controllers/decidim/admin/metrics_controller.rb +2 -1
  85. data/app/controllers/decidim/admin/moderations_controller.rb +9 -7
  86. data/app/controllers/decidim/admin/newsletter_templates_controller.rb +1 -1
  87. data/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
  88. data/app/controllers/decidim/admin/organization_controller.rb +3 -4
  89. data/app/controllers/decidim/admin/organization_external_domain_whitelist_controller.rb +1 -1
  90. data/app/controllers/decidim/admin/reminders_controller.rb +61 -0
  91. data/app/controllers/decidim/admin/resource_permissions_controller.rb +3 -3
  92. data/app/controllers/decidim/admin/scope_types_controller.rb +6 -3
  93. data/app/controllers/decidim/admin/static_pages_controller.rb +1 -7
  94. data/app/forms/decidim/admin/block_user_form.rb +2 -2
  95. data/app/forms/decidim/admin/category_form.rb +1 -2
  96. data/app/forms/decidim/admin/component_form.rb +16 -7
  97. data/app/forms/decidim/admin/import_example_form.rb +1 -5
  98. data/app/forms/decidim/admin/import_form.rb +7 -10
  99. data/app/forms/decidim/admin/managed_user_promotion_form.rb +1 -1
  100. data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +7 -4
  101. data/app/forms/decidim/admin/permission_form.rb +9 -8
  102. data/app/forms/decidim/admin/permissions_form.rb +1 -10
  103. data/app/forms/decidim/admin/user_group_csv_verification_form.rb +2 -2
  104. data/app/helpers/decidim/admin/bulk_actions_helper.rb +6 -5
  105. data/app/helpers/decidim/admin/moderations/reports_helper.rb +11 -2
  106. data/app/helpers/decidim/admin/reminders_helper.rb +12 -0
  107. data/app/helpers/decidim/admin/settings_helper.rb +11 -57
  108. data/app/models/decidim/admin/fake_newsletter.rb +0 -20
  109. data/app/packs/entrypoints/decidim_admin.js +3 -6
  110. data/app/packs/src/decidim/admin/admin_autocomplete.js +82 -0
  111. data/app/packs/src/decidim/admin/application.js +0 -16
  112. data/app/packs/src/decidim/admin/choose_language.js +9 -11
  113. data/app/packs/src/decidim/admin/dynamic_fields.component.js +0 -1
  114. data/app/packs/stylesheets/decidim/admin/_decidim.scss +0 -1
  115. data/app/packs/stylesheets/decidim/admin/modules/_autocomplete.scss +5 -0
  116. data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +0 -6
  117. data/app/packs/stylesheets/decidim/admin/modules/_import_result.scss +10 -0
  118. data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +3 -0
  119. data/app/packs/stylesheets/decidim/admin/modules/_upload_modal.scss +42 -0
  120. data/app/permissions/decidim/admin/permissions.rb +3 -32
  121. data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +3 -1
  122. data/app/queries/decidim/admin/active_users_counter.rb +1 -1
  123. data/app/queries/decidim/admin/newsletter_recipients.rb +2 -2
  124. data/app/queries/decidim/admin/user_filter.rb +1 -1
  125. data/app/queries/decidim/admin/user_groups_evaluation.rb +1 -1
  126. data/app/views/decidim/admin/attachments/index.html.erb +1 -0
  127. data/app/views/decidim/admin/categories/_form.html.erb +0 -4
  128. data/app/views/decidim/admin/categories/show.html.erb +1 -2
  129. data/app/views/decidim/admin/dashboard/show.html.erb +1 -1
  130. data/app/views/decidim/admin/imports/new.html.erb +1 -1
  131. data/app/views/decidim/admin/moderated_users/index.html.erb +1 -1
  132. data/app/views/decidim/admin/moderations/index.html.erb +4 -8
  133. data/app/views/decidim/admin/moderations/reports/index.html.erb +1 -5
  134. data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +5 -4
  135. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +1 -1
  136. data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +20 -1
  137. data/app/views/decidim/admin/reminders/new.html.erb +21 -0
  138. data/app/views/decidim/admin/resource_permissions/edit.html.erb +1 -1
  139. data/app/views/decidim/admin/shared/_gallery.html.erb +6 -1
  140. data/app/views/decidim/admin/shared/_js-callout.html.erb +6 -0
  141. data/app/views/decidim/admin/users_statistics/_users_count.html.erb +2 -2
  142. data/app/views/layouts/decidim/admin/_application.html.erb +2 -0
  143. data/config/locales/am-ET.yml +1 -0
  144. data/config/locales/ar.yml +28 -21
  145. data/config/locales/bg.yml +1 -0
  146. data/config/locales/ca.yml +27 -21
  147. data/config/locales/cs.yml +41 -33
  148. data/config/locales/da.yml +1 -0
  149. data/config/locales/de.yml +23 -18
  150. data/config/locales/el.yml +2 -5
  151. data/config/locales/en.yml +22 -17
  152. data/config/locales/eo.yml +1 -0
  153. data/config/locales/es-MX.yml +25 -19
  154. data/config/locales/es-PY.yml +25 -19
  155. data/config/locales/es.yml +27 -21
  156. data/config/locales/et.yml +1 -0
  157. data/config/locales/eu.yml +12 -35
  158. data/config/locales/fi-plain.yml +26 -20
  159. data/config/locales/fi.yml +28 -22
  160. data/config/locales/fr-CA.yml +25 -19
  161. data/config/locales/fr.yml +39 -33
  162. data/config/locales/ga-IE.yml +1 -0
  163. data/config/locales/gl.yml +17 -4
  164. data/config/locales/hr.yml +1 -0
  165. data/config/locales/hu.yml +16 -188
  166. data/config/locales/id-ID.yml +2 -7
  167. data/config/locales/is-IS.yml +3 -8
  168. data/config/locales/it.yml +8 -6
  169. data/config/locales/ja.yml +23 -18
  170. data/config/locales/ko.yml +1 -0
  171. data/config/locales/lb.yml +2 -5
  172. data/config/locales/lt.yml +13 -141
  173. data/config/locales/lv.yml +2 -4
  174. data/config/locales/mt.yml +1 -0
  175. data/config/locales/nl.yml +4 -67
  176. data/config/locales/no.yml +13 -10
  177. data/config/locales/om-ET.yml +1 -0
  178. data/config/locales/pl.yml +21 -6
  179. data/config/locales/pt-BR.yml +4 -7
  180. data/config/locales/pt.yml +2 -5
  181. data/config/locales/ro-RO.yml +12 -27
  182. data/config/locales/ru.yml +2 -7
  183. data/config/locales/si-LK.yml +1 -0
  184. data/config/locales/sk.yml +2 -4
  185. data/config/locales/sl.yml +1 -0
  186. data/config/locales/so-SO.yml +1 -0
  187. data/config/locales/sr-CS.yml +1 -10
  188. data/config/locales/sv.yml +24 -18
  189. data/config/locales/sw-KE.yml +1 -0
  190. data/config/locales/ti-ER.yml +1 -0
  191. data/config/locales/tr-TR.yml +2 -5
  192. data/config/locales/uk.yml +2 -6
  193. data/config/locales/val-ES.yml +1 -0
  194. data/config/locales/vi.yml +1 -0
  195. data/config/locales/zh-CN.yml +2 -4
  196. data/config/locales/zh-TW.yml +1 -0
  197. data/lib/decidim/admin/engine.rb +1 -12
  198. data/lib/decidim/admin/import/importer.rb +9 -7
  199. data/lib/decidim/admin/import/readers/json.rb +1 -1
  200. data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +15 -2
  201. data/lib/decidim/admin/test/commands/create_category_examples.rb +16 -6
  202. data/lib/decidim/admin/test/commands/destroy_category_examples.rb +29 -1
  203. data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +15 -2
  204. data/lib/decidim/admin/test/commands/update_category_examples.rb +16 -6
  205. data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +4 -4
  206. data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +4 -4
  207. data/lib/decidim/admin/test/forms/category_form_examples.rb +1 -21
  208. data/lib/decidim/admin/test/manage_attachments_examples.rb +9 -2
  209. data/lib/decidim/admin/test/manage_categories_examples.rb +0 -10
  210. data/lib/decidim/admin/test/manage_component_permissions_examples.rb +0 -2
  211. data/lib/decidim/admin/test/manage_moderations_examples.rb +27 -79
  212. data/lib/decidim/admin/version.rb +1 -1
  213. metadata +22 -19
  214. data/app/packs/src/decidim/admin/autocomplete.component.js +0 -146
  215. data/app/packs/src/decidim/admin/autocomplete.component.test.js +0 -19
  216. data/app/packs/stylesheets/decidim/admin/components/_autocomplete_select.component.scss +0 -19
  217. data/config/locales/gn-PY.yml +0 -1
  218. data/config/locales/ka-GE.yml +0 -1
  219. data/config/locales/lo-LA.yml +0 -1
  220. data/config/locales/oc-FR.yml +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Admin
5
- class UnblockUser < Rectify::Command
5
+ class UnblockUser < Decidim::Command
6
6
  # Public: Initializes the command.
7
7
  #
8
8
  # blocked_user - the user that is unblocked
@@ -39,7 +39,7 @@ module Decidim
39
39
  @blocked_user.blocked = false
40
40
  @blocked_user.blocked_at = nil
41
41
  @blocked_user.block_id = nil
42
- @blocked_user.name = @blocked_user.extended_data["user_name"]
42
+ @blocked_user.name = @blocked_user.user_name
43
43
  @blocked_user.save!
44
44
  end
45
45
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when a user hides a resource.
6
- class UnhideResource < Rectify::Command
6
+ class UnhideResource < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # reportable - A Decidim::Reportable
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when unofficializing a user.
6
- class UnofficializeUser < Rectify::Command
6
+ class UnofficializeUser < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # user - The user to be unofficialized.
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # This command gets called when a component is unpublished from the admin panel.
6
- class UnpublishComponent < Rectify::Command
6
+ class UnpublishComponent < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # component - The component to unpublish.
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when a user unreports a resource.
6
- class UnreportResource < Rectify::Command
6
+ class UnreportResource < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # reportable - A Decidim::Reportable
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Admin
5
- class UnreportUser < Rectify::Command
5
+ class UnreportUser < Decidim::Command
6
6
  # Public: Initializes the command.
7
7
  #
8
8
  # reportable - A Decidim::User - The user reported
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating an area.
6
- class UpdateArea < Rectify::Command
6
+ class UpdateArea < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # area - The Area to update
@@ -3,14 +3,15 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating an area type.
6
- class UpdateAreaType < Rectify::Command
6
+ class UpdateAreaType < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # area_type - The AreaType to update
10
10
  # form - A form object with the params.
11
- def initialize(area_type, form)
11
+ def initialize(area_type, form, user)
12
12
  @area_type = area_type
13
13
  @form = form
14
+ @user = user
14
15
  end
15
16
 
16
17
  # Executes the command. Broadcasts these events:
@@ -31,7 +32,11 @@ module Decidim
31
32
  attr_reader :form
32
33
 
33
34
  def update_area_type
34
- @area_type.update!(attributes)
35
+ Decidim.traceability.update!(
36
+ @area_type,
37
+ @user,
38
+ attributes
39
+ )
35
40
  end
36
41
 
37
42
  def attributes
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic to update an attachment from a
6
6
  # participatory process.
7
- class UpdateAttachment < Rectify::Command
7
+ class UpdateAttachment < Decidim::Command
8
8
  include ::Decidim::AttachmentAttributesMethods
9
9
 
10
10
  attr_reader :attachment
@@ -13,9 +13,10 @@ module Decidim
13
13
  #
14
14
  # attachment - the Attachment to update
15
15
  # form - A form object with the params.
16
- def initialize(attachment, form)
16
+ def initialize(attachment, form, user)
17
17
  @attachment = attachment
18
18
  @form = form
19
+ @user = user
19
20
  end
20
21
 
21
22
  # Executes the command. Broadcasts these events:
@@ -36,7 +37,7 @@ module Decidim
36
37
  attr_reader :form
37
38
 
38
39
  def update_attachment
39
- attachment.update!(attributes)
40
+ Decidim.traceability.update!(@attachment, @user, attributes)
40
41
  end
41
42
 
42
43
  def attributes
@@ -3,14 +3,15 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating an attachment collection.
6
- class UpdateAttachmentCollection < Rectify::Command
6
+ class UpdateAttachmentCollection < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # attachment_collection - The AttachmentCollection to update
10
10
  # form - A form object with the params.
11
- def initialize(attachment_collection, form)
11
+ def initialize(attachment_collection, form, user)
12
12
  @attachment_collection = attachment_collection
13
13
  @form = form
14
+ @user = user
14
15
  end
15
16
 
16
17
  # Executes the command. Broadcasts these events:
@@ -31,7 +32,11 @@ module Decidim
31
32
  attr_reader :form
32
33
 
33
34
  def update_attachment_collection
34
- @attachment_collection.update!(attributes)
35
+ Decidim.traceability.update!(
36
+ @attachment_collection,
37
+ @user,
38
+ attributes
39
+ )
35
40
  end
36
41
 
37
42
  def attributes
@@ -4,16 +4,17 @@ module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a category in the
6
6
  # system.
7
- class UpdateCategory < Rectify::Command
7
+ class UpdateCategory < Decidim::Command
8
8
  attr_reader :category
9
9
 
10
10
  # Public: Initializes the command.
11
11
  #
12
12
  # category - the Category to update
13
13
  # form - A form object with the params.
14
- def initialize(category, form)
14
+ def initialize(category, form, user)
15
15
  @category = category
16
16
  @form = form
17
+ @user = user
17
18
  end
18
19
 
19
20
  # Executes the command. Broadcasts these events:
@@ -34,15 +35,18 @@ module Decidim
34
35
  attr_reader :form
35
36
 
36
37
  def update_category
37
- category.update!(attributes)
38
+ Decidim.traceability.update!(
39
+ category,
40
+ @user,
41
+ attributes
42
+ )
38
43
  end
39
44
 
40
45
  def attributes
41
46
  {
42
47
  name: form.name,
43
48
  weight: form.weight,
44
- parent_id: form.parent_id,
45
- description: form.description
49
+ parent_id: form.parent_id
46
50
  }
47
51
  end
48
52
  end
@@ -3,17 +3,18 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # This command gets called when a component is created from the admin panel.
6
- class UpdateComponent < Rectify::Command
6
+ class UpdateComponent < Decidim::Command
7
7
  attr_reader :form, :component, :previous_settings
8
8
 
9
9
  # Public: Initializes the command.
10
10
  #
11
11
  # form - The form from which the data in this component comes from.
12
12
  # component - The component to update.
13
- def initialize(form, component)
13
+ def initialize(form, component, user)
14
14
  @manifest = component.manifest
15
15
  @form = form
16
16
  @component = component
17
+ @user = user
17
18
  end
18
19
 
19
20
  # Public: Creates the Component.
@@ -22,9 +23,11 @@ module Decidim
22
23
  def call
23
24
  return broadcast(:invalid) if form.invalid?
24
25
 
25
- transaction do
26
- update_component
27
- run_hooks
26
+ Decidim.traceability.perform_action!("update", @component, @user) do
27
+ transaction do
28
+ update_component
29
+ run_hooks
30
+ end
28
31
  end
29
32
 
30
33
  broadcast(:ok, settings_changed?, previous_settings, current_settings)
@@ -4,16 +4,17 @@ module Decidim
4
4
  module Admin
5
5
  # This command gets called when permissions for a component are updated
6
6
  # in the admin panel.
7
- class UpdateComponentPermissions < Rectify::Command
7
+ class UpdateComponentPermissions < Decidim::Command
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # form - The form from which the data in this component comes from.
11
11
  # component - The component to update.
12
12
  # resource - The resource to update.
13
- def initialize(form, component, resource)
13
+ def initialize(form, component, resource, user)
14
14
  @form = form
15
15
  @component = component
16
16
  @resource = resource
17
+ @user = user
17
18
  end
18
19
 
19
20
  # Public: Sets the permissions for a component.
@@ -22,9 +23,11 @@ module Decidim
22
23
  def call
23
24
  return broadcast(:invalid) unless form.valid?
24
25
 
25
- transaction do
26
- update_permissions
27
- run_hooks
26
+ Decidim.traceability.perform_action!("update_permissions", @component, @user) do
27
+ transaction do
28
+ update_permissions
29
+ run_hooks
30
+ end
28
31
  end
29
32
 
30
33
  broadcast(:ok)
@@ -45,7 +48,7 @@ module Decidim
45
48
  handlers_content = {}
46
49
 
47
50
  selected_handlers(value).each do |handler_key|
48
- opts = value.authorization_handlers_options[handler_key.to_sym]
51
+ opts = value.authorization_handlers_options[handler_key.to_s]
49
52
  handlers_content[handler_key] = opts ? { options: opts } : {}
50
53
  end
51
54
 
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # This command gets called when a content block is updated from the admin
6
6
  # panel.
7
- class UpdateContentBlock < Rectify::Command
7
+ class UpdateContentBlock < Decidim::Command
8
8
  attr_reader :form, :content_block, :scope
9
9
 
10
10
  # Public: Initializes the command.
@@ -2,18 +2,21 @@
2
2
 
3
3
  module Decidim
4
4
  module Admin
5
- class UpdateExternalDomainWhitelist < Rectify::Command
5
+ class UpdateExternalDomainWhitelist < Decidim::Command
6
6
  attr_reader :form, :organization
7
7
 
8
- def initialize(form, organization)
8
+ def initialize(form, organization, user)
9
9
  @form = form
10
10
  @organization = organization
11
+ @user = user
11
12
  end
12
13
 
13
14
  def call
14
15
  return broadcast(:invalid) if form.invalid?
15
16
 
16
- save_domains!
17
+ Decidim.traceability.perform_action!("update_external_domain", @organization, @user) do
18
+ save_domains!
19
+ end
17
20
 
18
21
  broadcast(:ok)
19
22
  end
@@ -4,10 +4,11 @@ module Decidim
4
4
  module Admin
5
5
  # This command gets called when a content block is updated from the admin
6
6
  # panel.
7
- class UpdateHelpSections < Rectify::Command
8
- def initialize(form, organization)
7
+ class UpdateHelpSections < Decidim::Command
8
+ def initialize(form, organization, user)
9
9
  @form = form
10
10
  @organization = organization
11
+ @user = user
11
12
  end
12
13
 
13
14
  def call
@@ -15,12 +16,25 @@ module Decidim
15
16
 
16
17
  ActiveRecord::Base.transaction do
17
18
  @form.sections.each do |section|
18
- ContextualHelpSection.set_content(@organization, section.id, section.content)
19
+ next unless content_has_changed?(section)
20
+
21
+ Decidim.traceability.perform_action!("update", ContextualHelpSection, @user, { "resource" => { "title" => section.id.humanize } }) do
22
+ ContextualHelpSection.set_content(@organization, section.id, section.content)
23
+ ContextualHelpSection.find_by(organization: @organization, section_id: section.id)
24
+ end
19
25
  end
20
26
  end
21
27
 
22
28
  broadcast(:ok)
23
29
  end
30
+
31
+ private
32
+
33
+ def content_has_changed?(section)
34
+ return if ContextualHelpSection.find_by(organization: @organization, section_id: section.id).nil? && section.content.compact_blank.blank?
35
+
36
+ section.content != ContextualHelpSection.find_content(@organization, section.id).except("machine_translations")
37
+ end
24
38
  end
25
39
  end
26
40
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # Updates the newsletter given form data.
6
- class UpdateNewsletter < Rectify::Command
6
+ class UpdateNewsletter < Decidim::Command
7
7
  # Initializes the command.
8
8
  #
9
9
  # newsletter - The Newsletter to update.
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic for updating the current
6
6
  # organization.
7
- class UpdateOrganization < Rectify::Command
7
+ class UpdateOrganization < Decidim::Command
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # organization - The Organization that will be updated.
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic for updating the current
6
6
  # organization appearance.
7
- class UpdateOrganizationAppearance < Rectify::Command
7
+ class UpdateOrganizationAppearance < Decidim::Command
8
8
  include ::Decidim::AttachmentAttributesMethods
9
9
 
10
10
  # Public: Initializes the command.
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # A command with the business logic for updating the current
6
6
  # organization tos_version attribute.
7
- class UpdateOrganizationTosVersion < Rectify::Command
7
+ class UpdateOrganizationTosVersion < Decidim::Command
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # organization - The Organization that will be updated.
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Admin
5
5
  # This command gets called when permissions for a resource not related with
6
6
  # a component are updated in the admin panel.
7
- class UpdateResourcePermissions < Rectify::Command
7
+ class UpdateResourcePermissions < Decidim::Command
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # form - The form from which the data in this resource comes from.
@@ -40,7 +40,7 @@ module Decidim
40
40
  def update_permissions
41
41
  permissions = configured_permissions.inject({}) do |result, (key, value)|
42
42
  handlers_content = selected_handlers(value).inject({}) do |handlers_content_result, handler_key|
43
- opts = value.authorization_handlers_options[handler_key.to_sym]
43
+ opts = value.authorization_handlers_options[handler_key.to_s]
44
44
 
45
45
  handlers_content_result.update(handler_key => opts ? { options: opts } : {})
46
46
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a scope.
6
- class UpdateScope < Rectify::Command
6
+ class UpdateScope < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # scope - The Scope to update
@@ -3,14 +3,15 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a scope type.
6
- class UpdateScopeType < Rectify::Command
6
+ class UpdateScopeType < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # scope_type - The ScopeType to update
10
10
  # form - A form object with the params.
11
- def initialize(scope_type, form)
11
+ def initialize(scope_type, form, user)
12
12
  @scope_type = scope_type
13
13
  @form = form
14
+ @user = user
14
15
  end
15
16
 
16
17
  # Executes the command. Broadcasts these events:
@@ -31,7 +32,11 @@ module Decidim
31
32
  attr_reader :form
32
33
 
33
34
  def update_scope_type
34
- @scope_type.update!(attributes)
35
+ Decidim.traceability.update!(
36
+ @scope_type,
37
+ @user,
38
+ attributes
39
+ )
35
40
  end
36
41
 
37
42
  def attributes
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a static page.
6
- class UpdateStaticPage < Rectify::Command
6
+ class UpdateStaticPage < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # page - The StaticPage to update
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a static page topic.
6
- class UpdateStaticPageTopic < Rectify::Command
6
+ class UpdateStaticPageTopic < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # page - The StaticPageTopic to update
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when updating a usergroup.
6
- class UpdateUserGroups < Rectify::Command
6
+ class UpdateUserGroups < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # scope - The Scope to update
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Admin
5
5
  # A command with all the business logic when verifying a user_group.
6
- class VerifyUserGroup < Rectify::Command
6
+ class VerifyUserGroup < Decidim::Command
7
7
  # Public: Initializes the command.
8
8
  #
9
9
  # user_group - The user_group to verify
@@ -31,7 +31,7 @@ module Decidim
31
31
  delegate :scopes, to: :current_organization
32
32
 
33
33
  def query
34
- @query ||= base_query.ransack(ransack_params)
34
+ @query ||= base_query.ransack(ransack_params, search_context: :admin, auth_object: current_user)
35
35
  end
36
36
 
37
37
  private
@@ -11,7 +11,9 @@ module Decidim
11
11
  def create
12
12
  enforce_permission_to :create, :export_space, participatory_space: exportable_space
13
13
 
14
- ExportParticipatorySpaceJob.perform_later(current_user, exportable_space, manifest_name, default_format)
14
+ Decidim.traceability.perform_action!("export", exportable_space, current_user) do
15
+ ExportParticipatorySpaceJob.perform_later(current_user, exportable_space, manifest_name, default_format)
16
+ end
15
17
 
16
18
  flash[:notice] = t("decidim.admin.exports.notice")
17
19
 
@@ -6,6 +6,7 @@ module Decidim
6
6
  class ApplicationController < ::DecidimController
7
7
  include NeedsOrganization
8
8
  include NeedsPermission
9
+ include NeedsPasswordChange
9
10
  include NeedsSnippets
10
11
  include FormFactory
11
12
  include LocaleSwitcher
@@ -21,7 +21,7 @@ module Decidim
21
21
  enforce_permission_to :create, :area_type
22
22
  @form = form(AreaTypeForm).from_params(params)
23
23
 
24
- CreateAreaType.call(@form) do
24
+ CreateAreaType.call(@form, current_user) do
25
25
  on(:ok) do
26
26
  flash[:notice] = I18n.t("area_types.create.success", scope: "decidim.admin")
27
27
  redirect_to area_types_path
@@ -43,7 +43,7 @@ module Decidim
43
43
  enforce_permission_to :update, :area_type, area_type: area_type
44
44
  @form = form(AreaTypeForm).from_params(params)
45
45
 
46
- UpdateAreaType.call(area_type, @form) do
46
+ UpdateAreaType.call(area_type, @form, current_user) do
47
47
  on(:ok) do
48
48
  flash[:notice] = I18n.t("area_types.update.success", scope: "decidim.admin")
49
49
  redirect_to area_types_path
@@ -58,7 +58,10 @@ module Decidim
58
58
 
59
59
  def destroy
60
60
  enforce_permission_to :destroy, :area_type, area_type: area_type
61
- area_type.destroy!
61
+
62
+ Decidim.traceability.perform_action!("delete", area_type, current_user) do
63
+ area_type.destroy!
64
+ end
62
65
 
63
66
  flash[:notice] = I18n.t("area_types.destroy.success", scope: "decidim.admin")
64
67
 
@@ -21,7 +21,7 @@ module Decidim
21
21
  BlockUser.call(@form) do
22
22
  on(:ok) do
23
23
  flash[:notice] = I18n.t("officializations.block.success", scope: "decidim.admin")
24
- redirect_to moderated_users_path(blocked: true), notice: notice
24
+ redirect_to officializations_path(q: { name_or_nickname_or_email_cont: user.name }), notice: notice
25
25
  end
26
26
 
27
27
  on(:invalid) do
@@ -44,13 +44,13 @@ module Decidim
44
44
  end
45
45
  end
46
46
 
47
- redirect_to moderated_users_path(blocked: false), notice: notice
47
+ redirect_to officializations_path(q: { name_or_nickname_or_email_cont: user.name }), notice: notice
48
48
  end
49
49
 
50
50
  private
51
51
 
52
52
  def user
53
- @user ||= Decidim::UserBaseEntity.find_by(
53
+ @user ||= Decidim::User.find_by(
54
54
  id: params[:user_id],
55
55
  organization: current_organization
56
56
  )
@@ -21,7 +21,7 @@ module Decidim
21
21
  enforce_permission_to :create, :category
22
22
  @form = form(CategoryForm).from_params(params, current_participatory_space: current_participatory_space)
23
23
 
24
- CreateCategory.call(@form, current_participatory_space) do
24
+ CreateCategory.call(@form, current_participatory_space, current_user) do
25
25
  on(:ok) do
26
26
  flash[:notice] = I18n.t("categories.create.success", scope: "decidim.admin")
27
27
  redirect_to categories_path(current_participatory_space)
@@ -45,7 +45,7 @@ module Decidim
45
45
  enforce_permission_to :update, :category, category: @category
46
46
  @form = form(CategoryForm).from_params(params, current_participatory_space: current_participatory_space)
47
47
 
48
- UpdateCategory.call(@category, @form) do
48
+ UpdateCategory.call(@category, @form, current_user) do
49
49
  on(:ok) do
50
50
  flash[:notice] = I18n.t("categories.update.success", scope: "decidim.admin")
51
51
  redirect_to categories_path(current_participatory_space)
@@ -67,7 +67,7 @@ module Decidim
67
67
  @category = collection.find(params[:id])
68
68
  enforce_permission_to :destroy, :category, category: @category
69
69
 
70
- DestroyCategory.call(@category) do
70
+ DestroyCategory.call(@category, current_user) do
71
71
  on(:ok) do
72
72
  flash[:notice] = I18n.t("categories.destroy.success", scope: "decidim.admin")
73
73
  end
@@ -20,7 +20,7 @@ module Decidim
20
20
  enforce_permission_to :update, :component, component: component
21
21
  @permissions_form = PermissionsForm.from_params(params)
22
22
 
23
- UpdateComponentPermissions.call(@permissions_form, component, resource) do
23
+ UpdateComponentPermissions.call(@permissions_form, component, resource, current_user) do
24
24
  on(:ok) do
25
25
  flash[:notice] = t("component_permissions.update.success", scope: "decidim.admin")
26
26
  redirect_to return_path
@@ -15,6 +15,7 @@ module Decidim
15
15
  helper Decidim::ResourceHelper
16
16
  helper Decidim::Admin::ExportsHelper
17
17
  helper Decidim::Admin::ImportsHelper
18
+ helper Decidim::Admin::RemindersHelper
18
19
  helper Decidim::Admin::BulkActionsHelper
19
20
  helper Decidim::Admin::ResourcePermissionsHelper
20
21
 
@@ -58,7 +58,7 @@ module Decidim
58
58
  @form = form(@component.form_class).from_params(component_params)
59
59
  enforce_permission_to :update, :component, component: @component
60
60
 
61
- UpdateComponent.call(@form, @component) do
61
+ UpdateComponent.call(@form, @component, current_user) do
62
62
  on(:ok) do |settings_changed, previous_settings, current_settings|
63
63
  handle_component_settings_change(previous_settings, current_settings) if settings_changed
64
64