decidim-budgets 0.23.3 → 0.24.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/decidim/budgets/projects.js.es6 +30 -13
- data/app/cells/decidim/budgets/limit_announcement_cell.rb +2 -9
- data/app/cells/decidim/budgets/project_list_item/project_data_vote_button.erb +1 -0
- data/app/cells/decidim/budgets/project_list_item_cell.rb +4 -0
- data/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb +8 -1
- data/app/controllers/decidim/budgets/admin/budgets_controller.rb +22 -1
- data/app/controllers/decidim/budgets/orders_controller.rb +1 -1
- data/app/forms/decidim/budgets/admin/component_form.rb +57 -10
- data/app/forms/decidim/budgets/admin/project_form.rb +3 -2
- data/app/forms/decidim/budgets/admin/project_import_proposals_form.rb +11 -0
- data/app/helpers/decidim/budgets/projects_helper.rb +45 -1
- data/app/models/decidim/budgets/order.rb +94 -18
- data/app/permissions/decidim/budgets/admin/permissions.rb +1 -1
- data/app/views/decidim/budgets/admin/budgets/index.html.erb +22 -5
- data/app/views/decidim/budgets/admin/projects/index.html.erb +13 -6
- data/app/views/decidim/budgets/admin/proposals_imports/new.html.erb +6 -1
- data/app/views/decidim/budgets/projects/_budget_excess.html.erb +2 -2
- data/app/views/decidim/budgets/projects/_budget_summary.html.erb +32 -12
- data/app/views/decidim/budgets/projects/_filters_small_view.html.erb +1 -1
- data/app/views/decidim/budgets/projects/_order_progress.html.erb +1 -1
- data/app/views/decidim/budgets/projects/_order_total_budget.html.erb +5 -1
- data/config/locales/ar.yml +2 -5
- data/config/locales/ca.yml +36 -8
- data/config/locales/cs.yml +34 -6
- data/config/locales/de.yml +34 -6
- data/config/locales/el.yml +2 -6
- data/config/locales/en.yml +35 -7
- data/config/locales/es-MX.yml +35 -7
- data/config/locales/es-PY.yml +35 -7
- data/config/locales/es.yml +35 -7
- data/config/locales/eu.yml +2 -5
- data/config/locales/fi-plain.yml +34 -6
- data/config/locales/fi.yml +36 -8
- data/config/locales/fr-CA.yml +35 -7
- data/config/locales/fr.yml +35 -7
- data/config/locales/gl.yml +23 -7
- data/config/locales/hu.yml +2 -5
- data/config/locales/id-ID.yml +2 -5
- data/config/locales/is-IS.yml +2 -4
- data/config/locales/it.yml +2 -6
- data/config/locales/ja.yml +3 -7
- data/config/locales/lv.yml +2 -6
- data/config/locales/nl.yml +49 -7
- data/config/locales/no.yml +2 -7
- data/config/locales/pl.yml +41 -13
- data/config/locales/pt-BR.yml +2 -5
- data/config/locales/pt.yml +2 -6
- data/config/locales/ro-RO.yml +69 -6
- data/config/locales/ru.yml +2 -5
- data/config/locales/sk.yml +2 -6
- data/config/locales/sr-CS.yml +0 -2
- data/config/locales/sv.yml +35 -7
- data/config/locales/tr-TR.yml +31 -7
- data/config/locales/uk.yml +2 -5
- data/config/locales/zh-CN.yml +2 -7
- data/db/migrate/20200804175222_votes_enabled_to_votes_choices.rb +4 -4
- data/db/migrate/20210310120613_add_followable_counter_cache_to_budgets.rb +16 -0
- data/lib/decidim/api/budget_type.rb +21 -0
- data/lib/decidim/api/budgets_type.rb +26 -0
- data/lib/decidim/api/project_type.rb +23 -0
- data/lib/decidim/budgets.rb +2 -0
- data/lib/decidim/budgets/api.rb +9 -0
- data/lib/decidim/budgets/component.rb +31 -14
- data/lib/decidim/budgets/project_serializer.rb +81 -0
- data/lib/decidim/budgets/test/factories.rb +35 -1
- data/lib/decidim/budgets/version.rb +1 -1
- data/lib/decidim/budgets/workflows/all.rb +1 -1
- data/lib/decidim/budgets/workflows/base.rb +3 -3
- data/lib/decidim/budgets/workflows/one.rb +1 -1
- metadata +20 -17
- data/app/types/decidim/budgets/budget_type.rb +0 -24
- data/app/types/decidim/budgets/budgets_type.rb +0 -32
- data/app/types/decidim/budgets/project_type.rb +0 -26
@@ -40,7 +40,7 @@ module Decidim
|
|
40
40
|
# Using `false` allow UI to offer users to discard votes in progress to start voting in another resource.
|
41
41
|
#
|
42
42
|
# Returns Boolean.
|
43
|
-
def vote_allowed?(_resource, _consider_progress
|
43
|
+
def vote_allowed?(_resource, _consider_progress: true)
|
44
44
|
raise StandardError, "Not implemented"
|
45
45
|
end
|
46
46
|
|
@@ -64,14 +64,14 @@ module Decidim
|
|
64
64
|
#
|
65
65
|
# Returns Array.
|
66
66
|
def voted
|
67
|
-
@voted ||= orders.values.map { |order_info| order_info[:order].budget if order_info[:status] == :voted }
|
67
|
+
@voted ||= orders.values.map { |order_info| order_info[:order].budget if order_info[:status] == :voted }.compact
|
68
68
|
end
|
69
69
|
|
70
70
|
# Public: Return the list of budget resources where the user has orders in progress.
|
71
71
|
#
|
72
72
|
# Returns Array.
|
73
73
|
def progress
|
74
|
-
@progress ||= orders.values.map { |order_info| order_info[:order].budget if order_info[:status] == :progress }
|
74
|
+
@progress ||= orders.values.map { |order_info| order_info[:order].budget if order_info[:status] == :progress }.compact
|
75
75
|
end
|
76
76
|
|
77
77
|
# Public: Return the list of budget resources where the user could discard their order to vote in other components.
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
end
|
12
12
|
|
13
13
|
# Users can vote in any budget with this workflow, but only in one.
|
14
|
-
def vote_allowed?(resource, consider_progress
|
14
|
+
def vote_allowed?(resource, consider_progress: true)
|
15
15
|
return false if voted.any?
|
16
16
|
|
17
17
|
if consider_progress
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-budgets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.1
|
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: 2021-
|
13
|
+
date: 2021-04-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-comments
|
@@ -18,28 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.24.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.24.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: decidim-core
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.24.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.24.1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: kaminari
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,42 +80,42 @@ dependencies:
|
|
80
80
|
requirements:
|
81
81
|
- - '='
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.
|
83
|
+
version: 0.24.1
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - '='
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.
|
90
|
+
version: 0.24.1
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: decidim-dev
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - '='
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
97
|
+
version: 0.24.1
|
98
98
|
type: :development
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.24.1
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: decidim-proposals
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - '='
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
111
|
+
version: 0.24.1
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
118
|
+
version: 0.24.1
|
119
119
|
description: A budgets component for decidim's participatory spaces.
|
120
120
|
email:
|
121
121
|
- josepjaume@gmail.com
|
@@ -214,9 +214,6 @@ files:
|
|
214
214
|
- app/queries/decidim/budgets/metrics/budget_participants_metric_measure.rb
|
215
215
|
- app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
|
216
216
|
- app/services/decidim/budgets/project_search.rb
|
217
|
-
- app/types/decidim/budgets/budget_type.rb
|
218
|
-
- app/types/decidim/budgets/budgets_type.rb
|
219
|
-
- app/types/decidim/budgets/project_type.rb
|
220
217
|
- app/views/decidim/budgets/admin/budgets/_form.html.erb
|
221
218
|
- app/views/decidim/budgets/admin/budgets/edit.html.erb
|
222
219
|
- app/views/decidim/budgets/admin/budgets/index.html.erb
|
@@ -332,11 +329,17 @@ files:
|
|
332
329
|
- db/migrate/20200728075039_add_selected_at_to_project.rb
|
333
330
|
- db/migrate/20200804175222_votes_enabled_to_votes_choices.rb
|
334
331
|
- db/migrate/20200827154129_add_commentable_counter_cache_to_projects.rb
|
332
|
+
- db/migrate/20210310120613_add_followable_counter_cache_to_budgets.rb
|
333
|
+
- lib/decidim/api/budget_type.rb
|
334
|
+
- lib/decidim/api/budgets_type.rb
|
335
|
+
- lib/decidim/api/project_type.rb
|
335
336
|
- lib/decidim/budgets.rb
|
336
337
|
- lib/decidim/budgets/admin.rb
|
337
338
|
- lib/decidim/budgets/admin_engine.rb
|
339
|
+
- lib/decidim/budgets/api.rb
|
338
340
|
- lib/decidim/budgets/component.rb
|
339
341
|
- lib/decidim/budgets/engine.rb
|
342
|
+
- lib/decidim/budgets/project_serializer.rb
|
340
343
|
- lib/decidim/budgets/seeds/Exampledocument.pdf
|
341
344
|
- lib/decidim/budgets/seeds/city.jpeg
|
342
345
|
- lib/decidim/budgets/test/factories.rb
|
@@ -357,14 +360,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
357
360
|
requirements:
|
358
361
|
- - ">="
|
359
362
|
- !ruby/object:Gem::Version
|
360
|
-
version: '2.
|
363
|
+
version: '2.7'
|
361
364
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
362
365
|
requirements:
|
363
366
|
- - ">="
|
364
367
|
- !ruby/object:Gem::Version
|
365
368
|
version: '0'
|
366
369
|
requirements: []
|
367
|
-
rubygems_version: 3.
|
370
|
+
rubygems_version: 3.1.2
|
368
371
|
signing_key:
|
369
372
|
specification_version: 4
|
370
373
|
summary: Decidim budgets module
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Budgets
|
5
|
-
BudgetType = GraphQL::ObjectType.define do
|
6
|
-
interfaces [
|
7
|
-
-> { Decidim::Core::ScopableInterface },
|
8
|
-
-> { Decidim::Core::TraceableInterface }
|
9
|
-
]
|
10
|
-
|
11
|
-
name "Budget"
|
12
|
-
description "A budget"
|
13
|
-
|
14
|
-
field :id, !types.ID, "The internal ID of this budget"
|
15
|
-
field :title, !Decidim::Core::TranslatedFieldType, "The title for this budget"
|
16
|
-
field :description, !Decidim::Core::TranslatedFieldType, "The description for this budget"
|
17
|
-
field :total_budget, !types.Int, "The total budget"
|
18
|
-
field :createdAt, Decidim::Core::DateTimeType, "When this budget was created", property: :created_at
|
19
|
-
field :updatedAt, Decidim::Core::DateTimeType, "When this budget was updated", property: :updated_at
|
20
|
-
|
21
|
-
field :projects, !types[Decidim::Budgets::ProjectType], "The projects for this budget"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Budgets
|
5
|
-
BudgetsType = GraphQL::ObjectType.define do
|
6
|
-
interfaces [-> { Decidim::Core::ComponentInterface }]
|
7
|
-
|
8
|
-
name "Budgets"
|
9
|
-
description "A budget component of a participatory space."
|
10
|
-
|
11
|
-
connection :budgets, BudgetType.connection_type do
|
12
|
-
resolve ->(component, _args, _ctx) {
|
13
|
-
BudgetsTypeHelper.base_scope(component).includes(:component)
|
14
|
-
}
|
15
|
-
end
|
16
|
-
|
17
|
-
field(:budget, BudgetType) do
|
18
|
-
argument :id, !types.ID
|
19
|
-
|
20
|
-
resolve ->(component, args, _ctx) {
|
21
|
-
BudgetsTypeHelper.base_scope(component).find_by(id: args[:id])
|
22
|
-
}
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module BudgetsTypeHelper
|
27
|
-
def self.base_scope(component)
|
28
|
-
Budget.where(component: component)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Budgets
|
5
|
-
ProjectType = GraphQL::ObjectType.define do
|
6
|
-
interfaces [
|
7
|
-
-> { Decidim::Core::ScopableInterface },
|
8
|
-
-> { Decidim::Core::AttachableInterface },
|
9
|
-
-> { Decidim::Comments::CommentableInterface },
|
10
|
-
-> { Decidim::Core::CategorizableInterface }
|
11
|
-
]
|
12
|
-
|
13
|
-
name "Project"
|
14
|
-
description "A project"
|
15
|
-
|
16
|
-
field :id, !types.ID, "The internal ID for this project"
|
17
|
-
field :title, Decidim::Core::TranslatedFieldType, "The title for this project"
|
18
|
-
field :description, Decidim::Core::TranslatedFieldType, "The description for this project"
|
19
|
-
field :budget_amount, types.Int, "The budget amount for this project"
|
20
|
-
field :selected, types.Boolean, "Whether this proposal is selected or not", property: :selected?
|
21
|
-
field :createdAt, Decidim::Core::DateTimeType, "When this project was created", property: :created_at
|
22
|
-
field :updatedAt, Decidim::Core::DateTimeType, "When this project was updated", property: :updated_at
|
23
|
-
field :reference, types.String, "The reference for this project"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|