decidim-budgets 0.28.0 → 0.28.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/budgets/base_cell.rb +1 -1
  3. data/app/cells/decidim/budgets/budget_list_item/show.erb +1 -1
  4. data/app/controllers/decidim/budgets/admin/projects_controller.rb +3 -2
  5. data/app/controllers/decidim/budgets/line_items_controller.rb +15 -9
  6. data/app/helpers/decidim/budgets/projects_helper.rb +1 -1
  7. data/app/packs/src/decidim/budgets/exit_handler.js +1 -1
  8. data/app/views/decidim/budgets/admin/budgets/edit.html.erb +2 -2
  9. data/app/views/decidim/budgets/admin/budgets/index.html.erb +8 -4
  10. data/app/views/decidim/budgets/admin/budgets/new.html.erb +2 -2
  11. data/app/views/decidim/budgets/admin/projects/_project-tr.html.erb +5 -3
  12. data/app/views/decidim/budgets/admin/projects/edit.html.erb +3 -3
  13. data/app/views/decidim/budgets/admin/projects/index.html.erb +6 -4
  14. data/app/views/decidim/budgets/admin/projects/new.html.erb +3 -3
  15. data/app/views/decidim/budgets/admin/proposals_imports/new.html.erb +2 -2
  16. data/config/locales/ar.yml +7 -0
  17. data/config/locales/ca.yml +4 -1
  18. data/config/locales/cs.yml +3 -0
  19. data/config/locales/de.yml +5 -2
  20. data/config/locales/en.yml +3 -0
  21. data/config/locales/es-MX.yml +3 -0
  22. data/config/locales/es-PY.yml +3 -0
  23. data/config/locales/es.yml +4 -1
  24. data/config/locales/eu.yml +3 -0
  25. data/config/locales/fi-plain.yml +3 -0
  26. data/config/locales/fi.yml +3 -0
  27. data/config/locales/fr-CA.yml +3 -0
  28. data/config/locales/fr.yml +3 -0
  29. data/config/locales/he-IL.yml +1 -0
  30. data/config/locales/hu.yml +12 -0
  31. data/config/locales/ja.yml +3 -0
  32. data/config/locales/ko.yml +57 -0
  33. data/config/locales/pl.yml +76 -0
  34. data/config/locales/pt-BR.yml +62 -0
  35. data/config/locales/ru.yml +3 -0
  36. data/config/locales/sk.yml +3 -0
  37. data/config/locales/sq-AL.yml +50 -0
  38. data/config/locales/uk.yml +2 -0
  39. data/decidim-budgets.gemspec +41 -0
  40. data/lib/decidim/budgets/test/factories.rb +29 -14
  41. data/lib/decidim/budgets/version.rb +1 -1
  42. metadata +20 -19
  43. data/config/environment.rb +0 -3
@@ -38,6 +38,7 @@ pl:
38
38
  label: Wybrane
39
39
  values:
40
40
  'false': Wybrane do wykonania
41
+ 'true': Nie wybrano do implementacji
41
42
  budgets:
42
43
  actions:
43
44
  attachment_collections: Foldery
@@ -47,10 +48,19 @@ pl:
47
48
  edit: Edytuj
48
49
  edit_projects: Zarządzaj budżetem
49
50
  import: Importuj propozycje do projektów
51
+ new_budget: Nowy budżet
52
+ new_project: Nowy projekt
50
53
  preview: Podgląd
54
+ send_voting_reminders: Wyślij przypomnienia o głosowaniu
51
55
  title: Działania
52
56
  admin:
53
57
  budgets:
58
+ create:
59
+ invalid: Podczas tworzenia tego budżetu wystąpił błąd.
60
+ success: Budżet został utworzony.
61
+ destroy:
62
+ invalid: Wystąpił błąd podczas usuwania budżetu.
63
+ success: Budżet został usunięty.
54
64
  edit:
55
65
  title: Edytuj budżet
56
66
  update: Aktualizuj budżet
@@ -63,6 +73,9 @@ pl:
63
73
  new:
