decidim-budgets 0.23.3 → 0.24.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) 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 +1 -1
  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/_order_progress.html.erb +1 -1
  21. data/app/views/decidim/budgets/projects/_order_total_budget.html.erb +5 -1
  22. data/config/locales/ar.yml +2 -5
  23. data/config/locales/ca.yml +6 -8
  24. data/config/locales/cs.yml +34 -6
  25. data/config/locales/de.yml +34 -6
  26. data/config/locales/el.yml +2 -6
  27. data/config/locales/en.yml +35 -7
  28. data/config/locales/es-MX.yml +26 -8
  29. data/config/locales/es-PY.yml +26 -8
  30. data/config/locales/es.yml +26 -8
  31. data/config/locales/eu.yml +2 -5
  32. data/config/locales/fi-plain.yml +34 -6
  33. data/config/locales/fi.yml +34 -6
  34. data/config/locales/fr-CA.yml +35 -7
  35. data/config/locales/fr.yml +35 -7
  36. data/config/locales/gl.yml +7 -7
  37. data/config/locales/hu.yml +2 -5
  38. data/config/locales/id-ID.yml +2 -5
  39. data/config/locales/is-IS.yml +2 -4
  40. data/config/locales/it.yml +2 -6
  41. data/config/locales/ja.yml +3 -7
  42. data/config/locales/lv.yml +2 -6
  43. data/config/locales/nl.yml +49 -7
  44. data/config/locales/no.yml +2 -7
  45. data/config/locales/pl.yml +38 -10
  46. data/config/locales/pt-BR.yml +2 -5
  47. data/config/locales/pt.yml +2 -6
  48. data/config/locales/ro-RO.yml +2 -6
  49. data/config/locales/ru.yml +2 -5
  50. data/config/locales/sk.yml +2 -6
  51. data/config/locales/sr-CS.yml +0 -2
  52. data/config/locales/sv.yml +26 -7
  53. data/config/locales/tr-TR.yml +31 -7
  54. data/config/locales/uk.yml +2 -5
  55. data/config/locales/zh-CN.yml +2 -7
  56. data/db/migrate/20200804175222_votes_enabled_to_votes_choices.rb +4 -4
  57. data/lib/decidim/api/budget_type.rb +21 -0
  58. data/lib/decidim/api/budgets_type.rb +26 -0
  59. data/lib/decidim/api/project_type.rb +23 -0
  60. data/lib/decidim/budgets.rb +2 -0
  61. data/lib/decidim/budgets/api.rb +9 -0
  62. data/lib/decidim/budgets/component.rb +31 -14
  63. data/lib/decidim/budgets/project_serializer.rb +81 -0
  64. data/lib/decidim/budgets/test/factories.rb +35 -1
  65. data/lib/decidim/budgets/version.rb +1 -1
  66. data/lib/decidim/budgets/workflows/all.rb +1 -1
  67. data/lib/decidim/budgets/workflows/base.rb +3 -3
  68. data/lib/decidim/budgets/workflows/one.rb +1 -1
  69. metadata +21 -19
  70. data/app/types/decidim/budgets/budget_type.rb +0 -24
  71. data/app/types/decidim/budgets/budgets_type.rb +0 -32
  72. data/app/types/decidim/budgets/project_type.rb +0 -26
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ class ProjectType < Decidim::Api::Types::BaseObject
6
+ implements Decidim::Core::ScopableInterface
7
+ implements Decidim::Core::AttachableInterface
8
+ implements Decidim::Comments::CommentableInterface
9
+ implements Decidim::Core::CategorizableInterface
10
+
11
+ description "A project"
12
+
13
+ field :id, GraphQL::Types::ID, "The internal ID for this project", null: false
14
+ field :title, Decidim::Core::TranslatedFieldType, "The title for this project", null: true
15
+ field :description, Decidim::Core::TranslatedFieldType, "The description for this project", null: true
16
+ field :budget_amount, GraphQL::Types::Int, "The budget amount for this project", null: true, camelize: false
17
+ field :selected, GraphQL::Types::Boolean, "Whether this proposal is selected or not", method: :selected?, null: true
18
+ field :created_at, Decidim::Core::DateTimeType, "When this project was created", null: true
19
+ field :updated_at, Decidim::Core::DateTimeType, "When this project was updated", null: true
20
+ field :reference, GraphQL::Types::String, "The reference for this project", null: true
21
+ end
22
+ end
23
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "decidim/budgets/workflows"
4
4
  require "decidim/budgets/admin"
5
+ require "decidim/budgets/api"
5
6
  require "decidim/budgets/engine"
6
7
  require "decidim/budgets/admin_engine"
7
8
  require "decidim/budgets/component"
