decidim-budgets 0.31.0.rc2 → 0.31.1

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/budgets/budget_list_item/show.erb +4 -7
  3. data/app/commands/decidim/budgets/admin/import_proposals_to_budgets.rb +11 -1
  4. data/app/forms/decidim/budgets/admin/project_import_proposals_form.rb +12 -2
  5. data/app/models/decidim/budgets/project.rb +2 -2
  6. data/app/packs/stylesheets/budgets.scss +5 -5
  7. data/app/views/decidim/budgets/admin/proposals_imports/new.html.erb +11 -3
  8. data/app/views/decidim/budgets/projects/order_progress_summary/_content.html.erb +7 -5
  9. data/config/locales/bg.yml +0 -1
  10. data/config/locales/ca-IT.yml +2 -1
  11. data/config/locales/ca.yml +2 -1
  12. data/config/locales/cs.yml +2 -1
  13. data/config/locales/de.yml +7 -8
  14. data/config/locales/el.yml +0 -1
  15. data/config/locales/en.yml +2 -1
  16. data/config/locales/es-MX.yml +2 -1
  17. data/config/locales/es-PY.yml +2 -1
  18. data/config/locales/es.yml +2 -1
  19. data/config/locales/eu.yml +4 -3
  20. data/config/locales/fi-plain.yml +2 -1
  21. data/config/locales/fi.yml +2 -1
  22. data/config/locales/fr-CA.yml +2 -1
  23. data/config/locales/fr.yml +2 -1
  24. data/config/locales/hu.yml +0 -1
  25. data/config/locales/it.yml +2 -0
  26. data/config/locales/ja.yml +2 -1
  27. data/config/locales/lt.yml +0 -1
  28. data/config/locales/nl.yml +0 -1
  29. data/config/locales/pl.yml +0 -1
  30. data/config/locales/pt-BR.yml +123 -1
  31. data/config/locales/ro-RO.yml +2 -0
  32. data/config/locales/sv.yml +0 -1
  33. data/config/locales/zh-TW.yml +0 -1
  34. data/lib/decidim/budgets/component.rb +14 -0
  35. data/lib/decidim/budgets/engine.rb +6 -0
  36. data/lib/decidim/budgets/version.rb +1 -1
  37. metadata +12 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20d4fb24b4a1f49b2ca49af36c7f003191fc9d52d41fae007572fe19c91a7806
4
- data.tar.gz: edf7bd92c9b86e551d90f20ba1899d85bbf935feba50a8aeb6b3a1e6b6820bcb
3
+ metadata.gz: 1d6e37ebf4720a7bf81dbee01b79356dfb90417d05f34f928c73e2dea519a044
4
+ data.tar.gz: bf3e86a550c990b85e89e411b5f7883c569a4a37060af5c4ad55194b6ca8dea4
5
5
  SHA512:
6
- metadata.gz: 90a2d923c01553686d6476819c54cff399ac1b37dbea289eb7c4ed4152af3b7d075f7aa47099277f548c77cbc716e2b6bb0bf0c89ea81c4bc5d583df6d94ff82
7
- data.tar.gz: 76364a19e54acc61d46055c7223ee442dcf2a0611b7b34f1a1cb50918cc8919d0f4f0d90c708ec9731d4c5acc92c1d80252c8809a1ae262a8b01ad63fd13c3d5
6
+ metadata.gz: 7bbe058612b8024ee4fb23b93aa4b6df0e2b23944e6f599dcb2c394357629d4a9ad739bd8e2d64eb30c7127da5154849f239e52a09d872d809e345cef5f1f395
7
+ data.tar.gz: 66a4014500a42841781f976ce95e47536e8b56fb3a08fd55d3a5a6e36b956427515ce2654921eee027fcd8bf314b8bf82655c705df91cd9221028eb9b057a6ec
@@ -41,13 +41,10 @@
41
41
  <%= budget_to_currency(total_budget) %>
42
42
  </span>
43
43
  </div>
44
-
45
- <div class="w-2/3 px-4">
46
- <%= button_tag class: button_class do %>
47
- <span><%= button_text %></span>
48
- <%= icon "arrow-right-line" %>
49
- <% end %>
50
- </div>
44
+ <%= button_tag class: button_class do %>
45
+ <span><%= button_text %></span>
46
+ <%= icon "arrow-right-line" %>
47
+ <% end %>
51
48
  <% end %>
52
49
  <% end %>
53
50
  </div>
@@ -68,7 +68,17 @@ module Decidim
68
68
  end
69
69
 
70
70
  def proposals
71
- Decidim::Proposals::Proposal.where(component: origin_component).published.not_hidden.not_withdrawn.accepted.order(:published_at)
71
+ proposals = Decidim::Proposals::Proposal.where(component: origin_component).published.not_hidden.not_withdrawn
72
+
73
+ if form.internal_states.present?
74
+ if form.internal_states.include?("not_answered")
75
+ proposals.not_answered.or(proposals.where(id: proposals.only_status(form.internal_states).pluck(:id)))
76
+ else
77
+ proposals.only_status(form.internal_states)
78
+ end
79
+ else
80
+ proposals
81
+ end.order(:published_at)
72
82
  end
73
83
 
74
84
  def origin_component
@@ -10,10 +10,9 @@ module Decidim
10
10
 
11
11
  attribute :origin_component_id, Integer
12
12
  attribute :default_budget, Integer
13
- attribute :import_all_accepted_proposals, Boolean
13
+ attribute :internal_states, Array[String]
14
14
 
15
15
  validates :origin_component_id, :origin_component, :current_component, presence: true
16
- validates :import_all_accepted_proposals, allow_nil: false, acceptance: true
17
16
  validates :default_budget, presence: true, numericality: { greater_than: 0 }
18
17
 
19
18
  def origin_component
@@ -33,6 +32,17 @@ module Decidim
33
32
  def budget
34
33
  @budget ||= context[:budget]
35
34
  end
35
+
36
+ def available_states(component_id = nil)
37
+ scope = Decidim::Proposals::ProposalState
38
+ scope = scope.where(component: Decidim::Component.find(component_id)) if component_id.present?
39
+
40
+ states = scope.pluck(:token).uniq.map do |token|
41
+ OpenStruct.new(token: token, title: token.humanize)
42
+ end
43
+
44
+ states + [OpenStruct.new(token: "not_answered", title: I18n.t("decidim.proposals.answers.not_answered"))]
45
+ end
36
46
  end