64
74
  create: Utwórz budżet
65
75
  title: Nowy budżet
76
+ update:
77
+ invalid: Podczas aktualizowania budżetu wystąpił błąd.
78
+ success: Budżet został zaktualizowany.
66
79
  exports:
67
80
  projects: Projekty
68
81
  models:
@@ -91,6 +104,9 @@ pl:
91
104
  pending_orders: Głosowania oczekujące
92
105
  select_for_implementation: Zaznacz do wdrożenia
93
106
  selected: Wybrano
107
+ selected_options:
108
+ 'no': 'Nie'
109
+ 'yes': 'Tak'
94
110
  title: Projekty
95
111
  update: Aktualizuj
96
112
  update_budget_button: Aktualizuj budżet projektu
@@ -171,6 +187,7 @@ pl:
171
187
  last_activity:
172
188
  new_vote_at: Głosowanie w budżecie na
173
189
  limit_announcement:
190
+ cant_vote: Nie możesz zagłosować na ten budżet. <a href="%{landing_path}">Spróbuj wybrać inny budżet</a>.
174
191
  limit_reached: 'Masz aktywne głosy: %{links}. Aby zagłosować na ten budżet, musisz <a href="%{landing_path}">usunąć swój głos i zacząć od nowa</a>.'
175
192
  models:
176
193
  budget:
@@ -180,6 +197,8 @@ pl:
180
197
  total_budget: Całkowity budżet
181
198
  project:
182
199
  fields:
200
+ category: Kategoria
201
+ id: Identyfikator
183
202
  title: Tytuł
184
203
  order_summary_mailer:
185
204
  order_summary:
@@ -196,21 +215,32 @@ pl:
196
215
  title: Potwierdź głosowanie
197
216
  budget_excess:
198
217
  budget_excess:
218
+ description: Ten projekt przekracza maksymalny budżet i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
199
219
  title: Przekroczono maksymalny budżet
220
+ description: Ten projekt przekracza maksymalny budżet i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
200
221
  ok: ok
201
222
  projects_excess:
223
+ description: Ten projekt przekracza maksymalną ilość projektów i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
202
224
  title: Maksymalna liczba projektów została przekroczona
203
225
  budget_summary:
204
226
  are_you_sure: Czy na pewno chcesz anulować swój głos?
205
227
  cancel_order: usuń głos i zacznij od nowa
206
228
  checked_out:
229
+ description: Już głosowałeś/aś na budżet. Jeśli zmieniłeś/aś zdanie, możesz usunąć swój głos.
207
230
  title: Ukończono głosowanie dot. budżetu
231
+ vote: Budżet poddany pod głosowanie
208
232
  count:
209
233
  projects_count:
210
234
  one: 1 projekt
211
235
  few: "%{count} projekty"
212
236
  many: "%{count} projektów"
213
237
  other: "%{count} projektów"
238
+ empty: Nie ma jeszcze żadnych projektów
239
+ exit_modal:
240
+ cancel: Powrót do głosowania
241
+ exit: Wyjdź z głosowania
242
+ message: Twój głos nie został zarejestrowany, ponieważ nie ukończyłeś/aś jeszcze procesu głosowania. Czy na pewno chcesz zakończyć głosowanie?
243
+ title: Jeszcze nie głosowałeś/aś
214
244
  filters:
215
245
  category: Kategoria
216
246
  scope: Zakres
@@ -220,6 +250,22 @@ pl:
220
250
  all: Wszystkie
221
251
  not_selected: Nie wybrano
222
252
  selected: Wybrano
253
+ order_progress:
254
+ assigned: Przypisany
255
+ budget: Budżet
256
+ dynamic_help:
257
+ keep_adding_projects: Kontynuuj dodawanie projektów
258
+ minimum_reached: Osiągnąłeś/aś minimum, aby móc głosować
259
+ start_adding_projects: Zacznij dodawać projekty
260
+ minimum: Minimum
261
+ minimum_projects_rule:
262
+ description: Wybierz co najmniej %{minimum_number} projektów i zagłosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
263
+ projects_rule:
264
+ description: Wybierz co najmniej %{minimum_number} i maksymalnie %{maximum_number} projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
265
+ projects_rule_maximum_only:
266
+ description: Wybierz do %{maximum_number} projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
267
+ vote_threshold_percent_rule:
268
+ description: Przypisz co najmniej %{minimum_budget} do projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
223
269
  orders:
