decidim-cleaner 0.0.1

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 (38) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +59 -0
  4. data/Rakefile +40 -0
  5. data/app/commands/decidim/cleaner/admin/update_organization_cleaner.rb +56 -0
  6. data/app/controllers/decidim/cleaner/admin/application_controller.rb +26 -0
  7. data/app/controllers/decidim/cleaner/admin/organization_cleaner_controller.rb +36 -0
  8. data/app/controllers/decidim/cleaner/application_controller.rb +13 -0
  9. data/app/forms/decidim/cleaner/admin/organization_cleaner_form.rb +21 -0
  10. data/app/helpers/decidim/cleaner/application_helper.rb +10 -0
  11. data/app/jobs/decidim/cleaner/clean_admin_logs_job.rb +17 -0
  12. data/app/jobs/decidim/cleaner/clean_inactive_users_job.rb +38 -0
  13. data/app/mailers/decidim/cleaner/inactive_users_mailer.rb +33 -0
  14. data/app/models/decidim/cleaner/application_record.rb +10 -0
  15. data/app/packs/entrypoints/decidim_cleaner.js +2 -0
  16. data/app/packs/images/decidim/cleaner/icon.svg +1 -0
  17. data/app/packs/stylesheets/decidim/cleaner/cleaner.scss +1 -0
  18. data/app/permissions/decidim/cleaner/admin/permissions.rb +23 -0
  19. data/app/views/decidim/cleaner/admin/organization_cleaner/_form.html.erb +39 -0
  20. data/app/views/decidim/cleaner/admin/organization_cleaner/edit.html.erb +6 -0
  21. data/app/views/decidim/cleaner/inactive_users_mailer/warning_deletion.html.erb +7 -0
  22. data/app/views/decidim/cleaner/inactive_users_mailer/warning_inactive.html.erb +7 -0
  23. data/config/assets.rb +9 -0
  24. data/config/i18n-tasks.yml +10 -0
  25. data/config/locales/en.yml +38 -0
  26. data/config/locales/fr.yml +38 -0
  27. data/config/routes.rb +9 -0
  28. data/db/migrate/20230106105014_add_delete_admin_logs_to_organization.rb +8 -0
  29. data/db/migrate/20230110150032_add_delete_inactive_users_to_organization.rb +9 -0
  30. data/lib/decidim/cleaner/admin.rb +10 -0
  31. data/lib/decidim/cleaner/admin_engine.rb +28 -0
  32. data/lib/decidim/cleaner/component.rb +40 -0
  33. data/lib/decidim/cleaner/engine.rb +17 -0
  34. data/lib/decidim/cleaner/test/factories.rb +11 -0
  35. data/lib/decidim/cleaner/version.rb +14 -0
  36. data/lib/decidim/cleaner.rb +12 -0
  37. data/lib/tasks/decidim_cleaner_tasks.rake +13 -0
  38. metadata +98 -0
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/components/namer"
4
+
5
+ Decidim.register_component(:cleaner) do |component|
6
+ component.engine = Decidim::Cleaner::Engine
7
+ component.admin_engine = Decidim::Cleaner::AdminEngine
8
+ component.icon = "decidim/cleaner/icon.svg"
9
+
10
+ # component.on(:before_destroy) do |instance|
11
+ # # Code executed before removing the component
12
+ # end
13
+
14
+ # These actions permissions can be configured in the admin panel
15
+ # component.actions = %w()
16
+
17
+ # component.settings(:global) do |settings|
18
+ # # Add your global settings
19
+ # # Available types: :integer, :boolean
20
+ # # settings.attribute :vote_limit, type: :integer, default: 0
21
+ # end
22
+
23
+ # component.settings(:step) do |settings|
24
+ # # Add your settings per step
25
+ # end
26
+
27
+ # component.register_resource(:some_resource) do |resource|
28
+ # # Register a optional resource that can be references from other resources.
29
+ # resource.model_class_name = "Decidim::Cleaner::SomeResource"
30
+ # resource.template = "decidim/cleaner/some_resources/linked_some_resources"
31
+ # end
32
+
33
+ # component.register_stat :some_stat do |context, start_at, end_at|
34
+ # # Register some stat number to the application
35
+ # end
36
+
37
+ # component.seeds do |participatory_space|
38
+ # # Add some seeds for this component
39
+ # end
40
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails"
4
+ require "decidim/core"
5
+
6
+ module Decidim
7
+ module Cleaner
8
+ # This is the engine that runs on the public interface of cleaner.
9
+ class Engine < ::Rails::Engine
10
+ isolate_namespace Decidim::Cleaner
11
+
12
+ initializer "Cleaner.webpacker.assets_path" do
13
+ Decidim.register_assets_path File.expand_path("app/packs", root)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/core/test/factories"
4
+
5
+ FactoryBot.define do
6
+ factory :cleaner_component, parent: :component do
7
+ name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :cleaner).i18n_name }
8
+ manifest_name { :cleaner }
9
+ participatory_space { create(:participatory_process, :with_steps) }
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # This holds the decidim-meetings version.
5
+ module Cleaner
6
+ def self.version
7
+ "0.0.1"
8
+ end
9
+
10
+ def self.decidim_version
11
+ "0.26"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/cleaner/admin"
4
+ require "decidim/cleaner/engine"
5
+ require "decidim/cleaner/admin_engine"
6
+ require "decidim/cleaner/component"
7
+
8
+ module Decidim
9
+ # This namespace holds the logic of the `Cleaner` module.
10
+ module Cleaner
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim_cleaner do
4
+ desc "Warns and deletes inactive users"
5
+ task clean_inactive_users: :environment do
6
+ Decidim::Cleaner::CleanInactiveUsersJob.perform_now
7
+ end
8
+
9
+ desc "Deletes old admin logs"
10
+ task clean_admin_logs: :environment do
11
+ Decidim::Cleaner::CleanAdminLogsJob.perform_now
12
+ end
13
+ end
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: decidim-cleaner
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Quentinchampenois
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-02-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: decidim-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.26'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.26'
27
+ description: Clean outdated data in Decidim's database.
28
+ email:
29
+ - 26109239+Quentinchampenois@users.noreply.github.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE-AGPLv3.txt
35
+ - README.md
36
+ - Rakefile
37
+ - app/commands/decidim/cleaner/admin/update_organization_cleaner.rb
38
+ - app/controllers/decidim/cleaner/admin/application_controller.rb
39
+ - app/controllers/decidim/cleaner/admin/organization_cleaner_controller.rb
40
+ - app/controllers/decidim/cleaner/application_controller.rb
41
+ - app/forms/decidim/cleaner/admin/organization_cleaner_form.rb
42
+ - app/helpers/decidim/cleaner/application_helper.rb
43
+ - app/jobs/decidim/cleaner/clean_admin_logs_job.rb
44
+ - app/jobs/decidim/cleaner/clean_inactive_users_job.rb
45
+ - app/mailers/decidim/cleaner/inactive_users_mailer.rb
46
+ - app/models/decidim/cleaner/application_record.rb
47
+ - app/packs/entrypoints/decidim_cleaner.js
48
+ - app/packs/images/decidim/cleaner/icon.svg
49
+ - app/packs/stylesheets/decidim/cleaner/cleaner.scss
50
+ - app/permissions/decidim/cleaner/admin/permissions.rb
51
+ - app/views/decidim/cleaner/admin/organization_cleaner/_form.html.erb
52
+ - app/views/decidim/cleaner/admin/organization_cleaner/edit.html.erb
53
+ - app/views/decidim/cleaner/inactive_users_mailer/warning_deletion.html.erb
54
+ - app/views/decidim/cleaner/inactive_users_mailer/warning_inactive.html.erb
55
+ - config/assets.rb
56
+ - config/i18n-tasks.yml
57
+ - config/locales/en.yml
58
+ - config/locales/fr.yml
59
+ - config/routes.rb
60
+ - db/migrate/20230106105014_add_delete_admin_logs_to_organization.rb
61
+ - db/migrate/20230110150032_add_delete_inactive_users_to_organization.rb
62
+ - lib/decidim/cleaner.rb
63
+ - lib/decidim/cleaner/admin.rb
64
+ - lib/decidim/cleaner/admin_engine.rb
65
+ - lib/decidim/cleaner/component.rb
66
+ - lib/decidim/cleaner/engine.rb
67
+ - lib/decidim/cleaner/test/factories.rb
68
+ - lib/decidim/cleaner/version.rb
69
+ - lib/tasks/decidim_cleaner_tasks.rake
70
+ homepage: https://decidim.org
71
+ licenses:
72
+ - AGPL-3.0
73
+ metadata:
74
+ bug_tracker_uri: https://github.com/decidim/decidim/issues
75
+ documentation_uri: https://docs.decidim.org/
76
+ funding_uri: https://opencollective.com/decidim
77
+ homepage_uri: https://decidim.org
78
+ source_code_uri: https://github.com/decidim/decidim
79
+ post_install_message:
80
+ rdoc_options: []
81
+ require_paths:
82
+ - lib
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: 2.7.5
88
+ required_rubygems_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ requirements: []
94
+ rubygems_version: 3.3.7
95
+ signing_key:
96
+ specification_version: 4
97
+ summary: A decidim cleaner module
98
+ test_files: []