@@ -9,5 +10,6 @@ require "decidim/budgets/component"
9
10
  module Decidim
10
11
  # Base module for this engine.
11
12
  module Budgets
13
+ autoload :ProjectSerializer, "decidim/budgets/project_serializer"
12
14
  end
13
15
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ autoload :ProjectType, "decidim/api/project_type"
6
+ autoload :BudgetType, "decidim/api/budget_type"
7
+ autoload :BudgetsType, "decidim/api/budgets_type"
8
+ end
9
+ end
@@ -62,6 +62,19 @@ Decidim.register_component(:budgets) do |component|
62
62
  Decidim::Follow.where(decidim_followable_type: "Decidim::Budgets::Project", decidim_followable_id: projects_ids).count
63
63
  end
64
64
 
65
+ component.exports :projects do |exports|
66
+ exports.collection do |component_instance, _user, resource_id|
67
+ budgets = resource_id ? Decidim::Budgets::Budget.find(resource_id) : Decidim::Budgets::Budget.where(decidim_component_id: component_instance)
68
+ Decidim::Budgets::Project
69
+ .where(decidim_budgets_budget_id: budgets)
70
+ .includes(:category, :component)
71
+ end
72
+
73
+ exports.include_in_open_data = true
74
+
75
+ exports.serializer Decidim::Budgets::ProjectSerializer
76
+ end
77
+
65
78
  component.settings(:global) do |settings|
66
79
  settings.attribute :scopes_enabled, type: :boolean, default: false
67
80
  settings.attribute :scope_id, type: :scope
@@ -69,8 +82,12 @@ Decidim.register_component(:budgets) do |component|
69
82
  settings.attribute :projects_per_page, type: :integer, default: 12
70
83
  settings.attribute :vote_rule_threshold_percent_enabled, type: :boolean, default: true
71
84
  settings.attribute :vote_threshold_percent, type: :integer, default: 70
85
+ settings.attribute :vote_threshold_percent, type: :integer, default: 70
72
86
  settings.attribute :vote_rule_minimum_budget_projects_enabled, type: :boolean, default: false
73
87
  settings.attribute :vote_minimum_budget_projects_number, type: :integer, default: 1
88
+ settings.attribute :vote_rule_selected_projects_enabled, type: :boolean, default: false
89
+ settings.attribute :vote_selected_projects_minimum, type: :integer, default: 0
90
+ settings.attribute :vote_selected_projects_maximum, type: :integer, default: 1
74
91
  settings.attribute :comments_enabled, type: :boolean, default: true
75
92
  settings.attribute :comments_max_length, type: :integer, required: false
76
93
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
@@ -105,7 +122,7 @@ Decidim.register_component(:budgets) do |component|
105
122
  participatory_space: participatory_space,
106
123
  settings: {
107
124
  landing_page_content: landing_page_content,
108
- more_information_modal: Decidim::Faker::Localized.paragraph(4),
125
+ more_information_modal: Decidim::Faker::Localized.paragraph(sentence_count: 4),
109
126
  workflow: %w(one random all).sample
110
127
  }
111
128
  )
@@ -113,11 +130,11 @@ Decidim.register_component(:budgets) do |component|
113
130
  rand(1...3).times do
114
131
  Decidim::Budgets::Budget.create!(
115
132
  component: component,
116
- title: Decidim::Faker::Localized.sentence(2),
133
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
117
134
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
118
- Decidim::Faker::Localized.paragraph(3)
135
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
119
136
  end,
120
- total_budget: Faker::Number.number(8)
137
+ total_budget: Faker::Number.number(digits: 8)
121
138
  )
122
139
  end
123
140
 
@@ -127,35 +144,35 @@ Decidim.register_component(:budgets) do |component|
127
144
  budget: budget,
128
145
  scope: participatory_space.organization.scopes.sample,
129
146
  category: participatory_space.categories.sample,
130
- title: Decidim::Faker::Localized.sentence(2),
147
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
131
148
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
132
- Decidim::Faker::Localized.paragraph(3)
149
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
133
150
  end,
134
- budget_amount: Faker::Number.number(8)
151
+ budget_amount: Faker::Number.number(digits: 8)
135
152
  )
136
153
 
137
154
  attachment_collection = Decidim::AttachmentCollection.create!(
138
155
  name: Decidim::Faker::Localized.word,
139
- description: Decidim::Faker::Localized.sentence(5),
156
+ description: Decidim::Faker::Localized.sentence(word_count: 5),
140
157
  collection_for: project
141
158
  )
142
159
 