224
270
  highest_cost: Najwyższy koszt
225
271
  label: Uporządkuj projekty według
@@ -228,18 +274,34 @@ pl:
228
274
  random: Kolejność losowa
229
275
  selected: Wybrano
230
276
  project:
277
+ add: Dodaj projekt %{resource_name} do swojego głosu.
278
+ remove: Usuń projekt %{resource_name} ze swojego głosu.
231
279
  selected: Wybrano
232
280
  votes:
233
281
  one: głos
234
282
  few: głosów
235
283
  many: głosów
236
284
  other: głosów
285
+ you_voted: Zagłosowałeś/aś na to
237
286
  project_budget_button:
238
287
  add: Dodaj do swojego głosu
288
+ add_descriptive: Dodaj projekt %{resource_name} do swojego głosu.
239
289
  added: Dodano do Twojego głosu
290
+ added_descriptive: Projekt %{resource_name} został dodany do Twojego głosu.
291
+ project_filter:
292
+ added: Dodano
293
+ all: Wszystkie
240
294
  projects_for: Projekty dla %{name}
295
+ select_projects: Wybierz projekty
241
296
  show:
242
297
  budget: Budżet
298
+ prompt: Wybierz budżet
299
+ vote_reminder_mailer:
300
+ vote_reminder:
301
+ email_budgets: 'Obszary, w których masz niedokończone głosowanie:'
302
+ email_intro: Rozpocząłeś(aś) głosowanie w budżecie partycypacyjnym, ale nie ukończyłeś(aś) go.
303
+ email_link: Przejdź do kontynuowania głosowania
304
+ email_outro: Pamiętaj, aby zakończyć głosowanie. Aby głosować, musisz najpierw wybrać jedną lub więcej propozycji, nad którymi chcesz głosować, a następnie potwierdzić swój głos za pomocą przycisku "Głosuj".
243
305
  components:
244
306
  budgets:
245
307
  actions:
@@ -251,6 +313,11 @@ pl:
251
313
  announcement: Ogłoszenie
252
314
  comments_enabled: Komentarze włączone
253
315
  comments_max_length: Maksymalna długość komentarzy (Pozostaw 0 dla wartości domyślnej)
316
+ form:
317
+ errors:
318
+ budget_voting_rule_only_one: Może być włączona tylko jedna reguła głosowania.
319
+ budget_voting_rule_required: Wymagana jest jedna reguła głosowania.
320
+ geocoding_enabled: Włączono geokodowanie
254
321
  landing_page_content: Strona główna budżetów
255
322
  more_information_modal: Więcej informacji
256
323
  projects_per_page: Projektów na stronie
@@ -261,6 +328,7 @@ pl:
261
328
  total_budget: Całkowity budżet
262
329
  vote_minimum_budget_projects_number: Minimalna liczba projektów, na które można głosować
263
330
  vote_rule_minimum_budget_projects_enabled: 'Włącz regułę: minimalna liczba projektów, na które można głosować'
331
+ vote_rule_selected_projects_enabled: 'Aktywuj zasadę: Minimalna liczba projektów, na które można głosować'
264
332
  vote_rule_threshold_percent_enabled: 'Włącz regułę: minimalny procent budżetu'
265
333
  vote_selected_projects_maximum: Maksymalna liczba wybranych projektów
266
334
  vote_selected_projects_minimum: Minimalna liczba wybranych projektów
@@ -290,6 +358,14 @@ pl:
290
358
  email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link.
291
359
  email_subject: Budżet %{resource_title} jest teraz aktywny w %{participatory_space_title}.
