decidim-budgets 0.30.6 → 0.30.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 769230255f1033f9e0c589af6c8bb5e9a0979c8e350d9f174fb7088722dab852
4
- data.tar.gz: 1be6ae43fe3f30bde08edcfbf19648e209f1ab5f4d73803174bb728cc0f63e8f
3
+ metadata.gz: d0d3a616bbaef5a012789a7b66926f6b2d5aca1cb746b6951fc35dada06ab95e
4
+ data.tar.gz: 7e1c1351d1329bddddd1e36c26a66f97346af777ea8680ae3e7ff06f47a3e5a1
5
5
  SHA512:
6
- metadata.gz: e172d694295ef6310558939714591257748c24b707ed2d269f75ed2e0ab43fae22589480ec414efd3f11e98d6dba3f165d0d3473345dba671968b736c649691f
7
- data.tar.gz: 0a308e6e7695603ab8933ab58651384cf3b42261d5b98c40ff048c7fd5b72288bd669d8a32008aec9a0b838a957a1aeecd3739e9516349ae2c832487afc98f8a
6
+ metadata.gz: 6a57c55f378f0cec6c42bc6c7ebe7415818cb8cc90d195b149fd6368de19babfbf1bc3021138ae9c8773c6025522057cf508314e32d61ba7ba0556b09f33973b
7
+ data.tar.gz: 8aa6bf47d1f8998cc993b9c426f943b52ec954e6c742b44703dab55d7f6482152afc2dd6fa2f29da054f2c79c88b295f74ddae42afb6dbc6ad5041e547ce5743
@@ -57,9 +57,9 @@ module Decidim
57
57
  def reorder(budgets)
58
58
  case order
59
59
  when "highest_cost"
60
- budgets.order(total_budget: :desc)
60
+ budgets.reorder(total_budget: :desc, weight: :asc)
61
61
  when "lowest_cost"
62
- budgets.order(total_budget: :asc)
62
+ budgets.reorder(total_budget: :asc, weight: :asc)
63
63
  when "random"
64
64
  budgets.order_randomly(random_seed)
65
65
  else
@@ -16,7 +16,7 @@ module Decidim
16
16
 
17
17
  validates :title, translatable_presence: true
18
18
  validates :weight, numericality: { greater_than_or_equal_to: 0 }
19
- validates :total_budget, numericality: { greater_than: 0 }
19
+ validates :total_budget, numericality: { only_integer: true, greater_than: 0, less_than_or_equal_to: 9_223_372_036_854_775_807 }
20
20
  end
21
21
  end
22
22
  end
@@ -26,7 +26,7 @@ module Decidim
26
26
 
27
27
  validates :title, translatable_presence: true
28
28
  validates :description, translatable_presence: true
29
- validates :budget_amount, presence: true, numericality: { greater_than: 0 }
29
+ validates :budget_amount, presence: true, numericality: { only_integer: true, greater_than: 0, less_than_or_equal_to: 9_223_372_036_854_775_807 }
30
30
  validates :address, geocoding: true, if: ->(form) { form.has_address? && !form.geocoded? }
31
31
 
32
32
  validate :notify_missing_attachment_if_errored
@@ -1,7 +1,7 @@
1
1
  <% add_decidim_page_title("#{translated_attribute(budget.title)} - #{t(".title")}") %>
2
2
  <div class="item_show__header">
3
3
  <h1 class="item_show__header-title">
4
- <%= "#{decidim_escape_translated(budget.title)} #{t(".title")}" %>
4
+ <%= "#{decidim_sanitize_translated(budget.title)} #{t(".title")}" %>
5
5
  </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
@@ -3,7 +3,7 @@
3
3
  <div class="item_show__header item_show__header--with-action-options">
4
4
  <h1 class="item_show__header-title">
5
5
  <div>
6
- <%= link_to decidim_escape_translated(budget.title), budgets_path %> &gt;
6
+ <%= link_to decidim_sanitize_translated(budget.title), budgets_path %> &gt;
7
7
  <%= t(".title") %>
8
8
  <span id="js-selected-resources-count" class="component-counter" title="<%= t("decidim.budgets.admin.projects.index.selected") %>"></span>
9
9
  </div>
@@ -3,7 +3,7 @@
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
5
  <div>
6
- <%= link_to decidim_escape_translated(budget.title), budgets_path %> &gt;
6
+ <%= link_to decidim_sanitize_translated(budget.title), budgets_path %> &gt;
7
7
  <%= t(".title") %>