143
160
  Decidim::Attachment.create!(
144
- title: Decidim::Faker::Localized.sentence(2),
145
- description: Decidim::Faker::Localized.sentence(5),
161
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
162
+ description: Decidim::Faker::Localized.sentence(word_count: 5),
146
163
  attachment_collection: attachment_collection,
147
164
  attached_to: project,
148
165
  file: File.new(File.join(__dir__, "seeds", "Exampledocument.pdf"))
149
166
  )
150
167
  Decidim::Attachment.create!(
151
- title: Decidim::Faker::Localized.sentence(2),
152
- description: Decidim::Faker::Localized.sentence(5),
168
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
169
+ description: Decidim::Faker::Localized.sentence(word_count: 5),
153
170
  attached_to: project,
154
171
  file: File.new(File.join(__dir__, "seeds", "city.jpeg"))
155
172
  )
156
173
  Decidim::Attachment.create!(
157
- title: Decidim::Faker::Localized.sentence(2),
158
- description: Decidim::Faker::Localized.sentence(5),
174
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
175
+ description: Decidim::Faker::Localized.sentence(word_count: 5),
159
176
  attached_to: project,
160
177
  file: File.new(File.join(__dir__, "seeds", "Exampledocument.pdf"))
161
178
  )
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ class ProjectSerializer < Decidim::Exporters::Serializer
6
+ include Decidim::ApplicationHelper
7
+ include Decidim::ResourceHelper
8
+ include Decidim::TranslationsHelper
9
+
10
+ # Public: Initializes the serializer with a project.
11
+ def initialize(project)
12
+ @project = project
13
+ end
14
+
15
+ # Public: Exports a hash with the serialized data for this project.
16
+ def serialize
17
+ {
18
+ id: project.id,
19
+ category: {
20
+ id: project.category.try(:id),
21
+ name: project.category.try(:name) || empty_translatable
22
+ },
23
+ scope: {
24
+ id: project.scope.try(:id),
25
+ name: project.scope.try(:name) || empty_translatable
26
+ },
27
+ participatory_space: {
28
+ id: project.participatory_space.id,
29
+ url: Decidim::ResourceLocatorPresenter.new(project.participatory_space).url
30
+ },
31
+ component: { id: component.id },
32
+ title: project.title,
33
+ description: project.description,
34
+ budget: { id: project.budget.id },
35
+ budget_amount: project.budget_amount,
36
+ confirmed_votes: project.confirmed_orders_count,
37
+ comments: project.comments.count,
38
+ created_at: project.created_at,
39
+ url: project.polymorphic_resource_url({}),
40
+ related_proposals: related_proposals,
41
+ related_proposal_titles: related_proposal_titles,
42
+ related_proposal_urls: related_proposal_urls
43
+ }
44
+ end
45
+
46
+ private
47
+
48
+ attr_reader :project
49
+
50
+ def component
51
+ project.component
52
+ end
53
+
54
+ def related_proposals
55
+ project.linked_resources(:proposals, "included_proposals").map(&:id)
56
+ end
57
+
58
+ def related_proposal_titles
59
+ project.linked_resources(:proposals, "included_proposals").map do |proposal|
60
+ Decidim::Proposals::ProposalPresenter.new(proposal).title
61
+ end
62
+ end
63
+
64
+ def related_proposal_urls
65
+ project.linked_resources(:proposals, "included_proposals").map do |proposal|
66
+ Decidim::ResourceLocatorPresenter.new(proposal).url
67
+ end
68
+ end
69
+
70
+ def url
71
+ Decidim::ResourceLocatorPresenter.new(project).url
72
+ end
73
+
74
+ def empty_translatable(locales = Decidim.available_locales)
75
+ locales.each_with_object({}) do |locale, result|
76
+ result[locale.to_s] = ""
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -16,6 +16,7 @@ FactoryBot.define do
16
16
  transient do
17
17
  vote_rule_threshold_percent_enabled { true }
18
18
  vote_rule_minimum_budget_projects_enabled { false }
19
+ vote_rule_projects_enabled { false }
19
20
  vote_threshold_percent { 70 }
20
21
  end
21
22
 
@@ -23,6 +24,7 @@ FactoryBot.define do
23
24
  {
24
25
  vote_rule_threshold_percent_enabled: vote_rule_threshold_percent_enabled,
25
26
  vote_rule_minimum_budget_projects_enabled: vote_rule_minimum_budget_projects_enabled,
27
+ vote_rule_selected_projects_enabled: vote_rule_projects_enabled,
26
28
  vote_threshold_percent: vote_threshold_percent
27
29
  }
28
30
  end
@@ -32,6 +34,7 @@ FactoryBot.define do
32
34
  transient do
33
35
  vote_rule_threshold_percent_enabled { false }
34
36
  vote_rule_minimum_budget_projects_enabled { true }
37
+ vote_rule_projects_enabled { false }
35
38
  vote_minimum_budget_projects_number { 3 }