292
360
  notification_title: Budżet <a href="%{resource_path}">%{resource_title}</a> jest teraz aktywny w %{participatory_space_title}.
361
+ orders:
362
+ checkout:
363
+ error: Podczas przetwarzania Twojego głosu wystąpił błąd.
364
+ success_html: <p>Twój głos został zaakceptowany.</p> <p class="text-sm font-normal">Możesz zobaczyć <a class="text-secondary underline" href="%{rest_of_budgets_link}">pozostałe budżety</a>.</p>
365
+ success_no_left_budgets_html: Twój głos został przyjęty.
366
+ destroy:
367
+ error: Podczas anulowania Twojego głosu wystąpił błąd.
368
+ success: Twój głos został anulowany.
293
369
  resource_links:
294
370
  included_proposals:
295
371
  project_proposal: Propozycje zawarte w tym projekcie
@@ -21,6 +21,9 @@ pt-BR:
21
21
  scope_id: Escopo
22
22
  activerecord:
23
23
  models:
24
+ decidim/budgets/budget:
25
+ one: Orçamento
26
+ other: Orçamentos
24
27
  decidim/budgets/project:
25
28
  one: Projeto
26
29
  other: Projetos
@@ -46,6 +49,8 @@ pt-BR:
46
49
  edit: Editar
47
50
  edit_projects: Gerenciar projetos
48
51
  import: Importar propostas para os projetos
52
+ new_budget: Novo orçamento
53
+ new_project: Novo projeto
49
54
  preview: Pré-visualização
50
55
  send_voting_reminders: Enviar lembretes de votação
51
56
  title: Ações
@@ -91,21 +96,63 @@ pt-BR:
91
96
  index:
92
97
  actions: Ações
93
98
  cancel: Cancelar
99
+ change_budget: Alterar orçamento
94
100
  change_category: Mudar categoria
95
101
  change_scope: Mudar escopo
96
102
  change_selected: Alterar estado selecionado
103
+ deselect_implementation: Desselecionar da implementação
97
104
  finished_orders: Votos finais
98
105
  pending_orders: Votações pendentes
106
+ select_for_implementation: Selecionado para implementação
99
107
  selected: Selecionado
108
+ selected_options:
109
+ 'no': 'Não'
110
+ 'yes': 'Sim'
100
111
  title: Projetos
112
+ update: Atualizar
113
+ update_budget_button: Atualizar orçamento do projeto
114
+ update_scope_button: Atualizar escopo
101
115
  new:
102
116
  create: Criar
103
117
  title: Novo projeto
118
+ update:
119
+ invalid: Houve um problema ao atualizar este projeto.
120
+ success: Projeto atualizado com sucesso.
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: %{projects}.'
123
+ select_a_project: Por favor, selecione um projeto.
124
+ update_category:
125
+ invalid: 'Estes projetos já tinham a categoria %{subject_name}: %{projects}.'
126
+ select_a_category: Por favor, selecione uma categoria.
127
+ select_a_project: Por favor, selecione um projeto.
128
+ success: 'Projetos atualizados com sucesso para a categoria %{subject_name}: %{projects}.'
129
+ update_scope:
130
+ invalid: 'Estes projetos já tinham o escopo %{subject_name}: %{projects}.'
131
+ select_a_project: Por favor, selecione um projeto.
132
+ select_a_scope: Por favor, selecione um escopo.
133
+ success: 'Projetos atualizados com sucesso no scopo %{subject_name}: %{projects}.'
134
+ update_selected:
135
+ invalid:
136
+ selected: 'Estes projetos já foram selecionados para a implementação: %{projects}.'
137
+ unselected: 'Estes projetos já foram desselecionados da implementação: %{projects}.'
138
+ select_a_project: Por favor, selecione um projeto.
139
+ select_a_selection: Por favor, selecione um estado de implementação.
140
+ success:
141
+ selected: 'Estes projetos foram selecionados com sucesso para a implementação: %{projects}.'
142
+ unselected: 'Estes projetos foram desselecionados da implementação com sucesso: %{projects}.'
104
143
  proposals_imports:
105
144
  new:
106
145
  create: Importar propostas para projetos
146
+ default_budget: Orçamento padrão
107
147
  no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas para projetos.
148
+ origin_component_id: Componente de origem
108
149
  select_component: Selecione um componente
150
+ reminders:
151
+ orders:
152
+ description: Os usuários receberão um e-mail com links para os orçamentos em que tenham pedido pendente.
153
+ title:
154
+ one: Você está prestes a enviar um lembrete por email para o usuário %{count}
155
+ other: Você está prestes a enviar um lembrete por email para %{count} usuários
109
156
  admin_log:
110
157
  budget:
111
158
  create: "%{user_name} criou o orçamento %{resource_name} no espaço %{space_name}"
@@ -125,6 +172,7 @@ pt-BR:
125
172
  more_than_one: exclua seu voto em %{name} e comece de novo
126
173
  only_one: exclua seu voto e comece novamente.
127
174
  highlighted_cta: Votar em %{name}
175
+ vote: Voto
128
176
  last_activity:
129
177
  new_vote_at: Nova votação sobre orçamentação em
130
178
  limit_announcement:
@@ -153,9 +201,12 @@ pt-BR:
153
201
  title: Confirmar votação
154
202
  budget_excess:
155
203
  budget_excess:
204
+ description: Este projecto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
156
205
  title: O orçamento máximo excedeu
206
+ description: Este projecto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
157
207
  ok: OK
158
208
  projects_excess:
209
+ description: Este projeto excede o número máximo de projetos e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
159
210
  title: Máximo de projetos excedido
160
211
  budget_summary:
161
212
  are_you_sure: Deseja mesmo cancelar o seu voto?
@@ -166,6 +217,10 @@ pt-BR:
166
217
  projects_count:
167
218
  one: 1 projeto
168
219
  other: "%{count} projetos"
220
+ exit_modal:
221
+ cancel: Voltar à votação
222
+ message: Seu voto não foi registrado porque você ainda não concluiu o processo de votação. Tem certeza que deseja sair da votação?
223
+ title: Você ainda não votou
169
224
  filters:
170
225
  category: Categoria
171
226
  scope: Âmbito
@@ -187,6 +242,7 @@ pt-BR:
187
242
  votes:
188
243
  one: voto
189
244
  other: votos
245
+ you_voted: Você votou nisto
190
246
  project_budget_button:
191
247
  add: Adicione ao seu voto
192
248
  added: Adicionado ao seu voto
@@ -195,7 +251,13 @@ pt-BR:
195
251
  budget: Orçamento
196
252
  vote_reminder_mailer:
197
253
  vote_reminder:
254
+ email_budgets: 'Áreas onde você tem uma votação inacabada:'
198
255
  email_intro: Você iniciou a votação sobre o orçamento participativo, mas não a concluíu.
256
+ email_link: Ir para continuar a votação
257
+ email_outro: Por favor, lembre-se de concluir a votação. Para votar, primeiro selecione a proposta ou as propostas que deseja votar e, em seguida, confirme o seu voto com o botão "Votar".
258
+ email_subject:
259
+ one: Você tem um voto inacabado na votação do orçamento participativo
260
+ other: Você tem votos inacabados na votação do orçamento participativo
199
261
  components:
200
262
  budgets:
201
263
  actions:
@@ -80,6 +80,9 @@ ru:
80
80
  category: Категория
81
81
  scope: Охват
82
82
  search: Поиск
83
+ project_budget_button:
84
+ add: Добавить
85
+ added: Добавлено
83
86
  show:
84
87
  budget: Бюджет
85
88
  components:
@@ -90,6 +90,9 @@ sk:
90
90
  lowest_cost: Najnižšie náklady
91
91
  most_voted: Najviac hlasov
92
92
  random: Náhodné poradie
93
+ project_budget_button:
94
+ add: Pridať
95
+ added: Pridané
93
96
  show:
94
97
  budget: Rozpočet
