decidim-budgets 0.23.5 → 0.24.2

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/budgets/projects.js.es6 +30 -13
  3. data/app/cells/decidim/budgets/limit_announcement_cell.rb +2 -9
  4. data/app/cells/decidim/budgets/project_list_item/project_data_vote_button.erb +1 -0
  5. data/app/cells/decidim/budgets/project_list_item_cell.rb +4 -0
  6. data/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb +8 -1
  7. data/app/controllers/decidim/budgets/admin/budgets_controller.rb +22 -1
  8. data/app/controllers/decidim/budgets/orders_controller.rb +1 -1
  9. data/app/forms/decidim/budgets/admin/component_form.rb +57 -10
  10. data/app/forms/decidim/budgets/admin/project_form.rb +3 -2
  11. data/app/forms/decidim/budgets/admin/project_import_proposals_form.rb +11 -0
  12. data/app/helpers/decidim/budgets/projects_helper.rb +45 -1
  13. data/app/models/decidim/budgets/order.rb +94 -18
  14. data/app/permissions/decidim/budgets/admin/permissions.rb +1 -1
  15. data/app/views/decidim/budgets/admin/budgets/index.html.erb +22 -5
  16. data/app/views/decidim/budgets/admin/projects/index.html.erb +13 -6
  17. data/app/views/decidim/budgets/admin/proposals_imports/new.html.erb +6 -1
  18. data/app/views/decidim/budgets/projects/_budget_excess.html.erb +2 -2
  19. data/app/views/decidim/budgets/projects/_budget_summary.html.erb +32 -12
  20. data/app/views/decidim/budgets/projects/_filters_small_view.html.erb +1 -1
  21. data/app/views/decidim/budgets/projects/_order_progress.html.erb +1 -1
  22. data/app/views/decidim/budgets/projects/_order_total_budget.html.erb +5 -1
  23. data/config/locales/ar.yml +2 -5
  24. data/config/locales/ca.yml +35 -7
  25. data/config/locales/cs.yml +34 -6
  26. data/config/locales/de.yml +34 -6
  27. data/config/locales/el.yml +2 -6
  28. data/config/locales/en.yml +35 -7
  29. data/config/locales/es-MX.yml +35 -7
  30. data/config/locales/es-PY.yml +35 -7
  31. data/config/locales/es.yml +35 -7
  32. data/config/locales/eu.yml +2 -5
  33. data/config/locales/fi-plain.yml +34 -6
  34. data/config/locales/fi.yml +34 -6
  35. data/config/locales/fr-CA.yml +35 -7
  36. data/config/locales/fr.yml +35 -7
  37. data/config/locales/gl.yml +8 -7
  38. data/config/locales/hu.yml +2 -5
  39. data/config/locales/id-ID.yml +2 -5
  40. data/config/locales/is-IS.yml +2 -4
  41. data/config/locales/it.yml +2 -6
  42. data/config/locales/ja.yml +3 -7
  43. data/config/locales/lv.yml +2 -6
  44. data/config/locales/nl.yml +35 -7
  45. data/config/locales/no.yml +2 -7
  46. data/config/locales/pl.yml +35 -7
  47. data/config/locales/pt-BR.yml +2 -5
  48. data/config/locales/pt.yml +2 -6
  49. data/config/locales/ro-RO.yml +10 -8
  50. data/config/locales/ru.yml +2 -5
  51. data/config/locales/sk.yml +2 -6
  52. data/config/locales/sr-CS.yml +0 -2
  53. data/config/locales/sv.yml +35 -7
  54. data/config/locales/tr-TR.yml +31 -7
  55. data/config/locales/uk.yml +2 -5
  56. data/config/locales/zh-CN.yml +2 -7
  57. data/db/migrate/20200804175222_votes_enabled_to_votes_choices.rb +4 -4
  58. data/db/migrate/20210310120613_add_followable_counter_cache_to_budgets.rb +16 -0
  59. data/lib/decidim/api/budget_type.rb +21 -0
  60. data/lib/decidim/api/budgets_type.rb +26 -0
  61. data/lib/decidim/api/project_type.rb +23 -0
  62. data/lib/decidim/budgets.rb +2 -0
  63. data/lib/decidim/budgets/api.rb +9 -0
  64. data/lib/decidim/budgets/component.rb +31 -14
  65. data/lib/decidim/budgets/project_serializer.rb +81 -0
  66. data/lib/decidim/budgets/test/factories.rb +35 -1
  67. data/lib/decidim/budgets/version.rb +1 -1
  68. data/lib/decidim/budgets/workflows/all.rb +1 -1
  69. data/lib/decidim/budgets/workflows/base.rb +3 -3
  70. data/lib/decidim/budgets/workflows/one.rb +1 -1
  71. metadata +20 -17
  72. data/app/types/decidim/budgets/budget_type.rb +0 -24
  73. data/app/types/decidim/budgets/budgets_type.rb +0 -32
  74. data/app/types/decidim/budgets/project_type.rb +0 -26
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-budgets version.
5
5
  module Budgets
6
6
  def self.version
7
- "0.23.5"
7
+ "0.24.2"
8
8
  end
9
9
  end
10
10
  end
@@ -11,7 +11,7 @@ module Decidim
11
11
  end
12
12
 
13
13
  # Users can vote in all budgets with this workflow.
14
- def vote_allowed?(resource, _consider_progress = true)
14
+ def vote_allowed?(resource, _consider_progress: true)
15
15
  !voted?(resource)
16
16
  end
17
17
  end
@@ -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 = true)
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 } .compact
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 } .compact
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 = true)
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.23.5
4
+ version: 0.24.2
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-04-08 00:00:00.000000000 Z
13
+ date: 2021-05-07 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.23.5
21
+ version: 0.24.2
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.23.5
28
+ version: 0.24.2
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.23.5
35
+ version: 0.24.2
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.23.5
42
+ version: 0.24.2
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.23.5
83
+ version: 0.24.2
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.23.5
90
+ version: 0.24.2
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.23.5
97
+ version: 0.24.2
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.23.5
104
+ version: 0.24.2
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.23.5
111
+ version: 0.24.2
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.23.5
118
+ version: 0.24.2
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.6'
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.0.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