36
39
  end
37
40
 
@@ -39,11 +42,32 @@ FactoryBot.define do
39
42
  {
40
43
  vote_rule_threshold_percent_enabled: vote_rule_threshold_percent_enabled,
41
44
  vote_rule_minimum_budget_projects_enabled: vote_rule_minimum_budget_projects_enabled,
45
+ vote_rule_selected_projects_enabled: vote_rule_projects_enabled,
42
46
  vote_minimum_budget_projects_number: vote_minimum_budget_projects_number
43
47
  }
44
48
  end
45
49
  end
46
50
 
51
+ trait :with_budget_projects_range do
52
+ transient do
53
+ vote_rule_threshold_percent_enabled { false }
54
+ vote_rule_minimum_budget_projects_enabled { false }
55
+ vote_rule_projects_enabled { true }
56
+ vote_minimum_budget_projects_number { 3 }
57
+ vote_maximum_budget_projects_number { 6 }
58
+ end
59
+
60
+ settings do
61
+ {
62
+ vote_rule_threshold_percent_enabled: vote_rule_threshold_percent_enabled,
63
+ vote_rule_minimum_budget_projects_enabled: vote_rule_minimum_budget_projects_enabled,
64
+ vote_rule_selected_projects_enabled: vote_rule_projects_enabled,
65
+ vote_selected_projects_minimum: vote_minimum_budget_projects_number,
66
+ vote_selected_projects_maximum: vote_maximum_budget_projects_number
67
+ }
68
+ end
69
+ end
70
+
47
71
  trait :with_votes_disabled do
48
72
  step_settings do
49
73
  {
@@ -96,12 +120,22 @@ FactoryBot.define do
96
120
  factory :project, class: "Decidim::Budgets::Project" do
97
121
  title { generate_localized_title }
98
122
  description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
99
- budget_amount { Faker::Number.number(8) }
123
+ budget_amount { Faker::Number.number(digits: 8) }
100
124
  budget { create(:budget) }
101
125
 
102
126
  trait :selected do
103
127
  selected_at { Time.current }
104
128
  end
129
+
130
+ trait :with_photos do
131
+ transient do
132
+ photos_number { 2 }
133
+ end
134
+
135
+ after :create do |project, evaluator|
136
+ project.attachments = create_list(:attachment, evaluator.photos_number, :with_image, attached_to: project)
137
+ end
138
+ end
105
139
  end
106
140
 
107
141
  factory :order, class: "Decidim::Budgets::Order" do
@@ -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.3"
7
+ "0.24.0.rc1"
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.3
4
+ version: 0.24.0.rc1
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-02-23 00:00:00.000000000 Z
13
+ date: 2021-03-01 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.3
21
+ version: 0.24.0.rc1
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.3
28
+ version: 0.24.0.rc1
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.3
35
+ version: 0.24.0.rc1
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.3
42
+ version: 0.24.0.rc1
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.3
83
+ version: 0.24.0.rc1
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.3
90
+ version: 0.24.0.rc1
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.3
97
+ version: 0.24.0.rc1
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.3
104
+ version: 0.24.0.rc1
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.3
111
+ version: 0.24.0.rc1
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.3
118
+ version: 0.24.0.rc1
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,16 @@ 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
+ - lib/decidim/api/budget_type.rb
333
+ - lib/decidim/api/budgets_type.rb
334
+ - lib/decidim/api/project_type.rb
335
335
  - lib/decidim/budgets.rb
336
336
  - lib/decidim/budgets/admin.rb
337
337
  - lib/decidim/budgets/admin_engine.rb
338
+ - lib/decidim/budgets/api.rb
338
339
  - lib/decidim/budgets/component.rb
339
340
  - lib/decidim/budgets/engine.rb
341
+ - lib/decidim/budgets/project_serializer.rb
340
342
  - lib/decidim/budgets/seeds/Exampledocument.pdf
341
343
  - lib/decidim/budgets/seeds/city.jpeg
342
344
  - lib/decidim/budgets/test/factories.rb
@@ -357,14 +359,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
357
359
  requirements:
358
360
  - - ">="
359
361
  - !ruby/object:Gem::Version
360
- version: '2.6'
362
+ version: '2.7'
361
363
  required_rubygems_version: !ruby/object:Gem::Requirement
362
364
  requirements:
363
- - - ">="
365
+ - - ">"
364
366
  - !ruby/object:Gem::Version
365
- version: '0'
367
+ version: 1.3.1
366
368
  requirements: []
367
- rubygems_version: 3.0.3
369
+ rubygems_version: 3.1.2
368
370
  signing_key:
369
371
  specification_version: 4
370
372
  summary: Decidim budgets module