decidim-cdtb 0.4.2 → 0.5.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +4 -1
- data/Gemfile +4 -4
- data/Gemfile.lock +454 -451
- data/decidim-cdtb.gemspec +1 -2
- data/lib/decidim/cdtb/fixes/nickname_fixer.rb +6 -3
- data/lib/decidim/cdtb/fixes/you_tube_embeds_fixer.rb +1 -1
- data/lib/decidim/cdtb/participatory_spaces/add_content_blocks.rb +1 -1
- data/lib/decidim/cdtb/participatory_spaces/manages_content_blocks.rb +2 -2
- data/lib/decidim/cdtb/participatory_spaces/move_images_to_content_block.rb +1 -1
- data/lib/decidim/cdtb/spam/user_spam_detector.rb +1 -1
- data/lib/decidim/cdtb/storage/local_sharding.rb +1 -1
- data/lib/decidim/cdtb/task.rb +1 -1
- data/lib/decidim/cdtb/upgrades/upgrade_modules_task.rb +1 -1
- data/lib/decidim/cdtb/upgrades/validate_migrations_task.rb +1 -1
- data/lib/decidim/cdtb/users/remover.rb +1 -1
- data/lib/decidim/cdtb/version.rb +2 -2
- data/lib/tasks/anonymize.rake +3 -3
- data/lib/tasks/census.rake +1 -1
- data/lib/tasks/fix_youtube_embeds.rake +1 -1
- data/lib/tasks/multitenants.rake +1 -1
- data/lib/tasks/participatory_spaces.rake +2 -2
- data/lib/tasks/spam.rake +1 -1
- data/lib/tasks/storage.rake +1 -1
- data/lib/tasks/upgrade.rake +2 -2
- data/lib/tasks/users.rake +3 -3
- metadata +8 -22
data/decidim-cdtb.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "A gem to help managing Decidim applications."
|
13
13
|
spec.homepage = "https://github.com/CodiTramuntana/decidim-module-cdtb"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">= 3.
|
15
|
+
spec.required_ruby_version = ">= 3.1.7"
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
@@ -34,6 +34,5 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency "ruby-progressbar"
|
35
35
|
|
36
36
|
spec.add_development_dependency "decidim-dev", Decidim::Cdtb::DECIDIM_MIN_VERSION
|
37
|
-
spec.add_development_dependency "faker"
|
38
37
|
spec.metadata["rubygems_mfa_required"] = "true"
|
39
38
|
end
|
@@ -7,12 +7,15 @@ module Decidim
|
|
7
7
|
#
|
8
8
|
class NicknameFixer < ::Decidim::Cdtb::Task
|
9
9
|
def initialize
|
10
|
+
regex= Decidim::UserBaseEntity::REGEXP_NICKNAME.source.gsub("\\z", "\\Z")
|
11
|
+
@query= Decidim::User.where.not("nickname ~ ?", regex)
|
12
|
+
|
10
13
|
progress_bar= { title: "Decidim::User" }
|
11
|
-
super("FIX NICKNAMES", progress_bar:
|
14
|
+
super("FIX NICKNAMES", progress_bar:)
|
12
15
|
end
|
13
16
|
|
14
17
|
def prepare_execution(_ctx)
|
15
|
-
@num_users=
|
18
|
+
@num_users= @query.count
|
16
19
|
log_task_info("Checking #{@num_users} users...")
|
17
20
|
end
|
18
21
|
|
@@ -23,7 +26,7 @@ module Decidim
|
|
23
26
|
def do_execution(context)
|
24
27
|
progress_bar= context[:progress_bar]
|
25
28
|
|
26
|
-
|
29
|
+
@query.find_each do |user|
|
27
30
|
Decidim::User.validators_on(:nickname).each do |validator|
|
28
31
|
validator.validate_each(user, :nickname, user.nickname)
|
29
32
|
end
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
progress_bar= { title: self.class.name }
|
14
14
|
@processed_models = processed_models
|
15
15
|
@content_block_names = content_block_names
|
16
|
-
super("ADD CONTENT BLOCKS", progress_bar:
|
16
|
+
super("ADD CONTENT BLOCKS", progress_bar:)
|
17
17
|
end
|
18
18
|
|
19
19
|
attr_reader :num_added
|
@@ -18,7 +18,7 @@ module Decidim
|
|
18
18
|
log_task_step("Adding #{content_block_name} to #{space.slug}[#{space.id}]")
|
19
19
|
Decidim::ContentBlock.create(
|
20
20
|
decidim_organization_id: space.organization.id,
|
21
|
-
weight
|
21
|
+
weight:,
|
22
22
|
scope_name: scope_name(space),
|
23
23
|
scoped_resource_id: space.id,
|
24
24
|
manifest_name: content_block_name,
|
@@ -39,7 +39,7 @@ module Decidim
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def current_space_content_blocks(scope_name, organization, scoped_resource_id)
|
42
|
-
Decidim::ContentBlock.for_scope(scope_name, organization:
|
42
|
+
Decidim::ContentBlock.for_scope(scope_name, organization:).where(scoped_resource_id:)
|
43
43
|
end
|
44
44
|
|
45
45
|
def manifest_for(resource)
|
@@ -12,7 +12,7 @@ module Decidim
|
|
12
12
|
def initialize(processed_models)
|
13
13
|
progress_bar= { title: self.class.name }
|
14
14
|
@processed_models = processed_models
|
15
|
-
super("MOVING IMAGES...", progress_bar:
|
15
|
+
super("MOVING IMAGES...", progress_bar:)
|
16
16
|
end
|
17
17
|
|
18
18
|
attr_reader :num_added
|
@@ -17,7 +17,7 @@ module Decidim
|
|
17
17
|
def initialize(organization = nil)
|
18
18
|
@organization = organization
|
19
19
|
progress_bar = { title: "Decidim::User" }
|
20
|
-
super("SPAM DETECTOR", progress_bar:
|
20
|
+
super("SPAM DETECTOR", progress_bar:)
|
21
21
|
end
|
22
22
|
|
23
23
|
def prepare_execution(_ctx)
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
class LocalSharding < ::Decidim::Cdtb::Task
|
12
12
|
def initialize
|
13
13
|
progress_bar= { title: "ActiveStorage::Blob" }
|
14
|
-
super("S3 to local: DO SHARDING", progress_bar:
|
14
|
+
super("S3 to local: DO SHARDING", progress_bar:)
|
15
15
|
end
|
16
16
|
|
17
17
|
def prepare_execution(_ctx)
|
data/lib/decidim/cdtb/task.rb
CHANGED
@@ -29,7 +29,7 @@ module Decidim
|
|
29
29
|
init
|
30
30
|
ctx= {}
|
31
31
|
prepare_execution(ctx)
|
32
|
-
ctx[:progress_bar]= ProgressBar.create(total: total_items, title:
|
32
|
+
ctx[:progress_bar]= ProgressBar.create(total: total_items, title:) if has_progress?
|
33
33
|
do_execution(ctx)
|
34
34
|
end_execution(ctx)
|
35
35
|
finish
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
@csv_path = csv_path
|
12
12
|
@reporter_user_email = reporter_user_email
|
13
13
|
progress_bar = { title: "Decidim::User" }
|
14
|
-
super("USER REMOVER", progress_bar:
|
14
|
+
super("USER REMOVER", progress_bar:)
|
15
15
|
end
|
16
16
|
|
17
17
|
def prepare_execution(_ctx); end
|
data/lib/decidim/cdtb/version.rb
CHANGED
data/lib/tasks/anonymize.rake
CHANGED
@@ -12,7 +12,7 @@ namespace :cdtb do
|
|
12
12
|
|
13
13
|
def with_progress(collection, name:)
|
14
14
|
total = collection.count
|
15
|
-
progressbar = create_progress_bar(total:
|
15
|
+
progressbar = create_progress_bar(total:)
|
16
16
|
|
17
17
|
puts "Anonymizing #{total} #{name}...\n"
|
18
18
|
skip_logs do
|
@@ -27,7 +27,7 @@ namespace :cdtb do
|
|
27
27
|
ProgressBar.create(
|
28
28
|
progress_mark: " ",
|
29
29
|
remainder_mark: "\u{FF65}",
|
30
|
-
total
|
30
|
+
total:,
|
31
31
|
format: "%a %e %b\u{15E7}%i %p%% %t"
|
32
32
|
)
|
33
33
|
end
|
@@ -73,7 +73,7 @@ namespace :cdtb do
|
|
73
73
|
identity.update_columns(uid: "anonymized-identity-#{identity.id}")
|
74
74
|
end
|
75
75
|
|
76
|
-
Decidim::Authorization.where(user:
|
76
|
+
Decidim::Authorization.where(user:).find_each do |authorization|
|
77
77
|
authorization.update_columns(unique_id: authorization.id)
|
78
78
|
end
|
79
79
|
end
|
data/lib/tasks/census.rake
CHANGED
@@ -51,7 +51,7 @@ namespace :cdtb do
|
|
51
51
|
else
|
52
52
|
Decidim::Organization.find(arguments.first)
|
53
53
|
end
|
54
|
-
handler.with_context(current_organization:
|
54
|
+
handler.with_context(current_organization:)
|
55
55
|
|
56
56
|
credentials= arguments.map { |arg| arg.split(":") }
|
57
57
|
puts "Setting credentials: #{credentials}"
|
data/lib/tasks/multitenants.rake
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#
|
6
6
|
namespace :cdtb do
|
7
7
|
require "decidim/cdtb/tasks_utils"
|
8
|
-
include
|
8
|
+
include Decidim::Cdtb::TasksUtils
|
9
9
|
|
10
10
|
desc <<~EODESC
|
11
11
|
Finds information about the Organization, or Organizations, searching by the :host_term argument ignorecase.
|
@@ -42,7 +42,7 @@ namespace :cdtb do
|
|
42
42
|
return "Please, select an option"
|
43
43
|
end
|
44
44
|
|
45
|
-
adder =
|
45
|
+
adder = Decidim::Cdtb::ParticipatorySpaces::AddContentBlocks.new(processed_models, content_block_names)
|
46
46
|
adder.execute!
|
47
47
|
end
|
48
48
|
|
@@ -81,7 +81,7 @@ namespace :cdtb do
|
|
81
81
|
return "Please, select an option"
|
82
82
|
end
|
83
83
|
|
84
|
-
adder =
|
84
|
+
adder = Decidim::Cdtb::ParticipatorySpaces::MoveImagesToContentBlock.new(processed_models)
|
85
85
|
adder.execute!
|
86
86
|
end
|
87
87
|
end
|
data/lib/tasks/spam.rake
CHANGED
@@ -6,7 +6,7 @@ namespace :cdtb do
|
|
6
6
|
task :users, %i[org_id] => :environment do |_task, args|
|
7
7
|
organization = args.org_id.present? ? Decidim::Organization.find(args.org_id) : nil
|
8
8
|
|
9
|
-
detector =
|
9
|
+
detector = Decidim::Cdtb::Spam::UserSpamDetector.new(organization)
|
10
10
|
detector.execute!
|
11
11
|
end
|
12
12
|
end
|
data/lib/tasks/storage.rake
CHANGED
data/lib/tasks/upgrade.rake
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
namespace :cdtb do
|
7
7
|
namespace :upgrades do
|
8
8
|
require "decidim/cdtb/tasks_utils"
|
9
|
-
include
|
9
|
+
include Decidim::Cdtb::TasksUtils
|
10
10
|
|
11
11
|
desc <<~EODESC
|
12
12
|
Validates that migrations from all gems in the Gemfile have been installed.
|
13
13
|
EODESC
|
14
14
|
task validate_migrations: [:environment] do
|
15
|
-
task=
|
15
|
+
task= Decidim::Cdtb::Upgrades::ValidateMigrationsTask.new
|
16
16
|
task.execute!
|
17
17
|
raise("There are pending migrations") if task.pending_migrations?
|
18
18
|
end
|
data/lib/tasks/users.rake
CHANGED
@@ -8,7 +8,7 @@ namespace :cdtb do
|
|
8
8
|
Fix Decidim::User's nicknames.
|
9
9
|
EODESC
|
10
10
|
task fix_nicknames: [:environment] do
|
11
|
-
fixer=
|
11
|
+
fixer= Decidim::Cdtb::Fixes::NicknameFixer.new
|
12
12
|
fixer.execute!
|
13
13
|
end
|
14
14
|
|
@@ -16,7 +16,7 @@ namespace :cdtb do
|
|
16
16
|
Remove Decidim::User's by IDs in a CSV.
|
17
17
|
EODESC
|
18
18
|
task :remove, %i[csv_path reporter_user_email] => [:environment] do |_taks, args|
|
19
|
-
service =
|
19
|
+
service = Decidim::Cdtb::Users::Remover.new(args.csv_path, args.reporter_user_email)
|
20
20
|
service.execute!
|
21
21
|
end
|
22
22
|
|
@@ -30,7 +30,7 @@ namespace :cdtb do
|
|
30
30
|
filename= "admins"
|
31
31
|
|
32
32
|
if organization_id.present?
|
33
|
-
query= query.where(organization_id:
|
33
|
+
query= query.where(organization_id:)
|
34
34
|
filename+= "-org#{organization_id}"
|
35
35
|
end
|
36
36
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-cdtb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oliver Valls
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-04-
|
11
|
+
date: 2025-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.28.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.28.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,28 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.28.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: faker
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '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'
|
68
|
+
version: 0.28.0
|
83
69
|
description: A gem to help managing Decidim applications.
|
84
70
|
email:
|
85
71
|
- 199462+tramuntanal@users.noreply.github.com
|
@@ -151,14 +137,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
137
|
requirements:
|
152
138
|
- - ">="
|
153
139
|
- !ruby/object:Gem::Version
|
154
|
-
version: 3.
|
140
|
+
version: 3.1.7
|
155
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - ">="
|
158
144
|
- !ruby/object:Gem::Version
|
159
145
|
version: '0'
|
160
146
|
requirements: []
|
161
|
-
rubygems_version: 3.
|
147
|
+
rubygems_version: 3.3.27
|
162
148
|
signing_key:
|
163
149
|
specification_version: 4
|
164
150
|
summary: CodiTramuntana's Decidim Toolbelt (cdtb).
|