95
98
  components:
@@ -1 +1,51 @@
1
+ ---
1
2
  sq:
3
+ activemodel:
4
+ attributes:
5
+ budget:
6
+ decidim_scope_id: Fushëveprimi
7
+ description: Përshkrimi
8
+ title: Titulli
9
+ total_budget: Buxheti total
10
+ weight: Rendit pozicionet
11
+ project:
12
+ budget_amount: Shuma buxhetore
13
+ decidim_category_id: Kategori
14
+ decidim_scope_id: Fushëveprim
15
+ description: Përshkrimi
16
+ proposal_ids: Propozime të ngjashme
17
+ proposals: Propozimet
18
+ selected: Përzgjedhur për zbatim
19
+ title: Titulli
20
+ proposals_import:
21
+ scope_id: Fushëveprim
22
+ activerecord:
23
+ models:
24
+ decidim/budgets/project:
25
+ one: Projekt
26
+ other: Projektet
27
+ decidim:
28
+ admin:
29
+ filters:
30
+ projects:
31
+ category_id_eq:
32
+ label: Kategori
33
+ scope_id_eq:
34
+ label: Qëllimi
35
+ selected_at_null:
36
+ label: E përzgjedhur
37
+ values:
38
+ 'false': Përzgjedhur për zbatim
39
+ 'true': Nuk është përzgjedhur për zbatim
40
+ budgets:
41
+ actions:
42
+ attachment_collections: Dosjet
43
+ attachments: Bashkëngjitjet
44
+ confirm_destroy: A je i sigurt që do ta fshish këtë projekt?
45
+ destroy: Fshi
46
+ edit: Përpuno
47
+ edit_projects: Menaxho projektet
48
+ import: Importo propozimet ne projekte
49
+ new_budget: Buxhet i ri
50
+ new_project: Projekt i ri
51
+ preview: Pamje paraprake
@@ -80,6 +80,8 @@ uk:
80
80
  category: Категорія
81
81
  scope: Обсяг
82
82
  search: Шукати
83
+ project_budget_button:
84
+ added: Додано
83
85
  show:
84
86
  budget: Бюджет
85
87
  components:
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require "decidim/budgets/version"
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.version = Decidim::Budgets.version
11
+ s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
+ s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
+ s.license = "AGPL-3.0"
14
+ s.homepage = "https://decidim.org"
15
+ s.metadata = {
16
+ "bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
17
+ "documentation_uri" => "https://docs.decidim.org/",
18
+ "funding_uri" => "https://opencollective.com/decidim",
19
+ "homepage_uri" => "https://decidim.org",
20
+ "source_code_uri" => "https://github.com/decidim/decidim"
21
+ }
22
+ s.required_ruby_version = "~> 3.1.0"
23
+
24
+ s.name = "decidim-budgets"
25
+ s.summary = "Decidim budgets module"
26
+ s.description = "A budgets component for decidim's participatory spaces."
27
+
28
+ s.files = Dir.chdir(__dir__) do
29
+ `git ls-files -z`.split("\x0").select do |f|
30
+ (File.expand_path(f) == __FILE__) ||
31
+ f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
32
+ end
33
+ end
34
+
35
+ s.add_dependency "decidim-comments", Decidim::Budgets.version
36
+ s.add_dependency "decidim-core", Decidim::Budgets.version
37
+
38
+ s.add_development_dependency "decidim-admin", Decidim::Budgets.version
39
+ s.add_development_dependency "decidim-dev", Decidim::Budgets.version
40
+ s.add_development_dependency "decidim-proposals", Decidim::Budgets.version
41
+ end
@@ -9,9 +9,12 @@ require "decidim/participatory_processes/test/factories"
9
9
 
10
10
  FactoryBot.define do
11
11
  factory :budgets_component, parent: :component do
12
- name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :budgets).i18n_name }
12
+ transient do
13
+ skip_injection { false }
14
+ end
15
+ name { generate_component_name(participatory_space.organization.available_locales, :budgets, skip_injection:) }
13
16
  manifest_name { :budgets }