37
47
  end
38
48
  end
@@ -151,11 +151,11 @@ module Decidim
151
151
  end
152
152
 
153
153
  def self.ransackable_attributes(auth_object = nil)
154
- base = %w(search_text description title)
154
+ base = %w(id_string id search_text description title)
155
155
 
156
156
  return base unless auth_object&.admin?
157
157
 
158
- base + %w(id_string id selected selected_at confirmed_orders_count)
158
+ base + %w(selected selected_at confirmed_orders_count)
159
159
  end
160
160
 
161
161
  def self.ransackable_associations(_auth_object = nil)
@@ -97,20 +97,20 @@
97
97
  @apply justify-center flex w-full xl:w-2/5 items-center bg-background p-4 bg-background font-bold text-gray-2 ml-auto;
98
98
  }
99
99
 
100
- &__card__highlight-vote__header {
101
- @apply place-items-start w-1/3;
100
+ &__card_highlight-vote__header {
101
+ @apply place-items-start flex;
102
102
  }
103
103
 
104
104
  &__card__highlight-vote__number {
105
- @apply text-xl font-semibold;
105
+ @apply flex justify-start w-full text-xl mx-4 px-2 font-semibold;
106
106
 
107
107
  span {
108
- @apply text-sm;
108
+ @apply text-sm mx-8;
109
109
  }
110
110
  }
111
111
 
112
112
  &__card__highlight-vote__button {
113
- @apply mt-auto text-left;
113
+ @apply mx-8 px-4 text-left;
114
114
 
115
115
  &.button__secondary:hover {
116
116
  @apply text-white #{!important};
@@ -20,9 +20,17 @@
20
20
  <div class="row column">
21
21
  <%= f.number_field :default_budget, label: t(".default_budget") %>
22
22
  </div>
23
- <div class="row column">
24
- <%= f.check_box :import_all_accepted_proposals, label: t(".import_all_accepted_proposals") %>
25
- </div>
23
+ <% if @form.available_states.any? %>
24
+ <label class="ml-4"><%= t(".proposal_states") %></label>
25
+ <span class="help-text ml-4"><%= t(".proposal_states_help") %></span>
26
+ <div class="row column">
27
+ <%= f.collection_check_boxes :internal_states, @form.available_states, :token, ->(a) { translated_attribute(a.title) } do |builder| %>
28
+ <div>
29
+ <%= builder.label { builder.check_box + builder.text } %>
30
+ </div>
31
+ <% end %>
32
+ </div>
33
+ <% end %>
26
34
  </div>
27
35
  </div>
28
36
  </div>
@@ -2,11 +2,13 @@
2
2
  <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box" %>
3
3
  <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box_buttons" %>
4
4
 
5
- <div class="budget-summary__button-modal">
6
- <button type="button" data-dialog-open="budget-modal-info" aria-haspopup="dialog" tabindex="0" class="button button__text button__xs underline font-bold">
7
- <%= t("more_information", scope: "decidim.budgets.budget_information_modal") %>
8
- </button>
9
- </div>
5
+ <% if cell("decidim/budgets/budget_information_modal", budget).more_information.present? %>
6
+ <div class="budget-summary__button-modal">
7
+ <button type="button" data-dialog-open="budget-modal-info" aria-haspopup="dialog" tabindex="0" class="button button__text button__xs underline font-bold">
8
+ <%= t("more_information", scope: "decidim.budgets.budget_information_modal") %>
9
+ </button>
10
+ </div>
11
+ <% end %>
10
12
 
11
13
  <div class="w-screen max-w-screen progressbox-fixed-wrapper" data-progressbox-fixed>
12
14
  <div class="gap-0 layout-item py-4 items-center budget-summary__progressbar">
@@ -108,7 +108,6 @@ bg:
108
108
  new:
109
109
  create: Импортиране на предложения в проекти
110
110
  default_budget: Бюджет по подразбиране
111
- import_all_accepted_proposals: Импортиране на всички приети предложения
112
111
  no_components: Няма други компоненти на предложения в това пространство за участие за импортиране на предложенията в проекти.
113
112
  origin_component_id: Компонент за произход
114
113
  select_component: Моля, изберете компонент
@@ -143,9 +143,10 @@ ca-IT:
143
143
  new:
144
144
  create: Importa propostes a projectes
145
145
  default_budget: Pressupost per defecte
146
- import_all_accepted_proposals: Importar totes les propostes acceptades
147
146
  no_components: No hi ha cap component de propostes en aquest espai participatiu per importar les propostes a projectes.
148
147
  origin_component_id: Component d'origen
148
+ proposal_states: Estats de resposta a la proposta
149
+ proposal_states_help: Selecciona un o més estats de resposta de les propostes a importar com a projectes. Si no seleccioneu cap estat de resposta, s'importaran totes les propostes publicades que encara no hagin estat importades a altres pressupostos d'aquest mateix component.
149
150
  select_component: Selecciona un component
150
151
  title: Importa propostes a projectes
151
152
  reminders:
@@ -143,9 +143,10 @@ ca:
143
143
  new:
144
144
  create: Importa propostes a projectes
145
145
  default_budget: Pressupost per defecte
146
- import_all_accepted_proposals: Importar totes les propostes acceptades
147
146
  no_components: No hi ha cap component de propostes en aquest espai participatiu per importar les propostes a projectes.
148
147
  origin_component_id: Component d'origen
148
+ proposal_states: Estats de resposta a la proposta
149
+ proposal_states_help: Selecciona un o més estats de resposta de les propostes a importar com a projectes. Si no seleccioneu cap estat de resposta, s'importaran totes les propostes publicades que encara no hagin estat importades a altres pressupostos d'aquest mateix component.
149
150
  select_component: Selecciona un component
150
151
  title: Importa propostes a projectes
151
152
  reminders:
@@ -147,7 +147,6 @@ cs:
147
147
  new:
148
148
  create: Návrhy na projekty
149
149
  default_budget: Výchozí rozpočet
150
- import_all_accepted_proposals: Importovat všechny přijaté návrhy
151
150
  no_components: V tomto participativním prostoru neexistují jiné komponenty návrhu, které by mohly importovat návrhy do projektů.
152
151
  origin_component_id: Původ komponenty
153
152
  select_component: Vyberte součást
@@ -305,6 +304,8 @@ cs:
305
304
  dynamic_help:
306
305
  minimum_reached: Dosáhli jste minima, abyste mohli hlasovat
307
306
  minimum: Minimum
307
+ minimum_projects_rule:
308
+ description: "<b>Vyberte alespoň %{minimum_number} projektů</b>, které chcete a hlasujete podle vašich preferencí."
308
309
  orders:
309
310
  highest_cost: Nejvyšší náklady
310
311
  label: Seřadit projekty podle
@@ -143,7 +143,6 @@ de:
143
143
  new:
144
144
  create: Importieren Sie Vorschläge in Projekte
145
145
  default_budget: Standardbudget
146
- import_all_accepted_proposals: Alle akzeptierten Vorschläge importieren
147
146
  no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren.
148
147
  origin_component_id: Ursprungskomponente
149
148
  select_component: Bitte wählen Sie eine Komponente aus
@@ -263,9 +262,9 @@ de:
263
262
  are_you_sure: Sind Sie sicher, dass Sie Ihre Stimme zurückziehen wollen?
264
263
  cancel_order: Stimme löschen
265
264
  checked_out:
266
- description: Sie haben bereits über dieses Budget abgestimmt. Wenn Sie Ihre Meinung geändert haben, können Sie %{cancel_link}.
265
+ description: Sie haben bereits über dieses Budget abgestimmt. Wenn Sie Ihre Meinung geändert haben, können Sie Ihre Stimmen löschen.
267
266
  title: Budget-Abstimmung abgeschlossen
268
- vote: Gewähltes Budget
267
+ vote: Für Budget abstimmen
269
268
  count:
270
269
  projects_count:
271
270
  one: 1 Projekt
@@ -309,16 +308,16 @@ de:
309
308
  remove: Projekt %{resource_name} aus Ihrer Abstimmung entfernen.
310
309
  selected: Ausgewählt
311
310
  votes:
312
- one: Abstimmung
313
- other: Abstimmungen
311
+ one: Stimme
312
+ other: Stimmen
314
313
  you_voted: Sie haben dafür gestimmt
315
314
  project_budget_button:
316
315
  add: Zur Abstimmung hinzufügen
317
316
  add_descriptive: Projekt %{resource_name} zu Ihrer Abstimmung hinzufügen.
318
- added: Zu deiner Abstimmung hinzugefügt
317
+ added: Ausgewählt
319
318
  added_descriptive: Project %{resource_name} zu Ihrer Abstimmung hinzugefügt.
320
319
  project_filter:
321
- added: Hinzugefügt
320
+ added: Ausgewählt
322
321
  all: Alle
323
322
  projects_for: Projekte für %{name}
324
323
  select_projects: Projekt hinzufügen
@@ -328,7 +327,7 @@ de:
328
327
  prompt: Budget auswählen
329
328
  vote_reminder_mailer:
330
329
  vote_reminder:
331
- email_budgets: 'Bereiche, in denen Sie eine unvollendete Abstimmung haben:'
330
+ email_budgets: 'In diesen Bereichen haben Sie die Abstimmung noch nicht abgeschlossen:'
332
331
  email_intro: Sie haben Ihre begonnene Abstimmung zur Verteilung des partizipativen Budgets noch nicht abgeschlossen.
333
332
  email_link: Mit der Abstimmung fortfahren
334
333
  email_outro: Denken Sie daran, die Abstimmung vollständig abzuschließen. Wählen Sie dazu den gewünschten Vorschlag oder die gewünschten Vorschläge aus, denen Sie Ihre Stimme geben möchten. Bestätigen Sie anschliessend Ihre Auswahl, indem Sie auf "Abstimmen" klicken.
@@ -96,7 +96,6 @@ el:
96
96
  new:
97
97
  create: Εισαγωγή προτάσεων σε έργα
98
98
  default_budget: Προεπιλεγμένος προϋπολογισμός
99
- import_all_accepted_proposals: Εισαγωγή όλων των αποδεχθείσων προτάσεων
100
99
  no_components: Δεν υπάρχουν άλλα στοιχεία προτάσεων σε αυτόν τον χώρο συμμετοχής για εισαγωγή των προτάσεων σε έργα.
101
100
  origin_component_id: Στοιχείο καταγωγής
102
101
  select_component: Επιλέξτε ένα στοιχείο
@@ -143,9 +143,10 @@ en:
143
143
  new:
144
144
  create: Import proposals to projects
145
145
  default_budget: Default budget
146
- import_all_accepted_proposals: Import all accepted proposals
147
146
  no_components: There are no other proposal components in this participatory space to import the proposals into projects.
148
147
  origin_component_id: Origin component
148
+ proposal_states: Proposal States
149
+ proposal_states_help: Select one or more proposal states to import into projects. By selecting none, you will import all published proposals that have not already been imported in other budgets from this component.
149
150
  select_component: Please select a component
150
151
  title: Import proposals to projects
151
152
  reminders:
@@ -143,9 +143,10 @@ es-MX:
143
143
  new:
144
144
  create: Importar propuestas a proyectos
145
145
  default_budget: Presupuesto por defecto
146
- import_all_accepted_proposals: Importar todas las propuestas aceptadas
147
146
  no_components: No hay otros componentes de la propuesta en este espacio participativo para importar las propuestas en los proyectos.
148
147
  origin_component_id: Componente de origen
148
+ proposal_states: Estados de repuesta a la propuesta
149
+ proposal_states_help: Selecciona uno o más estados de respuesta de las propuestas a importar como proyectos. Si no seleccionas ningún estado de respuesta, se importaran todas las propuestas publicadas que no hayan sido importadas aún a otros presupuestos de este mismo componente.
149
150
  select_component: Por favor seleccione un componente
150
151
  title: Importar propuestas a proyectos
151
152
  reminders:
@@ -143,9 +143,10 @@ es-PY:
143
143
  new:
144
144
  create: Importar propuestas a proyectos
145
145
  default_budget: Presupuesto por defecto
146
- import_all_accepted_proposals: Importar todas las propuestas aceptadas
147
146
  no_components: No hay otros componentes de la propuesta en este espacio participativo para importar las propuestas en los proyectos.
148
147
  origin_component_id: Componente de origen
148
+ proposal_states: Estados de repuesta a la propuesta
149
+ proposal_states_help: Selecciona uno o más estados de respuesta de las propuestas a importar como proyectos. Si no seleccionas ningún estado de respuesta, se importaran todas las propuestas publicadas que no hayan sido importadas aún a otros presupuestos de este mismo componente.
149
150
  select_component: Por favor seleccione un componente
150
151
  title: Importar propuestas a proyectos
151
152
  reminders:
@@ -143,9 +143,10 @@ es:
143
143
  new:
144
144
  create: Importar propuestas a proyectos
145
145
  default_budget: Presupuesto por defecto
146
- import_all_accepted_proposals: Importar todas las propuestas aceptadas
147
146
  no_components: No hay otros componentes de la propuesta en este espacio participativo para importar las propuestas en los proyectos.
148
147
  origin_component_id: Componente de origen
148
+ proposal_states: Estados de repuesta a la propuesta
149
+ proposal_states_help: Selecciona uno o más estados de respuesta de las propuestas a importar como proyectos. Si no seleccionas ningún estado de respuesta, se importaran todas las propuestas publicadas que no hayan sido importadas aún a otros presupuestos de este mismo componente.
149
150
  select_component: Por favor seleccione un componente
150
151
  title: Importar propuestas a proyectos
151
152
  reminders:
@@ -143,9 +143,10 @@ eu:
143
143
  new:
144
144
  create: Inportatu proiektuetarako proposamenak
145
145
  default_budget: Aurrekontu lehenetsia
146
- import_all_accepted_proposals: Inportatu onartutako proposamen guztiak
147
146
  no_components: Ez dago proposamen osagairik parte hartzeko espazio honetan proposamenak proiektuetara inportatzeko.
148
147
  origin_component_id: Jatorrizko osagaia
148
+ proposal_states: Proposamenen egoera
149
+ proposal_states_help: Hautatu proposamen-egoera bat edo gehiago, proiektuetara inportatzeko. Bat ere hautatzen ez baduzu, osagai honetako beste aurrekontu batzuetan inportatu ez diren argitaratutako proposamen guztiak inportatuko dituzu.
149
150
  select_component: Meesedez, hautatu osagaia
150
151
  title: Inportatu proiektuetarako proposamenak
151
152
  reminders:
@@ -221,7 +222,7 @@ eu:
221
222
  order:
222
223
  status:
223
224
  continue_voting: Jarraitu bozkatzen
224
- download_vote: Deskargatu zure babesa
225
+ download_vote: Deskargatu zure hautaketa
225
226
  pending_to_vote_budgets:
226
227
  one: Beste aurrekontu batean bozkatu dezakezu
227
228
  other: Beste aurrekontu batzuetan bozkatu dezakezu
@@ -230,7 +231,7 @@ eu:
230
231
  title: Zure babesa ongi bideratu da
231
232
  view_votes:
232
233
  one: Ikusi babesa
233
- other: Ikusi babesak
234
+ other: Botoak ikusi
234
235
  votes_count:
235
236
  one: 'Zure babesa honentzat: %{budget_name} erregistratu da.'
236
237
  other: 'Zure %{count} babes honentzat: %{budget_name} erregistratu dira.'
@@ -143,9 +143,10 @@ fi-pl:
143
143
  new:
144
144
  create: Tuo ehdotuksia suunnitelmiin
145
145
  default_budget: Oletusbudjetti
146
- import_all_accepted_proposals: Tuo kaikki hyväksytyt ehdotukset
147
146
  no_components: Tässä osallisuustilassa ei ole ole muita ehdotuskomponentteja, joista voitaisiin tuoda ehdotuksia suunnitelmiin.
148
147
  origin_component_id: Lähdekomponentti
148
+ proposal_states: Ehdotusten tilat
149
+ proposal_states_help: Valitse yksi tai useampi ehdotusten tila, joiden perusteella ehdotuksia tuodaan projekteiksi. Mikäli et valitse yhtään tilaa, kaikki julkaistut ehdotukset tuodaan, jos niitä ei ole aikaisemmin tuotu tämän komponentin budjetteihin.
149
150
  select_component: Valitse komponentti
150
151
  title: Tuo ehdotuksia projekteiksi
151
152
  reminders:
@@ -143,9 +143,10 @@ fi:
143
143
  new:
144
144
  create: Tuo ehdotuksia projekteiksi
145
145
  default_budget: Oletusbudjetti
146
- import_all_accepted_proposals: Tuo kaikki hyväksytyt ehdotukset
147
146
  no_components: Tässä osallistumistilassa ei ole ole muita ehdotuskomponentteja, joista voitaisiin tuoda ehdotuksia projekteiksi.
148
147
  origin_component_id: Lähdekomponentti
148
+ proposal_states: Ehdotusten tilat
149
+ proposal_states_help: Valitse yksi tai useampi ehdotusten tila, joiden perusteella ehdotuksia tuodaan projekteiksi. Mikäli et valitse yhtään tilaa, kaikki julkaistut ehdotukset tuodaan, jos niitä ei ole aikaisemmin tuotu tämän komponentin budjetteihin.
149
150
  select_component: Valitse komponentti
150
151
  title: Tuo ehdotuksia projekteiksi
151
152
  reminders:
@@ -137,9 +137,10 @@ fr-CA:
137
137
  new:
138
138
  create: Importer des propositions dans des projets
139
139
  default_budget: Budget par défaut
140
- import_all_accepted_proposals: Importer toutes les propositions acceptées
141
140
  no_components: Il n'y a pas d'autres modules de proposition dans cet espace participatif pour importer les propositions dans des projets.
142
141
  origin_component_id: Composant d'origine
142
+ proposal_states: Statuts de proposition
143
+ proposal_states_help: Sélectionnez un ou plusieurs statuts de proposition à importer dans les projets. Si vous n'en sélectionnez aucun, vous importerez toutes les propositions publiées qui n'ont pas déjà été importées dans d'autres budgets à partir de cette fonctionnalité.
143
144
  select_component: Veuillez sélectionner un module
144
145
  title: Importer des propositions dans des projets
145
146
  reminders:
@@ -137,9 +137,10 @@ fr:
137
137
  new:
138
138
  create: Importer des propositions dans des projets
139
139
  default_budget: Budget par défaut
140
- import_all_accepted_proposals: Importer toutes les propositions acceptées
141
140
  no_components: Il n'y a pas d'autres modules de proposition dans cet espace participatif pour importer les propositions dans des projets.
142
141
  origin_component_id: Composant d'origine
142
+ proposal_states: Statuts de proposition
143
+ proposal_states_help: Sélectionnez un ou plusieurs statuts de proposition à importer dans les projets. Si vous n'en sélectionnez aucun, vous importerez toutes les propositions publiées qui n'ont pas déjà été importées dans d'autres budgets à partir de cette fonctionnalité.
143
144
  select_component: Veuillez sélectionner un module
144
145
  title: Importer des propositions dans des projets
145
146
  reminders:
@@ -104,7 +104,6 @@ hu:
104
104
  new:
105
105
  create: Javaslatok importálása projektekbe
106
106
  default_budget: Alapértelmezett költségvetés
107
- import_all_accepted_proposals: Minden elfogadott javaslat importálása
108
107
  no_components: Ebben a részvételi térben nincs más javaslat-összetevő a javaslatok projektekbe való importálásához.
109
108
  origin_component_id: A komponens származása
110
109
  select_component: Válassz ki egy elemet
@@ -101,6 +101,8 @@ it:
101
101
  order:
102
102
  status:
103
103
  title: OK, il tuo voto è stato acquisito.
104
+ order_pdf:
105
+ title: Ok, il tuo voto è stato acquisito.
104
106
  order_summary_mailer:
105
107
  order_summary:
106
108
  selected_projects: 'I progetti che hai selezionato sono:'
@@ -141,9 +141,10 @@ ja:
141
141
  new:
142
142
  create: プロジェクトへの提案をインポート
143
143
  default_budget: 既定の予算
144
- import_all_accepted_proposals: すべての承認済みの提案をインポート
145
144
  no_components: この参加型スペースには、プロジェクトにインポートするための他の提案コンポーネントはありません。
146
145
  origin_component_id: 元のコンポーネント
146
+ proposal_states: 提案状態
147
+ proposal_states_help: プロジェクトにインポートする提案状態を1つ以上選択してください。何も選択しない場合、このコンポーネントの提案のうち、公開済みかつ他の予算にインポートされていないすべての提案をインポートします。
147
148
  select_component: コンポーネントを選択してください
148
149
  title: プロジェクトに提案をインポート
149
150
  reminders:
@@ -98,7 +98,6 @@ lt:
98
98
  new:
99
99
  create: Importuoti pasiūlymus į projektus
100
100
  default_budget: Numatytasis biudžetas
101
- import_all_accepted_proposals: Importuoti visus priimtus projektus
102
101
  no_components: Nėra kitų pasiūlymų komponentų šioje dalyvaujamojoje erdvėje, kuriuos būtų galima importuoti į projektus.
103
102
  origin_component_id: Originalusis komponentas
104
103
  select_component: Pasirinkite komponentą
@@ -74,7 +74,6 @@ nl:
74
74
  new:
75
75
  create: Voorstellen importeren in projecten
76
76
  default_budget: Standaard budget
77
- import_all_accepted_proposals: Alle geaccepteerde voorstellen importeren
78
77
  no_components: Er zijn geen andere voorstelonderdelen in deze participatieruimte om voorstellen in projecten te kunnen importeren.
79
78
  origin_component_id: Oorsprong component
80
79
  select_component: Selecteer een component
@@ -107,7 +107,6 @@ pl:
107
107
  new:
108
108
  create: Importuj propozycje do projektów
109
109
  default_budget: Domyślny budżet
110
- import_all_accepted_proposals: Importuj wszystkie zaakceptowane propozycje
111
110
  no_components: W tej przestrzeni partycypacyjnej nie ma innych komponentów do zaimportowania propozycji jako projektów.
112
111
  origin_component_id: Źródłowy komponent
113
112
  select_component: Wybierz komponent
@@ -18,6 +18,10 @@ pt-BR:
18
18
  scope_id: Escopo
19
19
  activerecord:
20
20
  models:
21
+ decidim:
22
+ budgets:
23
+ project:
24
+ text: 'Foi adicionado a este orçamento: %{link}'
21
25
  decidim/budgets/budget:
22
26
  one: Orçamento
23
27
  other: Orçamentos
@@ -26,6 +30,9 @@ pt-BR:
26
30
  other: Projetos
27
31
  decidim:
28
32
  admin:
33
+ admin_log:
34
+ changeset:
35
+ projects: Projetos
29
36
  filters:
30
37
  projects:
31
38
  selected_at_null:
@@ -33,15 +40,25 @@ pt-BR:
33
40
  values:
34
41
  'false': Selecionado para implementação
35
42
  'true': Não selecionado para implementação
43
+ taxonomies_part_of_contains:
44
+ label: Taxonomia
45
+ tooltips:
46
+ deleted_projects_info: Não é possível excluir este projeto
36
47
  budgets:
37
48
  actions:
49
+ confirm_delete_budget: Tem certeza de que deseja excluir este orçamento?
50
+ confirm_delete_project: Tem certeza que deseja excluir este projeto?
51
+ deleted_budgets_info: Orçamentos excluídos podem ser restaurados da lixeira.
38
52
  edit: Editar
53
+ edit_projects: Adicionar projetos
39
54
  import: Importar propostas para os projetos
40
55
  new_budget: Novo orçamento
41
56
  new_project: Novo projeto
42
57
  preview: Pré-visualização
43
58
  send_voting_reminders: Enviar lembretes de votação
44
59
  title: Ações
60
+ view_deleted_budgets: Ver orçamentos excluídos
61
+ view_deleted_projects: Ver projetos excluídos
45
62
  admin:
46
63
  budgets:
47
64
  create:
@@ -56,6 +73,8 @@ pt-BR:
56
73
  title: Orçamentos
57
74
  users_with_finished_orders: Usuários com votos finalizados
58
75
  users_with_pending_orders: Usuários com votos pendentes
76
+ manage_trash:
77
+ title: Orçamentos excluídos
59
78
  new:
60
79
  create: Criar orçamento
61
80
  title: Novo orçamento
@@ -79,6 +98,7 @@ pt-BR:
79
98
  cancel: Cancelar
80
99
  change_budget: Alterar orçamento
81
100
  change_selected: Alterar estado selecionado
101
+ change_taxonomies: Alterar taxonomias
82
102
  deselect_implementation: Desselecionar da implementação
83
103
  finished_orders: Votos finais
84
104
  pending_orders: Votações pendentes
@@ -90,6 +110,8 @@ pt-BR:
90
110
  title: Projetos
91
111
  update: Atualizar
92
112
  update_budget_button: Atualizar orçamento do projeto
113
+ manage_trash:
114
+ title: Projetos excluídos
93
115
  new:
94
116
  create: Criar
95
117
  title: Novo projeto
@@ -97,10 +119,23 @@ pt-BR:
97
119
  invalid: Houve um problema ao atualizar este projeto.
98
120
  success: Projeto atualizado com sucesso.
99
121
  update_budget:
122
+ invalid: 'Esses projetos já estão no mesmo orçamento ou seus orçamentos são mais que o máximo permitido: %{errored}.'
100
123
  select_a_project: Por favor, selecione um projeto.
124
+ success: 'Projetos atualizados com sucesso para o orçamento %{subject_name}: %{successful}.'
101
125
  update_selected:
126
+ invalid:
127
+ selected: 'Estes projetos já foram selecionados para a implementação: %{errored}.'
128
+ unselected: 'Estes projetos já foram desselecionados da implementação: %{errored}.'
102
129
  select_a_project: Por favor, selecione um projeto.
103
130
  select_a_selection: Por favor, selecione um estado de implementação.
131
+ success:
132
+ selected: 'Estes projetos foram selecionados com sucesso para a implementação: %{successful}.'
133
+ unselected: 'Estes projetos foram desselecionados da implementação com sucesso: %{successful}.'
134
+ update_taxonomies:
135
+ invalid: 'Taxonomias %{taxonomies} já estão atribuídas a esses projetos: %{errored}.'
136
+ select_a_project: Por favor, selecione um projeto.
137
+ select_a_taxonomy: Por favor, selecione uma taxonomia.
138
+ success: 'Projetos atualizados com sucesso para as taxonomias %{taxonomies}: %{successful}.'
104
139
  proposals_imports:
105
140
  create:
106
141
  invalid: Houve um problema ao importar as propostas para projetos.
@@ -108,9 +143,10 @@ pt-BR:
108
143
  new:
109
144
  create: Importar propostas para projetos
110
145
  default_budget: Orçamento padrão
111
- import_all_accepted_proposals: Importar todas as propostas aceitas
112
146
  no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas para projetos.
113
147
  origin_component_id: Componente de origem
148
+ proposal_states: Estados da proposta
149
+ proposal_states_help: Selecione um ou mais estados da proposta para importar para os projetos. Selecionando nenhuma, você importará todas as propostas publicadas que não foram já importadas para outros orçamentos deste componente.
114
150
  select_component: Selecione um componente
115
151
  title: Importar propostas para os projetos
116
152
  reminders:
@@ -123,10 +159,14 @@ pt-BR:
123
159
  budget:
124
160
  create: "%{user_name} criou o orçamento %{resource_name} no espaço %{space_name}"
125
161
  delete: "%{user_name} excluiu o orçamento %{resource_name} no espaço %{space_name}"
162
+ restore: "%{user_name} restaurou o orçamento %{resource_name} em %{space_name}"
163
+ soft_delete: "%{user_name} moveu o orçamento %{resource_name} em %{space_name} para a lixeira"
126
164
  update: "%{user_name} atualizou o orçamento %{resource_name} no espaço %{space_name}"
127
165
  project:
128
166
  create: "%{user_name} criou o projeto %{resource_name} no espaço %{space_name}"
129
167
  delete: "%{user_name} excluiu o projeto %{resource_name} no espaço %{space_name}"
168
+ restore: "%{user_name} restaurou o projeto %{resource_name} em %{space_name}"
169
+ soft_delete: "%{user_name} moveu o projeto %{resource_name} em %{space_name} para a lixeira"
130
170
  update: "%{user_name} atualizou o projeto %{resource_name} no espaço %{space_name}"
131
171
  budget_information_modal:
132
172
  back_to: Voltar para %{component_name}
@@ -138,6 +178,7 @@ pt-BR:
138
178
  cancel_order:
139
179
  more_than_one: exclua seu voto em %{name} e comece de novo
140
180
  only_one: exclua seu voto e comece novamente.
181
+ completed: Concluído
141
182
  count:
142
183
  one: "Orçamento em %{count}"
143
184
  other: "%{count} Orçamentos"
@@ -145,6 +186,7 @@ pt-BR:
145
186
  finished_message: Você terminou o processo de votação. Obrigado por participar!
146
187
  highlighted_cta: Votar em %{name}
147
188
  if_change_opinion: Se você mudou de ideia, você pode
189
+ incomplete: Incompleto
148
190
  orders:
149
191
  highest_cost: Custo mais alto
150
192
  label: Ordenar orçamentos por
@@ -152,10 +194,14 @@ pt-BR:
152
194
  random: Ordem aleatória
153
195
  progress: Terminar votação
154
196
  remove_vote: Remover voto
197
+ see_projects: Ver projetos
198
+ see_results: Ver resultados
155
199
  show: Ver projetos
156
200
  vote: Voto
157
201
  voted_budgets: Orçamentos votados
158
202
  voted_on: Você votou em %{links}.
203
+ creation:
204
+ text: Eles foram adicionados a este orçamento
159
205
  last_activity:
160
206
  new_vote_at: Nova votação sobre orçamentação em
161
207
  limit_announcement:
@@ -171,11 +217,26 @@ pt-BR:
171
217
  fields:
172
218
  id: ID
173
219
  map: Mapa
220
+ taxonomies: Taxonomias
174
221
  title: Título
175
222
  order:
176
223
  status:
224
+ continue_voting: Continuar votando
225
+ download_vote: Baixe seu voto
226
+ pending_to_vote_budgets:
227
+ one: Você pode votar em outro orçamento
228
+ other: Você pode votar em outros orçamentos
229
+ share_text: "Acabei de votar nos meus projetos favoritos em %{space_name}! 🎉 Vote agora: %{component_url}"
230
+ share_vote: Compartilhe seu voto
177
231
  title: Seu voto foi aceito com sucesso
232
+ view_votes:
233
+ one: Visualizar voto
234
+ other: Ver votos
235
+ votes_count:
236
+ one: Seu voto para %{budget_name} já foi registrado.
237
+ other: Seus votos %{count} para %{budget_name} já foram registrados.
178
238
  order_pdf:
239
+ text: Você votou em %{space_name}, para os seguintes projetos
179
240
  title: Seu voto foi aceito com sucesso.
180
241
  order_summary_mailer:
181
242
  order_summary:
@@ -183,6 +244,7 @@ pt-BR:
183
244
  subject: Você votou no espaço participativo %{space_name}
184
245
  voted_on_space: Você votou no orçamento %{budget_name} para o espaço participativo %{space_name}.
185
246
  projects:
247
+ back_to_budgets: Voltar aos orçamentos
186
248
  budget_confirm:
187
249
  are_you_sure: Se mudar de ideia, você pode mudar de voto mais tarde.
188
250
  cancel: Cancelar
@@ -200,6 +262,7 @@ pt-BR:
200
262
  title: Máximo de projetos excedido
201
263
  budget_summary:
202
264
  are_you_sure: Deseja mesmo cancelar o seu voto?
265
+ cancel_order: Exclua seu voto
203
266
  checked_out:
204
267
  description: Você já votou no orçamento. Se você mudou de ideia, você pode apagar seu voto %{cancel_link}.
205
268
  title: Votação do orçamento concluída
@@ -227,6 +290,14 @@ pt-BR:
227
290
  dynamic_help:
228
291
  minimum_reached: Você atingiu o mínimo para poder votar
229
292
  minimum: Mínimo
293
+ minimum_projects_rule:
294
+ description: "<b>Selecione pelo menos %{minimum_number} projetos</b> você quer e vote de acordo com suas preferências."
295
+ projects_rule:
296
+ description: "<b>Selecione no mínimo %{minimum_number} e no máximo %{maximum_number} projetos que você deseja e vote de acordo com suas preferências.</b>."
297
+ projects_rule_maximum_only:
298
+ description: "<b>Selecione até %{maximum_number} projetos</b> você quer e vote de acordo com suas preferências."
299
+ vote_threshold_percent_rule:
300
+ description: "<b>Atribua pelo menos %{minimum_budget}</b> aos projetos que você deseja e vote de acordo com suas preferências."
230
301
  orders:
231
302
  highest_cost: Custo mais alto
232
303
  label: Ordenar projetos por
@@ -251,8 +322,10 @@ pt-BR:
251
322
  added: Adicionado
252
323
  all: Todos
253
324
  projects_for: Projetos para %{name}
325
+ select_projects: Adicionar projetos
254
326
  show:
255
327
  budget: Orçamento
328
+ votes: Votos
256
329
  prompt: Selecione o orçamento
257
330
  vote_reminder_mailer:
258
331
  vote_reminder:
@@ -272,8 +345,10 @@ pt-BR:
272
345
  settings:
273
346
  global:
274
347
  announcement: Anúncio
348
+ clear_all: Limpar tudo
275
349
  comments_enabled: Comentários ativados
276
350
  comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão)
351
+ define_taxonomy_filters: Por favor, defina alguns filtros para este espaço participativo antes de usar esta configuração.
277
352
  form:
278
353
  errors:
279
354
  budget_voting_rule_only_one: Apenas uma regra de votação deve estar habilitada.
@@ -281,8 +356,11 @@ pt-BR:
281
356
  geocoding_enabled: Mapas ativados
282
357
  landing_page_content: Página inicial dos orçamentos
283
358
  more_information_modal: Modal de mais informação
359
+ no_taxonomy_filters_found: Nenhum filtro de taxonomia encontrado.
284
360
  projects_per_page: Projetos por página
285
361
  resources_permissions_enabled: Permissões de ações podem ser definidas para cada projeto
362
+ taxonomy_filters: Selecione filtros para o componente
363
+ taxonomy_filters_add: Adicionar filtro
286
364
  title: Título
287
365
  total_budget: Orçamento total
288
366
  vote_minimum_budget_projects_number: Número mínimo de projetos para votar
@@ -292,6 +370,11 @@ pt-BR:
292
370
  vote_selected_projects_maximum: Quantidade máxima de projetos a serem selecionados
293
371
  vote_selected_projects_minimum: Quantidade mínima de projetos a serem selecionados
294
372
  vote_threshold_percent: Porcentagem do limiar de voto
373
+ voting_rule: Regra de votação
374
+ voting_rule_choices:
375
+ minimum_projects: Número mínimo de projetos para votação
376
+ selected_projects: Número mínimo e máximo de projetos a serem votados
377
+ threshold_percent: Porcentagem de orçamento mínimo
295
378
  workflow: Fluxo de Trabalho
296
379
  workflow_choices:
297
380
  all: 'Votar em todos: permite que os participantes votem em todos os orçamentos.'
@@ -310,6 +393,18 @@ pt-BR:
310
393
  disabled: Votação desativada
311
394
  enabled: Votação habilitada
312
395
  finished: Votação finalizada
396
+ download_your_data:
397
+ help:
398
+ orders:
399
+ budget: O orçamento com o qual a ordem está relacionada
400
+ checked_out_at: A data e hora em que o pedido foi verificado
401
+ component: O componente com o qual a ordem está relacionada
402
+ created_at: A data e hora em que o pedido foi criado
403
+ id: O identificador exclusivo do pedido
404
+ projects: Os projetos em que a ordem foi votada
405
+ updated_at: A data e hora em que o pedido foi atualizado
406
+ show:
407
+ projects: Exportação de projetos
313
408
  events:
314
409
  budgets:
315
410
  budget_published:
@@ -317,6 +412,31 @@ pt-BR:
317
412
  email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior.
318
413
  email_subject: O orçamento %{resource_title} agora está ativo para %{participatory_space_title}.
319
414
  notification_title: O orçamento <a href="%{resource_path}">%{resource_title}</a> agora está ativo para %{participatory_space_title}.
415
+ open_data:
416
+ help:
417
+ projects:
418
+ address: O endereço do projeto (se houver)
419
+ budget: Dados relativos ao orçamento (por exemplo, "2021 orçamento") do projeto
420
+ budget_amount: O montante total do orçamento para este projeto
421
+ comments: O número de comentários que este projeto recebeu
422
+ component: O componente ao qual o projeto pertence
423
+ confirmed_votes: O número de votos confirmados que este projeto recebeu
424
+ created_at: Data e hora em que o projeto foi criado
425
+ description: A descrição do projeto
426
+ follows_count: O número de seguir o projeto tem
427
+ id: O identificador exclusivo do projeto
428
+ latitude: A latitude do projeto, caso tenha uma localização física
429
+ longitude: A longitude do projeto, caso ele tenha um local físico
430
+ participatory_space: A que espaço (por exemplo, Processo participativo, ou montagem) este projeto pertence
431
+ reference: A referência exclusiva do projeto
432
+ related_proposal_titles: Os títulos das propostas relacionadas
433
+ related_proposal_urls: As URLs das propostas relacionadas
434
+ related_proposals: As propostas relacionadas a este projeto
435
+ selected_at: O momento em que o projeto foi selecionado
436
+ taxonomies: As taxonomias do projeto
437
+ title: O título do projeto
438
+ updated_at: A última data em que o projeto foi atualizado
439
+ url: A URL do projeto
320
440
  orders:
321
441
  checkout:
322
442
  error: Ocorreu um erro ao processar seu voto.
@@ -328,5 +448,7 @@ pt-BR:
328
448
  project_proposal: Propostas incluídas neste projeto
329
449
  statistics:
330
450
  orders_count: Suportes
451
+ projects_count: Orçamentos
452
+ projects_count_tooltip: O número de projectos de orçamentação participativa e o total de votos expressos sobre eles.
331
453
  index:
332
454
  confirmed_orders_count: Contagem de votos
@@ -78,6 +78,8 @@ ro:
78
78
  new:
79
79
  create: Importă propuneri în proiecte
80
80
  no_components: Nu există alte componente de propuneri în acest spațiu participativ pentru a importa propunerile în proiecte.
81
+ proposal_states: Stări ale propunerii
82
+ proposal_states_help: Selectați una sau mai multe stări de propunere pentru a importa în proiecte. Prin neselectarea vreuneia, veți importa toate propunerile publicate care nu au fost deja importate în alte bugete din această componentă.
81
83
  select_component: Te rugăm selectează o componentă
82
84
  admin_log:
83
85
  budget:
@@ -143,7 +143,6 @@ sv:
143
143
  new:
144
144
  create: Importera förslag till projekt
145
145
  default_budget: Förvald budget
146
- import_all_accepted_proposals: Importera alla godkända förslag
147
146
  no_components: Det finns inga andra förslagskomponenter med förslag i deltagarutrymmet som kan importeras till projekt.
148
147
  origin_component_id: Ursprungskomponent
149
148
  select_component: Välj en komponent
@@ -95,7 +95,6 @@ zh-TW:
95
95
  new:
96
96
  create: 將提案匯入專案
97
97
  default_budget: 預設預算
98
- import_all_accepted_proposals: 導入所有已接受的提案
99
98
  no_components: 在此參與空間中沒有其他提案元件可以將提案匯入到專案中。
100
99
  origin_component_id: 原始元件
101
100
  select_component: 請選擇一個組件
@@ -21,6 +21,20 @@ Decidim.register_component(:budgets) do |component|
21
21
  raise StandardError, "Cannot remove this component" if Decidim::Budgets::Budget.where(component: instance).any?
22
22
  end
23
23
 
24
+ component.on(:publish) do |instance|
25
+ Decidim::Budgets::Budget.where(component: instance).find_each do |budget|
26
+ Decidim::UpdateSearchIndexesJob.perform_later([budget])
27
+ Decidim::UpdateSearchIndexesJob.perform_later(budget.projects)
28
+ end
29
+ end
30
+
31
+ component.on(:unpublish) do |instance|
32
+ Decidim::Budgets::Budget.where(component: instance).find_each do |budget|
33
+ Decidim::RemoveSearchIndexesJob.perform_later([budget])
34
+ Decidim::RemoveSearchIndexesJob.perform_later(budget.projects)
35
+ end
36
+ end
37
+
24
38
  component.register_resource(:budget) do |resource|
25
39
  resource.model_class_name = "Decidim::Budgets::Budget"
26
40
  resource.card = "decidim/budgets/budget"
@@ -37,6 +37,12 @@ module Decidim
37
37
  Decidim.icons.register(name: "progress-2-line", icon: "progress-2-line", category: "system", description: "", engine: :budgets)
38
38
  end
39
39
 
40
+ initializer "decidim_budgets.data_migrate", after: "decidim_core.data_migrate" do
41
+ DataMigrate.configure do |config|
42
+ config.data_migrations_path << root.join("db/data").to_s
43
+ end
44
+ end
45
+
40
46
  initializer "decidim_budgets.add_cells_view_paths" do
41
47
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/cells")
42
48
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/views") # for partials
@@ -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.31.0.rc2"
7
+ "0.31.1"
8
8
  end
9
9
  end
10
10
  end
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.31.0.rc2
4
+ version: 0.31.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: 2025-10-28 00:00:00.000000000 Z
13
+ date: 2026-01-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-comments
@@ -18,70 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.31.0.rc2
21
+ version: 0.31.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.31.0.rc2
28
+ version: 0.31.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.31.0.rc2
35
+ version: 0.31.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.31.0.rc2
42
+ version: 0.31.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: decidim-admin
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.31.0.rc2
49
+ version: 0.31.1
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.31.0.rc2
56
+ version: 0.31.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: decidim-dev
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.31.0.rc2
63
+ version: 0.31.1
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.31.0.rc2
70
+ version: 0.31.1
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: decidim-proposals
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.31.0.rc2
77
+ version: 0.31.1
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.31.0.rc2
84
+ version: 0.31.1
85
85
  description: A budgets component for decidim's participatory spaces.
86
86
  email:
87
87
  - josepjaume@gmail.com