decidim-decidim_awesome 0.11.4 → 0.12.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/CHANGELOG.md +14 -6
- data/README.md +9 -25
- data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/show.erb +1 -1
- data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal_cell.rb +3 -5
- data/app/commands/concerns/decidim/decidim_awesome/system/{register_organization_override.rb → create_organization_override.rb} +1 -1
- data/app/commands/concerns/decidim/decidim_awesome/update_account_override.rb +4 -4
- data/app/commands/decidim/decidim_awesome/admin/create_constraint.rb +1 -1
- data/app/commands/decidim/decidim_awesome/create_editor_image.rb +2 -2
- data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +0 -6
- data/app/forms/concerns/decidim/decidim_awesome/proposals/{proposal_wizard_create_step_form_override.rb → proposal_form_customizations.rb} +1 -1
- data/app/forms/concerns/decidim/decidim_awesome/system/organization_form_override.rb +2 -2
- data/app/packs/entrypoints/decidim_admin_decidim_awesome_search_form.scss +1 -0
- data/app/packs/stylesheets/decidim/decidim_awesome/admin/admin_accountability.scss +67 -0
- data/app/permissions/decidim/decidim_awesome/permissions.rb +3 -2
- data/app/uploaders/decidim/decidim_awesome/image_uploader.rb +12 -0
- data/app/views/decidim/decidim_awesome/admin/admin_accountability/index.html.erb +1 -0
- data/app/views/decidim/decidim_awesome/admin/shared/_filters_with_date.html.erb +41 -32
- data/app/views/decidim/decidim_awesome/map_component/map/_map_template.html.erb +1 -1
- data/config/assets.rb +2 -1
- data/lib/decidim/decidim_awesome/awesome.rb +20 -20
- data/lib/decidim/decidim_awesome/checksums.yml +32 -2
- data/lib/decidim/decidim_awesome/context_analyzers/request_analyzer.rb +2 -2
- data/lib/decidim/decidim_awesome/engine.rb +5 -4
- data/lib/decidim/decidim_awesome/test/shared_examples/box_label_editor_examples.rb +14 -14
- data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +1 -1
- data/lib/decidim/decidim_awesome/test/shared_examples/custom_fields_examples.rb +8 -8
- data/lib/decidim/decidim_awesome/test/shared_examples/custom_styles_examples.rb +6 -6
- data/lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb +3 -3
- data/lib/decidim/decidim_awesome/test/shared_examples/scoped_admins_examples.rb +5 -5
- data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +8 -8
- data/lib/decidim/decidim_awesome/version.rb +2 -2
- data/lib/decidim/decidim_awesome.rb +0 -1
- data/lib/tasks/decidim_awesome_upgrade_tasks.rake +0 -4
- data/package.json +8 -16
- metadata +15 -17
- data/app/jobs/decidim/decidim_awesome/migrate_legacy_images_job.rb +0 -107
- data/app/uploaders/decidim/cw/decidim_awesome/image_uploader.rb +0 -26
- data/lib/decidim/decidim_awesome/content_parsers/editor_images_parser.rb +0 -39
- data/lib/tasks/decidim_awesome_active_storage_migrations_tasks.rake +0 -35
- /data/{app/middleware/decidim/decidim_awesome → lib/decidim/decidim_awesome/middleware}/current_config.rb +0 -0
@@ -11,7 +11,6 @@ require "decidim/decidim_awesome/map_component/component"
|
|
11
11
|
require "decidim/decidim_awesome/iframe_component/engine"
|
12
12
|
require "decidim/decidim_awesome/iframe_component/admin_engine"
|
13
13
|
require "decidim/decidim_awesome/iframe_component/component"
|
14
|
-
require "decidim/decidim_awesome/content_parsers/editor_images_parser"
|
15
14
|
|
16
15
|
# Engines to handle logic unrelated to participatory spaces or components
|
17
16
|
Decidim.register_global_engine(
|
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "decidim-module-decidim_awesome",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.12.0",
|
4
4
|
"description": "Mods and tweaks for Decidim",
|
5
5
|
"main": "index.js",
|
6
6
|
"directories": {
|
@@ -34,26 +34,18 @@
|
|
34
34
|
},
|
35
35
|
"prettier": "@decidim/prettier-config",
|
36
36
|
"devDependencies": {
|
37
|
-
"@
|
38
|
-
"@
|
39
|
-
"@
|
40
|
-
"@
|
41
|
-
"@babel/preset-env": "^7.23.9",
|
42
|
-
"@babel/preset-react": "^7.23.3",
|
43
|
-
"@decidim/dev": "0.28.4",
|
44
|
-
"@decidim/eslint-config": "0.28.4",
|
45
|
-
"@decidim/prettier-config": "0.28.4",
|
46
|
-
"@decidim/stylelint-config": "0.28.4",
|
37
|
+
"@decidim/dev": "0.29.1",
|
38
|
+
"@decidim/eslint-config": "0.29.1",
|
39
|
+
"@decidim/prettier-config": "0.29.1",
|
40
|
+
"@decidim/stylelint-config": "0.29.1",
|
47
41
|
"postcss-scss": "^4.0.9",
|
48
|
-
"sass-embedded": "
|
49
|
-
"@tarekraafat/autocomplete.js": "10.2.
|
42
|
+
"sass-embedded": "^1.83.1",
|
43
|
+
"@tarekraafat/autocomplete.js": "^10.2.9"
|
50
44
|
},
|
51
45
|
"dependencies": {
|
52
|
-
"
|
53
|
-
"codemirror": "^5.65.0",
|
46
|
+
"codemirror": "^5.65.16",
|
54
47
|
"form-storage": "^1.3.5",
|
55
48
|
"formBuilder": "^3.19.12",
|
56
|
-
"highlight.js": "^11.4.0",
|
57
49
|
"inline-attacher": "^0.0.7",
|
58
50
|
"jsrender": "^1.0.9",
|
59
51
|
"leaflet.featuregroup.subgroup": "^1.0.2",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-decidim_awesome
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Vergés
|
@@ -16,40 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.29.1
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0.
|
22
|
+
version: '0.30'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.29.1
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0.
|
32
|
+
version: '0.30'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: decidim-core
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.
|
39
|
+
version: 0.29.1
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '0.
|
42
|
+
version: '0.30'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
49
|
+
version: 0.29.1
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '0.
|
52
|
+
version: '0.30'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: deface
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +108,7 @@ files:
|
|
108
108
|
- app/commands/concerns/decidim/decidim_awesome/proposals/create_proposal_override.rb
|
109
109
|
- app/commands/concerns/decidim/decidim_awesome/proposals/update_collaborative_draft_override.rb
|
110
110
|
- app/commands/concerns/decidim/decidim_awesome/proposals/update_proposal_override.rb
|
111
|
-
- app/commands/concerns/decidim/decidim_awesome/system/
|
111
|
+
- app/commands/concerns/decidim/decidim_awesome/system/create_organization_override.rb
|
112
112
|
- app/commands/concerns/decidim/decidim_awesome/system/update_organization_override.rb
|
113
113
|
- app/commands/concerns/decidim/decidim_awesome/update_account_override.rb
|
114
114
|
- app/commands/decidim/decidim_awesome/admin/create_constraint.rb
|
@@ -161,8 +161,8 @@ files:
|
|
161
161
|
- app/controllers/decidim/decidim_awesome/map_component/map_controller.rb
|
162
162
|
- app/controllers/decidim/decidim_awesome/required_authorizations_controller.rb
|
163
163
|
- app/forms/concerns/decidim/decidim_awesome/account_form_override.rb
|
164
|
+
- app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_customizations.rb
|
164
165
|
- app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb
|
165
|
-
- app/forms/concerns/decidim/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb
|
166
166
|
- app/forms/concerns/decidim/decidim_awesome/system/organization_form_override.rb
|
167
167
|
- app/forms/decidim/decidim_awesome/admin/config_form.rb
|
168
168
|
- app/forms/decidim/decidim_awesome/admin/constraint_form.rb
|
@@ -178,8 +178,6 @@ files:
|
|
178
178
|
- app/helpers/decidim/decidim_awesome/map_helper.rb
|
179
179
|
- app/jobs/decidim/decidim_awesome/destroy_private_data_job.rb
|
180
180
|
- app/jobs/decidim/decidim_awesome/export_admin_actions_job.rb
|
181
|
-
- app/jobs/decidim/decidim_awesome/migrate_legacy_images_job.rb
|
182
|
-
- app/middleware/decidim/decidim_awesome/current_config.rb
|
183
181
|
- app/models/concerns/decidim/decidim_awesome/has_proposal_extra_fields.rb
|
184
182
|
- app/models/concerns/decidim/decidim_awesome/has_vote_weight.rb
|
185
183
|
- app/models/concerns/decidim/decidim_awesome/user_override.rb
|
@@ -209,6 +207,7 @@ files:
|
|
209
207
|
- app/packs/entrypoints/decidim_admin_decidim_awesome.scss
|
210
208
|
- app/packs/entrypoints/decidim_admin_decidim_awesome_global.js
|
211
209
|
- app/packs/entrypoints/decidim_admin_decidim_awesome_global.scss
|
210
|
+
- app/packs/entrypoints/decidim_admin_decidim_awesome_search_form.scss
|
212
211
|
- app/packs/entrypoints/decidim_decidim_awesome.js
|
213
212
|
- app/packs/entrypoints/decidim_decidim_awesome.scss
|
214
213
|
- app/packs/entrypoints/decidim_decidim_awesome_custom_fields.js
|
@@ -252,6 +251,7 @@ files:
|
|
252
251
|
- app/packs/src/decidim/decidim_awesome/proposals/images.js
|
253
252
|
- app/packs/src/decidim/decidim_awesome/voting/voting_cards.js
|
254
253
|
- app/packs/src/vendor/jquery.truncate.js
|
254
|
+
- app/packs/stylesheets/decidim/decidim_awesome/admin/admin_accountability.scss
|
255
255
|
- app/packs/stylesheets/decidim/decidim_awesome/admin/auto_edits.scss
|
256
256
|
- app/packs/stylesheets/decidim/decidim_awesome/admin/check_redirections.scss
|
257
257
|
- app/packs/stylesheets/decidim/decidim_awesome/admin/codemirror.scss
|
@@ -291,7 +291,6 @@ files:
|
|
291
291
|
- app/serializers/decidim/decidim_awesome/proposals/private_proposal_serializer.rb
|
292
292
|
- app/types/concerns/decidim/decidim_awesome/add_proposal_type_custom_fields.rb
|
293
293
|
- app/types/concerns/decidim/decidim_awesome/add_proposal_type_vote_weights.rb
|
294
|
-
- app/uploaders/decidim/cw/decidim_awesome/image_uploader.rb
|
295
294
|
- app/uploaders/decidim/decidim_awesome/image_uploader.rb
|
296
295
|
- app/validators/concerns/decidim/decidim_awesome/etiquette_validator_override.rb
|
297
296
|
- app/views/decidim/decidim_awesome/account/_timezone_select.html.erb
|
@@ -398,7 +397,6 @@ files:
|
|
398
397
|
- lib/decidim/decidim_awesome/awesome_helpers.rb
|
399
398
|
- lib/decidim/decidim_awesome/checksums.yml
|
400
399
|
- lib/decidim/decidim_awesome/config.rb
|
401
|
-
- lib/decidim/decidim_awesome/content_parsers/editor_images_parser.rb
|
402
400
|
- lib/decidim/decidim_awesome/context_analyzers.rb
|
403
401
|
- lib/decidim/decidim_awesome/context_analyzers/component_analyzer.rb
|
404
402
|
- lib/decidim/decidim_awesome/context_analyzers/participatory_space_analyzer.rb
|
@@ -414,6 +412,7 @@ files:
|
|
414
412
|
- lib/decidim/decidim_awesome/map_component/engine.rb
|
415
413
|
- lib/decidim/decidim_awesome/menu.rb
|
416
414
|
- lib/decidim/decidim_awesome/menu_hacker.rb
|
415
|
+
- lib/decidim/decidim_awesome/middleware/current_config.rb
|
417
416
|
- lib/decidim/decidim_awesome/request_memoizer.rb
|
418
417
|
- lib/decidim/decidim_awesome/system_checker.rb
|
419
418
|
- lib/decidim/decidim_awesome/test/factories.rb
|
@@ -434,7 +433,6 @@ files:
|
|
434
433
|
- lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb
|
435
434
|
- lib/decidim/decidim_awesome/version.rb
|
436
435
|
- lib/decidim/decidim_awesome/voting_manifest.rb
|
437
|
-
- lib/tasks/decidim_awesome_active_storage_migrations_tasks.rake
|
438
436
|
- lib/tasks/decidim_awesome_upgrade_tasks.rake
|
439
437
|
- lib/tasks/decidim_awesome_webpacker_tasks.rake
|
440
438
|
- package.json
|
@@ -451,7 +449,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
451
449
|
requirements:
|
452
450
|
- - ">="
|
453
451
|
- !ruby/object:Gem::Version
|
454
|
-
version: '3.
|
452
|
+
version: '3.2'
|
455
453
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
456
454
|
requirements:
|
457
455
|
- - ">="
|
@@ -1,107 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module DecidimAwesome
|
5
|
-
class MigrateLegacyImagesJob < ApplicationJob
|
6
|
-
queue_as :default
|
7
|
-
|
8
|
-
def perform(organization_id, mappings = [], logger = Rails.logger)
|
9
|
-
@organization_id = organization_id
|
10
|
-
@routes_mappings = mappings
|
11
|
-
@logger = logger
|
12
|
-
|
13
|
-
migrate_all!
|
14
|
-
transform_images_urls
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
attr_reader :routes_mappings, :logger
|
20
|
-
|
21
|
-
def migrate_all!
|
22
|
-
Decidim::CarrierWaveMigratorService.migrate_attachment!(
|
23
|
-
klass: Decidim::DecidimAwesome::EditorImage,
|
24
|
-
cw_attribute: "image",
|
25
|
-
cw_uploader: Decidim::Cw::DecidimAwesome::ImageUploader,
|
26
|
-
as_attribute: "file",
|
27
|
-
logger: @logger,
|
28
|
-
routes_mappings:
|
29
|
-
)
|
30
|
-
end
|
31
|
-
|
32
|
-
def transform_images_urls
|
33
|
-
mappings = routes_mappings.map do |mapping|
|
34
|
-
klass, id = mapping[:instance].split("#")
|
35
|
-
next unless klass == "Decidim::DecidimAwesome::EditorImage"
|
36
|
-
|
37
|
-
instance = Decidim::DecidimAwesome::EditorImage.find_by(id:)
|
38
|
-
|
39
|
-
next if instance.blank?
|
40
|
-
|
41
|
-
mapping.merge!(instance:)
|
42
|
-
end.compact
|
43
|
-
|
44
|
-
editor_images_available_attributes.each do |model, attributes|
|
45
|
-
model.all.each do |item|
|
46
|
-
attributes.each do |attribute|
|
47
|
-
item.update(attribute => rewrite_value(item.send(attribute), mappings))
|
48
|
-
end
|
49
|
-
end
|
50
|
-
@logger.info "Updated model #{model.name} (attributes: #{attributes.join(", ")})"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def rewrite_value(value, mappings)
|
55
|
-
if value.is_a?(Hash)
|
56
|
-
value.transform_values do |nested_value|
|
57
|
-
rewrite_value(nested_value, mappings)
|
58
|
-
end
|
59
|
-
else
|
60
|
-
parser = Decidim::DecidimAwesome::ContentParsers::EditorImagesParser.new(value, routes_mappings: mappings)
|
61
|
-
parser.rewrite
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def editor_images_available_attributes
|
66
|
-
{
|
67
|
-
"Decidim::Accountability::Result" => %w(description),
|
68
|
-
"Decidim::Proposals::Proposal" => %w(body answer cost_report execution_period),
|
69
|
-
"Decidim::Votings::Voting" => %w(description),
|
70
|
-
"Decidim::Elections::Question" => %w(description),
|
71
|
-
"Decidim::Elections::Answer" => %w(description),
|
72
|
-
"Decidim::Elections::Election" => %w(description),
|
73
|
-
"Decidim::Initiative" => %w(description answer),
|
74
|
-
"Decidim::InitiativesType" => %w(description extra_fields_legal_information),
|
75
|
-
"Decidim::Assembly" => %w(short_description description purpose_of_action composition internal_organisation announcement closing_date_reason special_features),
|
76
|
-
"Decidim::Forms::Questionnaire" => %w(description tos),
|
77
|
-
"Decidim::Forms::Question" => %w(description),
|
78
|
-
"Decidim::Organization" => %w(welcome_notification_body admin_terms_of_service_body description highlighted_content_banner_short_description
|
79
|
-
id_documents_explanation_text),
|
80
|
-
"Decidim::StaticPage" => %w(content),
|
81
|
-
"Decidim::ContextualHelpSection" => %w(content),
|
82
|
-
"Decidim::Category" => %w(description),
|
83
|
-
"Decidim::Blogs::Post" => %w(body),
|
84
|
-
"Decidim::Pages::Page" => %w(body),
|
85
|
-
"Decidim::Sortitions::Sortition" => %w(additional_info witnesses cancel_reason),
|
86
|
-
"Decidim::Consultations::Question" => %w(title question_context what_is_decided instructions),
|
87
|
-
"Decidim::Consultation" => %w(description),
|
88
|
-
"Decidim::Debates::Debate" => %w(description instructions information_updates conclusions),
|
89
|
-
"Decidim::Budgets::Budget" => %w(description),
|
90
|
-
"Decidim::Budgets::Project" => %w(description),
|
91
|
-
"Decidim::ConferenceSpeaker" => %w(short_bio),
|
92
|
-
"Decidim::Conferences::RegistrationType" => %w(description),
|
93
|
-
"Decidim::Conference" => %w(short_description description objectives registration_terms),
|
94
|
-
"Decidim::ParticipatoryProcessGroup" => %w(description),
|
95
|
-
"Decidim::ParticipatoryProcess" => %w(short_description description announcement),
|
96
|
-
"Decidim::ParticipatoryProcessStep" => %w(description),
|
97
|
-
"Decidim::Meetings::AgendaItem" => %w(description),
|
98
|
-
"Decidim::Meetings::Meeting" => %w(registration_terms description registration_email_custom_content closing_report)
|
99
|
-
}.each_with_object({}) do |(main_model, attributes), hash|
|
100
|
-
hash[main_model.constantize] = attributes
|
101
|
-
rescue NameError
|
102
|
-
hash
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim::Cw
|
4
|
-
module DecidimAwesome
|
5
|
-
# Transitional class to allow carrierwave to active storage migrations
|
6
|
-
class ImageUploader < Decidim::Cw::ImageUploader
|
7
|
-
process :validate_size, :validate_dimensions
|
8
|
-
|
9
|
-
version :thumbnail do
|
10
|
-
process resize_to_fit: [nil, 237]
|
11
|
-
end
|
12
|
-
|
13
|
-
def extension_whitelist
|
14
|
-
%w(jpg jpeg png)
|
15
|
-
end
|
16
|
-
|
17
|
-
def content_type_whitelist
|
18
|
-
%w(image/jpeg image/png)
|
19
|
-
end
|
20
|
-
|
21
|
-
def max_image_height_or_width
|
22
|
-
8000
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module DecidimAwesome
|
5
|
-
module ContentParsers
|
6
|
-
# A parser that searches for editor images from CarrierWave in html
|
7
|
-
# contents and replaces them with migrated images to ActiveStorage
|
8
|
-
#
|
9
|
-
# @see BaseParser Examples of how to use a content parser
|
10
|
-
class EditorImagesParser < Decidim::ContentParsers::BaseParser
|
11
|
-
# @return [String] the content with the CarrierWave images replaced.
|
12
|
-
def rewrite
|
13
|
-
return content if editor_images.blank?
|
14
|
-
|
15
|
-
replace_editor_images
|
16
|
-
parsed_content.to_html
|
17
|
-
end
|
18
|
-
|
19
|
-
def editor_images
|
20
|
-
@editor_images ||= parsed_content.search(:img).index_with do |image|
|
21
|
-
context[:routes_mappings].find { |mapping| image.attr(:src).end_with?(mapping[:origin_path]) }
|
22
|
-
end.compact
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def parsed_content
|
28
|
-
@parsed_content ||= Nokogiri::HTML(content)
|
29
|
-
end
|
30
|
-
|
31
|
-
def replace_editor_images
|
32
|
-
editor_images.each do |image, mapping|
|
33
|
-
image.set_attribute(:src, mapping[:instance].attached_uploader(:file).path)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
namespace :decidim_awesome do
|
4
|
-
namespace :active_storage_migrations do
|
5
|
-
desc "Migrates editor images from Carrierwave to ActiveStorage"
|
6
|
-
task migrate_from_carrierwave: :environment do
|
7
|
-
stdout = Logger.new($stdout)
|
8
|
-
stdout.level = Logger::INFO
|
9
|
-
Rails.logger.extend(ActiveSupport::Logger.broadcast(stdout))
|
10
|
-
Decidim::Organization.find_each do |organization|
|
11
|
-
puts "Migrating Organization #{organization.id} (#{organization.host})..."
|
12
|
-
routes_mappings = []
|
13
|
-
Decidim::DecidimAwesome::MigrateLegacyImagesJob.perform_now(organization.id, routes_mappings)
|
14
|
-
|
15
|
-
path = Rails.root.join("tmp/decidim_awesome_editor_images_mappings.csv")
|
16
|
-
dirname = File.dirname(path)
|
17
|
-
FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
|
18
|
-
File.binwrite(path, Decidim::Exporters::CSV.new(routes_mappings).export.read)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
desc "Checks editor images migrated from Carrierwave to ActiveStorage"
|
23
|
-
task check_migration_from_carrierwave: :environment do
|
24
|
-
logger = ActiveSupport::TaggedLogging.new(Logger.new($stdout))
|
25
|
-
|
26
|
-
Decidim::CarrierWaveMigratorService.check_migration(
|
27
|
-
klass: Decidim::DecidimAwesome::EditorImage,
|
28
|
-
cw_attribute: "image",
|
29
|
-
cw_uploader: Decidim::Cw::DecidimAwesome::ImageUploader,
|
30
|
-
as_attribute: "file",
|
31
|
-
logger:
|
32
|
-
)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
File without changes
|