8
8
  <span id="js-selected-resources-count" class="component-counter" title="<%= t("decidim.budgets.admin.projects.index.selected") %>"></span>
9
9
  </div>
@@ -27,6 +27,7 @@ ar:
27
27
  edit: تعديل
28
28
  edit_projects: إدارة المشاريع
29
29
  import: استيراد مقترحات للمشاريع
30
+ new_project: مشروع جديد
30
31
  preview: معاينة
31
32
  title: أفعال
32
33
  admin:
@@ -116,7 +116,7 @@ ca-IT:
116
116
  title: Projectes eliminats
117
117
  new:
118
118
  create: Crear
119
- title: Nou projecte
119
+ title: Afegir projecte
120
120
  update:
121
121
  invalid: S'ha produït un error en actualitzar aquest projecte.
122
122
  success: Projecte actualitzat correctament.
@@ -145,7 +145,7 @@ ca-IT:
145
145
  new:
146
146
  create: Importa propostes a projectes
147
147
  default_budget: Pressupost per defecte
148
- no_components: No hi ha cap component de propostes en aquest espai participatiu per importar les propostes a projectes.
148
+ no_components: No hi ha cap component de propostes en aquest espai de participació des del que importar les propostes a projectes.
149
149
  origin_component_id: Component d'origen
150
150
  proposal_states: Estats de resposta a la proposta
151
151
  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.
@@ -116,7 +116,7 @@ ca:
116
116
  title: Projectes eliminats
117
117
  new:
118
118
  create: Crear
119
- title: Nou projecte
119
+ title: Afegir projecte
120
120
  update:
121
121
  invalid: S'ha produït un error en actualitzar aquest projecte.
122
122
  success: Projecte actualitzat correctament.
@@ -145,7 +145,7 @@ ca:
145
145
  new:
146
146
  create: Importa propostes a projectes
147
147
  default_budget: Pressupost per defecte
148
- no_components: No hi ha cap component de propostes en aquest espai participatiu per importar les propostes a projectes.
148
+ no_components: No hi ha cap component de propostes en aquest espai de participació des del que importar les propostes a projectes.
149
149
  origin_component_id: Component d'origen
150
150
  proposal_states: Estats de resposta a la proposta
151
151
  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.
@@ -37,6 +37,7 @@ el:
37
37
  edit: Επεξεργασία
38
38
  edit_projects: Διαχείριση έργων
39
39
  import: Εισαγωγή προτάσεων σε έργα
40
+ new_project: Νέο έργο
40
41
  preview: Προεπισκόπηση
41
42
  send_voting_reminders: Αποστολή υπενθυμίσεων ψήφου
42
43
  title: Ενέργειες
@@ -53,7 +53,7 @@ es-MX:
53
53
  edit_projects: Gestionar proyectos
54
54
  import: Importar propuestas a proyectos
55
55
  new_budget: Añadir presupuesto
56
- new_project: Añadir proyecto
56
+ new_project: Nuevo proyecto
57
57
  preview: Previsualizar
58
58
  send_voting_reminders: Enviar recordatorios de votación
59
59
  title: Acciones
@@ -53,7 +53,7 @@ es-PY:
53
53
  edit_projects: Gestionar proyectos
54
54
  import: Importar propuestas a proyectos
55
55
  new_budget: Añadir presupuesto
56
- new_project: Añadir proyecto
56
+ new_project: Nuevo proyecto
57
57
  preview: Previsualizar
58
58
  send_voting_reminders: Enviar recordatorios de votación
59
59
  title: Acciones
@@ -116,7 +116,7 @@ es:
116
116
  title: Proyectos eliminados
117
117
  new:
118
118
  create: Crear
119
- title: Nuevo proyecto
119
+ title: Añadir proyecto
120
120
  update:
121
121
  invalid: Se ha producido un error al actualizar este proyecto.
122
122
  success: Proyecto actualizado correctamente.
@@ -145,7 +145,7 @@ es:
145
145
  new:
146
146
  create: Importar propuestas a proyectos
147
147
  default_budget: Presupuesto por defecto
148
- no_components: No hay otros componentes de la propuesta en este espacio participativo para importar las propuestas en los proyectos.
148
+ no_components: No hay otros componentes de la propuesta en este espacio de participación para importar las propuestas en los proyectos.
149
149
  origin_component_id: Componente de origen
150
150
  proposal_states: Estados de repuesta a la propuesta
151
151
  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.
@@ -236,7 +236,7 @@ es:
236
236
  order_summary:
237
237
  selected_projects: 'Lo proyectos que has seleccionado son:'
238
238
  subject: Has votado en el espacio de participación %{space_name}
239
- voted_on_space: Has votado en el presupuesto %{budget_name} para el espacio participativo %{space_name}.
239
+ voted_on_space: Has votado en el presupuesto %{budget_name} para el espacio de participación "%{space_name}".
240
240
  projects:
241
241
  budget_confirm:
242
242
  are_you_sure: Si cambias de opinión, puedes cambiar tu voto más tarde.
@@ -53,7 +53,7 @@ fi-pl:
53
53
  edit_projects: Hallinnoi projekteja
54
54
  import: Tuo ehdotuksia suunnitelmiin
55
55
  new_budget: Uusi budjetti
56
- new_project: Uusi projekti
56
+ new_project: Uusi suunnitelma
57
57
  preview: Esikatsele
58
58
  send_voting_reminders: Lähetä äänestysmuistutukset
59
59
  title: Toiminnot
@@ -33,6 +33,7 @@ gl:
33
33
  edit: Editar
34
34
  edit_projects: Xestionar proxectos
35
35
  import: Importa propostas a proxectos
36
+ new_project: Novo proxecto
36
37
  preview: Vista previa
37
38
  title: Accións
38
39
  admin:
@@ -17,6 +17,7 @@ id:
17
17
  attachments: Lampiran
18
18
  edit: Edit
19
19
  import: Impor proposal ke proyek
20
+ new_project: Proyek baru
20
21
  preview: Pratinjau
21
22
  title: Tindakan
22
23
  admin:
@@ -26,6 +26,7 @@ it:
26
26
  edit: Modifica
27
27
  edit_projects: Gestisci progetti
28
28
  import: Importa proposte nei progetti
29
+ new_project: Nuovo progetto
29
30
  preview: Anteprima
30
31
  title: Azioni
31
32
  admin:
@@ -26,6 +26,7 @@ ko:
26
26
  actions:
27
27
  attachment_collections: 폴더
28
28
  attachments: 첨부 파일
29
+ new_project: 새 프로젝트
29
30
  admin:
30
31
  projects:
31
32
  create:
@@ -21,6 +21,7 @@ lb:
21
21
  edit: Bearbeiten
22
22
  edit_projects: Projekte verwalten
23
23
  import: Vorschläge in Projekte importieren
24
+ new_project: Neues Projekt
24
25
  preview: Vorschau
25
26
  title: Aktionen
26
27
  admin:
@@ -39,6 +39,7 @@ lt:
39
39
  edit: Redaguoti
40
40
  edit_projects: Valdyti projektus
41
41
  import: Importuoti pasiūlymus į projektus
42
+ new_project: Naujas projektas
42
43
  preview: Peržiūra
43
44
  send_voting_reminders: Siųsti balsavimo priminimus
44
45
  title: Veiksmai
@@ -19,6 +19,7 @@ lv:
19
19
  attachments: Pielikumi
20
20
  edit: Labot
21
21
  import: Importēt priekšlikumus projektos
22
+ new_project: Jauns projekts
22
23
  preview: Priekšskatīt
23
24
  title: Darbības
24
25
  admin:
@@ -37,6 +37,7 @@ nl:
37
37
  edit: Bewerk
38
38
  edit_projects: Beheer projecten
39
39
  import: Voorstellen importeren in projecten
40
+ new_project: Nieuw project
40
41
  preview: Voorbeeld
41
42
  title: Acties
42
43
  admin:
@@ -34,6 +34,7 @@
34
34
  edit: Editar
35
35
  edit_projects: Administrer prosjekter
36
36
  import: Importer forslag til prosjekter
37
+ new_project: Nytt prosjekt
37
38
  preview: Forhåndsvis
38
39
  title: Handlinger
39
40
  admin:
@@ -26,6 +26,7 @@ pt:
26
26
  edit: Editar
27
27
  edit_projects: Gerir projectos
28
28
  import: Importar propostas para projetos
29
+ new_project: Novo projeto
29
30
  preview: Pré-visualização
30
31
  title: Ações
31
32
  admin:
@@ -38,6 +38,7 @@ ro:
38
38
  edit: Editare
39
39
  edit_projects: Gestionați proiectele
40
40
  import: Importă propuneri în proiecte
41
+ new_project: Proiect nou
41
42
  preview: Previzualizare
42
43
  send_voting_reminders: Trimite memento-uri de votare
