decidim-core 0.29.0.rc4 → 0.29.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/app/cells/decidim/address/online.erb +2 -2
- data/app/cells/decidim/address_cell.rb +4 -0
- data/app/cells/decidim/nav_links/show.erb +3 -3
- data/app/cells/decidim/resource_types_filter/show.erb +11 -12
- data/app/controllers/concerns/decidim/paginable.rb +1 -1
- data/app/helpers/decidim/menu_helper.rb +1 -1
- data/app/helpers/decidim/paginate_helper.rb +3 -5
- data/app/models/decidim/component.rb +4 -1
- data/app/packs/src/decidim/a11y.js +11 -15
- data/app/packs/src/decidim/attachments/file_or_link_tabs.js +7 -3
- data/app/packs/src/decidim/input_character_counter.js +1 -1
- data/app/packs/stylesheets/decidim/_dropdown.scss +9 -9
- data/app/packs/stylesheets/decidim/_forms.scss +4 -4
- data/app/packs/stylesheets/decidim/_tooltip.scss +10 -10
- data/app/packs/stylesheets/decidim/editor.scss +1 -1
- data/app/presenters/decidim/menu_item_presenter.rb +1 -1
- data/app/services/decidim/open_data_exporter.rb +8 -7
- data/app/views/decidim/pages/_tabbed.html.erb +3 -3
- data/app/views/decidim/shared/_filters.html.erb +5 -5
- data/app/views/decidim/shared/_orders.html.erb +3 -2
- data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -1
- data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
- data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +2 -2
- data/config/locales/ca.yml +3 -3
- data/config/locales/cs.yml +14 -0
- data/config/locales/fi-plain.yml +3 -3
- data/config/locales/fi.yml +28 -28
- data/config/locales/sv.yml +72 -64
- data/db/migrate/20181025082245_add_timestamps_to_components.rb +5 -1
- data/lib/decidim/core/test/shared_examples/follows_examples.rb +8 -3
- data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +5 -5
- data/lib/decidim/core/version.rb +1 -1
- data/lib/tasks/upgrade/decidim_fix_categorization.rake +100 -0
- metadata +8 -8
@@ -1,10 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class AddTimestampsToComponents < ActiveRecord::Migration[5.2]
|
4
|
+
class Component < ApplicationRecord
|
5
|
+
self.table_name = :decidim_components
|
6
|
+
end
|
7
|
+
|
4
8
|
def change
|
5
9
|
add_timestamps :decidim_components, null: true
|
6
10
|
# rubocop:disable Rails/SkipsModelValidations
|
7
|
-
|
11
|
+
Component.update_all(created_at: Time.current, updated_at: Time.current)
|
8
12
|
# rubocop:enable Rails/SkipsModelValidations
|
9
13
|
change_column_null :decidim_components, :created_at, false
|
10
14
|
change_column_null :decidim_components, :updated_at, false
|
@@ -1,7 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
# When using these shared examples, make sure there are no prior requests within
|
4
|
+
# the same group of examples where this is included. Otherwise you may end up
|
5
|
+
# in race conditions that cause these to fail as explained at:
|
6
|
+
# https://github.com/decidim/decidim/pull/6161
|
7
|
+
shared_examples "followable content for users" do
|
4
8
|
before do
|
9
|
+
switch_to_host(organization.host)
|
5
10
|
login_as user, scope: :user
|
6
11
|
end
|
7
12
|
|
@@ -34,9 +39,9 @@ shared_examples "follows" do
|
|
34
39
|
end
|
35
40
|
end
|
36
41
|
|
37
|
-
shared_examples "
|
42
|
+
shared_examples "followable content for users with a component" do
|
38
43
|
include_context "with a component"
|
39
|
-
include_examples "
|
44
|
+
include_examples "followable content for users"
|
40
45
|
|
41
46
|
context "when the user is following the followable's participatory space" do
|
42
47
|
before do
|
@@ -1,22 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
shared_examples "a paginated resource" do
|
4
|
-
let(:collection_size) {
|
4
|
+
let(:collection_size) { 50 }
|
5
5
|
|
6
6
|
before do
|
7
7
|
visit_component
|
8
8
|
end
|
9
9
|
|
10
|
-
it "lists
|
11
|
-
expect(page).to have_css(resource_selector, count:
|
12
|
-
expect(page).to have_css("[data-pages] [data-page]", count:
|
10
|
+
it "lists 25 resources per page by default" do
|
11
|
+
expect(page).to have_css(resource_selector, count: 25)
|
12
|
+
expect(page).to have_css("[data-pages] [data-page]", count: 2)
|
13
13
|
end
|
14
14
|
|
15
15
|
it "results per page can be changed from the selector" do
|
16
16
|
expect(page).to have_css("[data-pagination]")
|
17
17
|
|
18
18
|
within "[data-pagination]" do
|
19
|
-
page.find("summary", text: "
|
19
|
+
page.find("summary", text: "25").click
|
20
20
|
click_on "50"
|
21
21
|
end
|
22
22
|
|
data/lib/decidim/core/version.rb
CHANGED
@@ -2,6 +2,106 @@
|
|
2
2
|
|
3
3
|
namespace :decidim do
|
4
4
|
namespace :upgrade do
|
5
|
+
namespace :clean do
|
6
|
+
desc "Removes all the invalid records from search, notifications, follows and action_logs"
|
7
|
+
task invalid_records: [
|
8
|
+
:"decidim:upgrade:clean:searchable_resources",
|
9
|
+
:"decidim:upgrade:clean:notifications",
|
10
|
+
:"decidim:upgrade:clean:follows",
|
11
|
+
:"decidim:upgrade:clean:action_logs"
|
12
|
+
]
|
13
|
+
|
14
|
+
desc "Removes any action logs belonging to invalid resources"
|
15
|
+
task :action_logs, [] => :environment do
|
16
|
+
puts "=== Deleting Action logs\n"
|
17
|
+
invalid = 0
|
18
|
+
Decidim::ActionLog.find_each do |log|
|
19
|
+
log.participatory_space if log.participatory_space_type.present?
|
20
|
+
log.resource if log.resource_type.present?
|
21
|
+
|
22
|
+
if log.resource_type == "Decidim::Component" && log.resource.blank?
|
23
|
+
log.delete
|
24
|
+
invalid += 1
|
25
|
+
end
|
26
|
+
|
27
|
+
next if log.decidim_component_id.blank?
|
28
|
+
next if log.component.present?
|
29
|
+
|
30
|
+
log.delete
|
31
|
+
invalid += 1
|
32
|
+
rescue NameError
|
33
|
+
log.delete
|
34
|
+
invalid += 1
|
35
|
+
end
|
36
|
+
puts "===== Deleted #{invalid} invalid action logs\n"
|
37
|
+
end
|
38
|
+
|
39
|
+
desc "Removes any follows belonging to invalid resources"
|
40
|
+
task :follows, [] => :environment do
|
41
|
+
puts "=== Deleting Follows\n"
|
42
|
+
invalid = 0
|
43
|
+
Decidim::Follow.find_each do |follow|
|
44
|
+
follow.followable
|
45
|
+
|
46
|
+
next unless follow.followable.respond_to?(:component)
|
47
|
+
next if follow.followable.component.present?
|
48
|
+
|
49
|
+
# We attempt to remove any of the follows that refer to spaces or components that disappeared
|
50
|
+
follow.destroy
|
51
|
+
invalid += 1
|
52
|
+
rescue NameError
|
53
|
+
# We use delete as we do not want to call the hooks
|
54
|
+
follow.delete
|
55
|
+
invalid += 1
|
56
|
+
end
|
57
|
+
puts "===== Deleted #{invalid} invalid follows\n"
|
58
|
+
end
|
59
|
+
|
60
|
+
desc "Removes any notifications belonging to invalid resources"
|
61
|
+
task :notifications, [] => :environment do
|
62
|
+
puts "=== Deleting Notification\n"
|
63
|
+
invalid = 0
|
64
|
+
Decidim::Notification.find_each do |notification|
|
65
|
+
# Check if the resource class still exists
|
66
|
+
notification.resource
|
67
|
+
# Check if the event class still exists
|
68
|
+
notification.event_class_instance
|
69
|
+
rescue NameError
|
70
|
+
notification.destroy
|
71
|
+
invalid += 1
|
72
|
+
end
|
73
|
+
puts "===== Deleted #{invalid} invalid notifications\n"
|
74
|
+
end
|
75
|
+
|
76
|
+
desc "Removes any resources from search index that do not exist"
|
77
|
+
task :searchable_resources, [] => :environment do
|
78
|
+
puts "=== Deleting Searchable results\n"
|
79
|
+
puts "==== Deleting invalid spaces \n"
|
80
|
+
invalid = 0
|
81
|
+
Decidim::SearchableResource.where.not(decidim_participatory_space_type: nil).find_each do |search|
|
82
|
+
search.decidim_participatory_space
|
83
|
+
rescue NameError
|
84
|
+
search.destroy!
|
85
|
+
invalid += 1
|
86
|
+
end
|
87
|
+
puts "===== Deleted #{invalid} invalid spaces\n"
|
88
|
+
|
89
|
+
puts "==== Deleting invalid resources from search index \n"
|
90
|
+
invalid = 0
|
91
|
+
Decidim::SearchableResource.find_each do |search|
|
92
|
+
next unless search.resource.respond_to?(:component)
|
93
|
+
next if search.resource.component.present?
|
94
|
+
|
95
|
+
search.destroy
|
96
|
+
invalid += 1
|
97
|
+
rescue NameError
|
98
|
+
search.destroy!
|
99
|
+
invalid += 1
|
100
|
+
end
|
101
|
+
puts "===== Deleted #{invalid} invalid resources\n"
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
5
105
|
desc "Removes orphan categorizations"
|
6
106
|
task fix_orphan_categorizations: :environment do
|
7
107
|
logger = Logger.new($stdout)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.29.0
|
4
|
+
version: 0.29.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: 2024-
|
13
|
+
date: 2024-09-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: active_link_to
|
@@ -758,28 +758,28 @@ dependencies:
|
|
758
758
|
requirements:
|
759
759
|
- - '='
|
760
760
|
- !ruby/object:Gem::Version
|
761
|
-
version: 0.29.0
|
761
|
+
version: 0.29.0
|
762
762
|
type: :development
|
763
763
|
prerelease: false
|
764
764
|
version_requirements: !ruby/object:Gem::Requirement
|
765
765
|
requirements:
|
766
766
|
- - '='
|
767
767
|
- !ruby/object:Gem::Version
|
768
|
-
version: 0.29.0
|
768
|
+
version: 0.29.0
|
769
769
|
- !ruby/object:Gem::Dependency
|
770
770
|
name: decidim-dev
|
771
771
|
requirement: !ruby/object:Gem::Requirement
|
772
772
|
requirements:
|
773
773
|
- - '='
|
774
774
|
- !ruby/object:Gem::Version
|
775
|
-
version: 0.29.0
|
775
|
+
version: 0.29.0
|
776
776
|
type: :development
|
777
777
|
prerelease: false
|
778
778
|
version_requirements: !ruby/object:Gem::Requirement
|
779
779
|
requirements:
|
780
780
|
- - '='
|
781
781
|
- !ruby/object:Gem::Version
|
782
|
-
version: 0.29.0
|
782
|
+
version: 0.29.0
|
783
783
|
description: Adds core features so other engines can hook into the framework.
|
784
784
|
email:
|
785
785
|
- josepjaume@gmail.com
|
@@ -2994,9 +2994,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2994
2994
|
version: 3.2.0
|
2995
2995
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2996
2996
|
requirements:
|
2997
|
-
- - "
|
2997
|
+
- - ">="
|
2998
2998
|
- !ruby/object:Gem::Version
|
2999
|
-
version:
|
2999
|
+
version: '0'
|
3000
3000
|
requirements: []
|
3001
3001
|
rubygems_version: 3.4.10
|
3002
3002
|
signing_key:
|