14
- participatory_space { create(:participatory_process, :with_steps, organization:) }
17
+ participatory_space { create(:participatory_process, :with_steps, skip_injection:, organization:) }
15
18
 
16
19
  trait :with_geocoding_enabled do
17
20
  settings do
@@ -110,10 +113,13 @@ FactoryBot.define do
110
113
  end
111
114
 
112
115
  factory :budget, class: "Decidim::Budgets::Budget" do
113
- title { generate_localized_title }
114
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
116
+ transient do
117
+ skip_injection { false }
118
+ end
119
+ title { generate_localized_title(:budget_title, skip_injection:) }
120
+ description { generate_localized_description(:budget_description, skip_injection:) }
115
121
  total_budget { 100_000_000 }
116
- component { create(:budgets_component) }
122
+ component { create(:budgets_component, skip_injection:) }
117
123
 
118
124
  trait :with_projects do
119
125
  transient do
@@ -121,19 +127,22 @@ FactoryBot.define do
121
127
  end
122
128
 
123
129
  after(:create) do |budget, evaluator|
124
- create_list(:project, evaluator.projects_number, budget:)
130
+ create_list(:project, evaluator.projects_number, skip_injection: evaluator.skip_injection, budget:)
125
131
  end
126
132
  end
127
133
  end
128
134
 
129
135
  factory :project, class: "Decidim::Budgets::Project" do
130
- title { generate_localized_title }
131
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
136
+ transient do
137
+ skip_injection { false }
138
+ end
139
+ title { generate_localized_title(:project_title, skip_injection:) }
140
+ description { generate_localized_description(:project_description, skip_injection:) }
132
141
  address { "#{Faker::Address.street_name}, #{Faker::Address.city}" }
133
142
  latitude { Faker::Address.latitude }
134
143
  longitude { Faker::Address.longitude }
135
144
  budget_amount { Faker::Number.number(digits: 8) }
136
- budget { create(:budget) }
145
+ budget { create(:budget, skip_injection:) }
137
146
 
138
147
  trait :selected do
139
148
  selected_at { Time.current }
@@ -145,14 +154,17 @@ FactoryBot.define do
145
154
  end
146
155
 
147
156
  after :create do |project, evaluator|
148
- project.attachments = create_list(:attachment, evaluator.photos_number, :with_image, attached_to: project)
157
+ project.attachments = create_list(:attachment, evaluator.photos_number, :with_image, attached_to: project, skip_injection: evaluator.skip_injection)
149
158
  end
150
159
  end
151
160
  end
152
161
 
153
162
  factory :order, class: "Decidim::Budgets::Order" do
154
- budget { create(:budget) }
155
- user { create(:user, organization: component.organization) }
163
+ transient do
164
+ skip_injection { false }
165
+ end
166
+ budget { create(:budget, skip_injection:) }
167
+ user { create(:user, organization: component.organization, skip_injection:) }
156
168
 
157
169
  trait :with_projects do
158
170
  transient do
@@ -161,14 +173,17 @@ FactoryBot.define do
161
173
 
162
174
  after(:create) do |order, evaluator|
163
175
  project_budget = (order.maximum_budget / evaluator.projects_number).to_i
164
- order.projects << create_list(:project, evaluator.projects_number, budget_amount: project_budget, budget: order.budget)
176
+ order.projects << create_list(:project, evaluator.projects_number, budget_amount: project_budget, budget: order.budget, skip_injection: evaluator.skip_injection)
165
177
  order.save!
166
178
  end
167
179
  end
168
180
  end
169
181
 
170
182
  factory :line_item, class: "Decidim::Budgets::LineItem" do
183
+ transient do
184
+ skip_injection { false }
185
+ end
171
186
  order
172
- project { create(:project, budget: order.budget) }
187
+ project { create(:project, budget: order.budget, skip_injection:) }
173
188
  end
174
189
  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.28.0"
7
+ "0.28.1"
8
8
  end
9
9
  end
10
10
  end