43
44
  title: Acțiuni
@@ -20,6 +20,7 @@ ru:
20
20
  attachments: Прикрепленные файлы
21
21
  edit: Редактировать
22
22
  import: Внести в проекты позаимствованные предложения
23
+ new_project: Новый проект
23
24
  preview: Предпросмотр
24
25
  title: Действия
25
26
  admin:
@@ -20,6 +20,7 @@ sk:
20
20
  attachments: Prílohy
21
21
  edit: Upraviť
22
22
  import: Importovať návrhy do projektov
23
+ new_project: Nový projekt
23
24
  preview: Ukážka
24
25
  title: Akcie
25
26
  admin:
@@ -40,3 +40,7 @@ sq:
40
40
  new_budget: Buxhet i ri
41
41
  new_project: Projekt i ri
42
42
  preview: Pamje paraprake
43
+ admin:
44
+ projects:
45
+ new:
46
+ title: Projekt i ri
@@ -20,6 +20,7 @@ uk:
20
20
  attachments: Вкладені файли
21
21
  edit: Редагувати
22
22
  import: Внести до проектів запозичені пропозиції
23
+ new_project: Додати новий проект
23
24
  preview: Попередній перегляд
24
25
  title: Дії
25
26
  admin:
@@ -23,6 +23,7 @@ zh-CN:
23
23
  edit: 编辑
24
24
  edit_projects: 管理项目
25
25
  import: 导入提案到项目
26
+ new_project: 新建项目
26
27
  preview: 预览
27
28
  title: 行动
28
29
  admin:
@@ -36,6 +36,7 @@ zh-TW:
36
36
  edit: 編輯
37
37
  edit_projects: 管理專案
38
38
  import: 將提案匯入專案
39
+ new_project: 新專案
39
40
  preview: 預覽
40
41
  send_voting_reminders: 發送投票提醒
41
42
  title: 操作
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ChangeBudgetColumnsToBigint < ActiveRecord::Migration[7.0]
4
+ def up
5
+ change_column :decidim_budgets_budgets, :total_budget, :bigint
6
+ change_column :decidim_budgets_projects, :budget_amount, :bigint
7
+ end
8
+
9
+ def down
10
+ budget_overflow = select_value(<<~SQL.squish)
11
+ SELECT 1 FROM decidim_budgets_budgets
12
+ WHERE total_budget > 2147483647 OR total_budget < -2147483648
13
+ LIMIT 1
14
+ SQL
15
+ project_overflow = select_value(<<~SQL.squish)
16
+ SELECT 1 FROM decidim_budgets_projects
17
+ WHERE budget_amount > 2147483647 OR budget_amount < -2147483648
18
+ LIMIT 1
19
+ SQL
20
+
21
+ raise ActiveRecord::IrreversibleMigration, "Cannot safely convert bigint budgets back to integer: out-of-range values exist" if budget_overflow || project_overflow
22
+
23
+ change_column :decidim_budgets_budgets, :total_budget, :integer
24
+ change_column :decidim_budgets_projects, :budget_amount, :integer
25
+ end
26
+ end
@@ -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.30.6"
7
+ "0.30.7"
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.30.6
4
+ version: 0.30.7
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: 2026-02-26 00:00:00.000000000 Z
13
+ date: 2026-03-26 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.30.6
21
+ version: 0.30.7
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.30.6
28
+ version: 0.30.7
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.30.6
35
+ version: 0.30.7
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.30.6
42
+ version: 0.30.7
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.30.6
49
+ version: 0.30.7
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.30.6
56
+ version: 0.30.7
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.30.6
63
+ version: 0.30.7
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.30.6
70
+ version: 0.30.7
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.30.6
77
+ version: 0.30.7
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.30.6
84
+ version: 0.30.7
85
85
  description: A budgets component for decidim's participatory spaces.
86
86
  email:
87
87
  - josepjaume@gmail.com
@@ -342,6 +342,7 @@ files:
342
342
  - db/migrate/20220428072638_add_geolocalization_fields_to_projects.rb
343
343
  - db/migrate/20240828103724_add_deleted_at_to_decidim_budgets_budgets.rb
344
344
  - db/migrate/20240916135141_add_deleted_at_to_decidim_budgets_projects.rb
345
+ - db/migrate/20250912110213_change_budget_columns_to_bigint.rb
345
346
  - decidim-budgets.gemspec
346
347
  - lib/decidim/api/budget_type.rb
347
348
  - lib/decidim/api/budgets_type.rb