decidim-proposals 0.28.4 → 0.28.6

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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +0 -12
  3. data/app/cells/decidim/proposals/proposal_l_cell.rb +17 -18
  4. data/app/controllers/decidim/proposals/proposals_controller.rb +4 -8
  5. data/app/controllers/decidim/proposals/versions_controller.rb +1 -1
  6. data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +3 -3
  7. data/app/forms/decidim/proposals/admin/proposal_form.rb +1 -1
  8. data/app/helpers/decidim/proposals/map_helper.rb +1 -1
  9. data/app/models/decidim/proposals/collaborative_draft.rb +2 -3
  10. data/app/models/decidim/proposals/proposal.rb +2 -11
  11. data/app/permissions/decidim/proposals/permissions.rb +4 -3
  12. data/app/services/decidim/proposals/collaborative_draft_diff_renderer.rb +22 -0
  13. data/app/services/decidim/proposals/diff_renderer.rb +2 -0
  14. data/app/services/decidim/proposals/proposal_builder.rb +1 -1
  15. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +1 -1
  16. data/app/views/decidim/proposals/admin/proposals/index.html.erb +2 -2
  17. data/app/views/decidim/proposals/admin/proposals/show.html.erb +4 -4
  18. data/app/views/decidim/proposals/proposals/_proposals.html.erb +1 -1
  19. data/app/views/decidim/proposals/proposals/index.html.erb +9 -2
  20. data/app/views/decidim/proposals/proposals/index.js.erb +12 -0
  21. data/app/views/decidim/proposals/proposals/show.html.erb +1 -1
  22. data/config/locales/ar.yml +7 -6
  23. data/config/locales/bg.yml +5 -11
  24. data/config/locales/bn-BD.yml +1 -0
  25. data/config/locales/bs-BA.yml +98 -0
  26. data/config/locales/ca-IT.yml +931 -0
  27. data/config/locales/ca.yml +15 -10
  28. data/config/locales/cs.yml +12 -7
  29. data/config/locales/de.yml +15 -10
  30. data/config/locales/el.yml +3 -8
  31. data/config/locales/en.yml +7 -2
  32. data/config/locales/es-MX.yml +13 -8
  33. data/config/locales/es-PY.yml +13 -8
  34. data/config/locales/es.yml +16 -11
  35. data/config/locales/eu.yml +165 -160
  36. data/config/locales/fi-plain.yml +10 -5
  37. data/config/locales/fi.yml +30 -25
  38. data/config/locales/fr-CA.yml +12 -9
  39. data/config/locales/fr.yml +11 -8
  40. data/config/locales/ga-IE.yml +0 -1
  41. data/config/locales/gl.yml +3 -6
  42. data/config/locales/he-IL.yml +4 -0
  43. data/config/locales/hu.yml +3 -8
  44. data/config/locales/id-ID.yml +10 -5
  45. data/config/locales/is-IS.yml +3 -7
  46. data/config/locales/it.yml +35 -11
  47. data/config/locales/ja.yml +12 -7
  48. data/config/locales/lt.yml +1 -7
  49. data/config/locales/lv.yml +5 -4
  50. data/config/locales/nl.yml +9 -9
  51. data/config/locales/no.yml +1 -6
  52. data/config/locales/pl.yml +2 -8
  53. data/config/locales/pt-BR.yml +3 -8
  54. data/config/locales/pt.yml +2 -6
  55. data/config/locales/ro-RO.yml +10 -11
  56. data/config/locales/ru.yml +3 -7
  57. data/config/locales/sk.yml +6 -5
  58. data/config/locales/sl.yml +0 -4
  59. data/config/locales/sr-CS.yml +0 -2
  60. data/config/locales/sv.yml +11 -7
  61. data/config/locales/tr-TR.yml +5 -9
  62. data/config/locales/uk.yml +4 -8
  63. data/config/locales/zh-CN.yml +1 -5
  64. data/config/locales/zh-TW.yml +3 -8
  65. data/decidim-proposals.gemspec +1 -1
  66. data/lib/decidim/api/proposal_type.rb +13 -0
  67. data/lib/decidim/api/proposals_type.rb +1 -3
  68. data/lib/decidim/proposals/proposal_serializer.rb +7 -4
  69. data/lib/decidim/proposals/test/factories.rb +6 -5
  70. data/lib/decidim/proposals/version.rb +1 -1
  71. metadata +25 -21
@@ -282,12 +282,10 @@ ro:
282
282
  notification_title: Propunerea <a href="%{resource_path}">%{resource_title}</a> a fost respinsă.
283
283
  proposal_update_category:
284
284
  email_intro: 'Un administrator a actualizat categoria propunerii tale „%{resource_title}", verifică modificarea în această pagină:'
285
- email_outro: Ai primit această notificare deoarece ești autorul acestei propuneri.
286
285
  email_subject: Categoria propunerii %{resource_title} a fost actualizată
287
286
  notification_title: Categoria propunerii <a href="%{resource_path}">%{resource_title}</a> a fost actualizată de către un administrator.
288
287
  proposal_update_scope:
289
288
  email_intro: 'Un administrator a actualizat domeniul de interes al propunerii tale „%{resource_title}”, verifică modificarea în această pagină:'
290
- email_outro: Ai primit această notificare deoarece ești autorul acestei propuneri.
291
289
  email_subject: Domeniul de interes al propunerii %{resource_title} a fost actualizat
292
290
  notification_title: Domeniul de interes al propunerii <a href="%{resource_path}">%{resource_title}</a> a fost actualizat de către un administrator.
293
291
  voting_enabled:
@@ -347,7 +345,7 @@ ro:
347
345
  title: Voturi
348
346
  participatory_spaces:
349
347
  highlighted_proposals:
350
- see_all: Afișează toate propunerile (%{count})
348
+ see_all: Afișează toate propunerile
351
349
  proposals:
352
350
  actions:
353
351
  answer_proposal: Răspundeți la propunere
@@ -359,14 +357,14 @@ ro:
359
357
  title: Acțiuni
360
358
  admin:
361
359
  actions:
362
- preview: Previzualizează
360
+ preview: Previzualizați
363
361
  exports:
364
362
  proposal_comments: Comentarii
365
363
  proposals: Propuneri
366
364
  imports:
367
365
  label:
368
- answers: Importă răspunsuri dintr-un fişier
369
- proposals: Importă propuneri dintr-un fişier
366
+ answers: Importați răspunsuri dintr-un fișier
367
+ proposals: Importați propuneri dintr-un fișier
370
368
  resources:
371
369
  answers:
372
370
  one: răspuns la propunere
@@ -394,7 +392,7 @@ ro:
394
392
  info_1: Următoarele secțiuni au fost convertite în propuneri. Acum le poți revizui și ajusta înainte de a le publica.
395
393
  publish_document: Publică documentul
396
394
  save_draft: Salvează ciorna
397
- title: Pevizualizează textul participativ
395
+ title: Previzualizați textul participativ
398
396
  new_import:
399
397
  accepted_mime_types:
400
398
  md: Markdown
@@ -435,7 +433,7 @@ ro:
435
433
  index:
436
434
  actions: Acțiuni
437
435
  assign_to_valuator: Atribuie evaluatorului
438
- assign_to_valuator_button: Atribuie
436
+ assign_to_valuator_button: Delegați
439
437
  cancel: Anulează
440
438
  change_category: Schimbă categoria
441
439
  change_scope: Schimbă domeniul
@@ -449,7 +447,7 @@ ro:
449
447
  split_button: Împarte
450
448
  title: Propuneri
451
449
  unassign_from_valuator: Atribuire către evaluator anulată
452
- unassign_from_valuator_button: Neatribuit
450
+ unassign_from_valuator_button: Anulare delegare
453
451
  update: Actualizează
454
452
  update_scope_button: Actualizează domeniu
455
453
  new:
@@ -462,7 +460,7 @@ ro:
462
460
  comments_count: Număr de comentarii
463
461
  documents: Documente
464
462
  endorsements_count: Număr de susțineri
465
- endorsers: Susţinători
463
+ endorsers: Susținători
466
464
  n_more_endorsers:
467
465
  one: și încă 1
468
466
  few: și încă %{count}
@@ -668,7 +666,7 @@ ro:
668
666
  edit_draft:
669
667
  discard: Renunță la această ciornă
670
668
  discard_confirmation: Sigur dorești să renunți la această ciornă de propunere?
671
- send: Previzualizează
669
+ send: Previzualizați
672
670
  filters:
673
671
  activity: Activitatea mea
674
672
  all: Toate
@@ -695,6 +693,7 @@ ro:
695
693
  text_banner: Vizualizezi lista de propuneri retrase de autorii lor. %{go_back_link}.
696
694
  new:
697
695
  send: Continuă
696
+ title: Creați o nouă propunere
698
697
  orders:
699
698
  label: 'Ordonează propunerile după:'
700
699
  most_commented: Cele mai comentate
@@ -121,16 +121,16 @@ ru:
121
121
  notification_title: Предложение <a href="%{resource_path}">%{resource_title}</a> было отклонено.
122
122
  proposal_update_category:
123
123
  email_intro: 'Администратор обновил категорию вашего предложения «%{resource_title}», проверьте её:'
124
- email_outro: Вы получили это уведомление, потому что вы являетесь автором предложения.
125
124
  email_subject: Обновлена категория предложений %{resource_title}
126
125
  notification_title: Категория предложений <a href="%{resource_path}">%{resource_title}</a> была обновлена ​​администратором.
127
- proposal_update_scope:
128
- email_outro: Вы получили это уведомление, потому что вы являетесь автором предложения.
129
126
  voting_enabled:
130
127
  email_intro: 'Теперь вы можете голосовать по предложениям в %{participatory_space_title}! Начните со страницы:'
131
128
  email_outro: Вы получили это уведомление, потому что вы следите за «%{participatory_space_title}». Вы можете отписаться от уведомлений, перейдя по приведенной выше ссылке.
132
129
  email_subject: В %{participatory_space_title} началось голосование по предложениям
133
130
  notification_title: Теперь в <a href="%{participatory_space_url}">%{participatory_space_title}</a> появилась возможность <a href="%{resource_path}">голосовать по предложениям</a>
131
+ metrics:
132
+ proposals:
133
+ title: Предложения
134
134
  proposals:
135
135
  actions:
136
136
  import: Позаимствовать из другой составляющей
@@ -160,7 +160,6 @@ ru:
160
160
  title: Частные примечания
161
161
  proposals:
162
162
  form:
163
- attachment_legend: "(Необязательно) Прикрепить файл"
164
163
  select_a_category: Выберите категорию
165
164
  index:
166
165
  actions: Действия
@@ -209,13 +208,11 @@ ru:
209
208
  models:
210
209
  proposal:
211
210
  fields:
212
- category: Категория
213
211
  comments: Комментарии
214
212
  id: Псевдоним
215
213
  notes: Примечания
216
214
  official_proposal: Служебное предложение
217
215
  published_at: 'Обнародовано:'
218
- scope: Охват
219
216
  state: Cостояние
220
217
  title: Заголовок
221
218
  votes: Голоса
@@ -267,7 +264,6 @@ ru:
267
264
  title: Обнародуйте свое предложение
268
265
  show:
269
266
  answer: Ответить
270
- edit_proposal: Редактировать предложение
271
267
  proposal_accepted_reason: 'Это предложение было принято, поскольку:'
272
268
  proposal_in_evaluation_reason: Это предложение сейчас рассматривается
273
269
  proposal_rejected_reason: 'Это предложение было отклонено, поскольку:'
@@ -87,6 +87,10 @@ sk:
87
87
  admin:
88
88
  filters:
89
89
  proposals:
90
+ category_id_eq:
91
+ label: Kategória
92
+ scope_id_eq:
93
+ label: Rozsah
90
94
  valuator_role_ids_has:
91
95
  label: Priradené ku hodnotiteľov
92
96
  search_placeholder:
@@ -126,6 +130,7 @@ sk:
126
130
  proposal_wizard_step_2_help_text: Pomocný text Sprievodcu "Porovnať" návrhu
127
131
  proposal_wizard_step_3_help_text: Pomocný text Sprievodcu "Dokončiť" návrh
128
132
  resources_permissions_enabled: Pre každý návrh možno nastaviť povolenia akcie
133
+ scope_id: Rozsah
129
134
  threshold_per_proposal: Maximálny limit na návrh
130
135
  vote_limit: Počet hlasov na užívateľa
131
136
  step:
@@ -219,12 +224,10 @@ sk:
219
224
  notification_title: Návrh <a href="%{resource_path}">%{resource_title} </a> bol zamietnutý.
220
225
  proposal_update_category:
221
226
  email_intro: 'Správca aktualizoval kategórii vášho návrhu "%{resource_title}", pozrite sa na neho:'
222
- email_outro: Toto oznámenie ste dostali, pretože ste autorom návrhu.
223
227
  email_subject: Kategória návrhov %{resource_title} bola aktualizovaná
224
228
  notification_title: Kategória návrhu <a href="%{resource_path}">%{resource_title} </a> bola aktualizovaná administrátorom.
225
229
  proposal_update_scope:
226
230
  email_intro: 'Admin upravil rozsah Vašeho návrhu %{resource_title}, pozrite sa na to na tejto stránke:'
227
- email_outro: Toto oznámenie ste dostali, pretože ste autorom návrhu.
228
231
  email_subject: Rozsah návrhu %{resource_title} bol aktualizovaný
229
232
  notification_title: Rozsah návrhu <a href="%{resource_path}">%{resource_title}</a> bol aktualizovaný administrátorom.
230
233
  voting_enabled:
@@ -284,7 +287,7 @@ sk:
284
287
  title: Hlasy
285
288
  participatory_spaces:
286
289
  highlighted_proposals:
287
- see_all: Zobraziť všetky (%{count})
290
+ see_all: Zobraziť všetky
288
291
  proposals:
289
292
  actions:
290
293
  answer_proposal: Odpoveď na návrh
@@ -356,7 +359,6 @@ sk:
356
359
  index:
357
360
  actions: Akcia
358
361
  assign_to_valuator: Priradiť ku hodnotiteľovi
359
- assign_to_valuator_button: Priradiť
360
362
  cancel: zrušenie
361
363
  change_category: Zmeniť kategórii
362
364
  change_scope: Zmeniť rozsah
@@ -370,7 +372,6 @@ sk:
370
372
  split_button: Rozdeliť
371
373
  title: Návrhy
372
374
  unassign_from_valuator: Zrušiť priradenie ku hodnotiteľovi
373
- unassign_from_valuator_button: Zrušiť priradenie
374
375
  update: Aktualizácia
375
376
  update_scope_button: Aktualizovať rozsah
376
377
  new:
@@ -8,15 +8,11 @@ sl:
8
8
  admin:
9
9
  filters:
10
10
  proposals:
11
- category_id_eq:
12
- label: Kategorija
13
11
  is_emendation_true:
14
12
  label: Tip
15
13
  values:
16
14
  'false': Predlogi
17
15
  'true': Amandmaji
18
- scope_id_eq:
19
- label: Obseg
20
16
  state_eq:
21
17
  values:
22
18
  accepted: Sprejeto
@@ -54,11 +54,9 @@ sr:
54
54
  proposals:
55
55
  index:
56
56
  assign_to_valuator: Dodeli procenjivaču
57
- assign_to_valuator_button: Dodeli
58
57
  change_scope: Promeni opseg
59
58
  publish_answers: Objavi odgovore
60
59
  unassign_from_valuator: Oduzmi od procenjivača
61
- unassign_from_valuator_button: Od dodeli
62
60
  update_scope_button: Ažuriraj opseg
63
61
  show:
64
62
  amendments_count: Broj izmena
@@ -12,6 +12,8 @@ sv:
12
12
  state: Status
13
13
  title: Titel
14
14
  user_group_id: Skapa gemensamt utkast som
15
+ import_participatory_text:
16
+ document: Dokument
15
17
  proposal:
16
18
  address: Adress
17
19
  answer: Svar
@@ -21,6 +23,8 @@ sv:
21
23
  category_id: Kategori
22
24
  decidim_scope_id: Indelning
23
25
  has_address: Har adress
26
+ latitude: Latitud
27
+ longitude: Longitud
24
28
  scope_id: Indelning
25
29
  state: Status
26
30
  suggested_hashtags: Föreslagna hashtags
@@ -34,6 +38,8 @@ sv:
34
38
  proposals_copy:
35
39
  copy_proposals: Jag förstår att det här importerar alla förslag från den valda komponenten till den aktuella komponenten och att det inte går att ångra.
36
40
  origin_component_id: Komponent att kopiera förslagen från
41
+ proposals_file_import:
42
+ file: Fil
37
43
  proposals_import:
38
44
  import_proposals: Importera förslag
39
45
  keep_answers: Behåll status och svar
@@ -159,7 +165,7 @@ sv:
159
165
  recent: Senaste
160
166
  with_more_authors: Med flera författare
161
167
  geocoding_enabled: Aktivera visning på karta
162
- minimum_votes_per_user: Minsta antal stöd per användare
168
+ minimum_votes_per_user: Minst antal stöd per deltagare
163
169
  new_proposal_body_template: Innehållsmall för nytt förslag
164
170
  new_proposal_body_template_help: Du kan ange den förifyllda texten för nya förslag
165
171
  new_proposal_help_text: Hjälptext till nya förslag
@@ -181,7 +187,7 @@ sv:
181
187
  resources_permissions_enabled: Behörigheter kan ställas in för varje förslag
182
188
  scope_id: Indelning
183
189
  scopes_enabled: Aktivera indelningar
184
- threshold_per_proposal: Minsta antal per förslag
190
+ threshold_per_proposal: Minst antal stöd per förslag
185
191
  vote_limit: Max antal stöd varje deltagare kan ge
186
192
  step:
187
193
  amendment_creation_enabled: Skapa ändringar är aktiverat
@@ -319,12 +325,12 @@ sv:
319
325
  notification_title: Förslaget <a href="%{resource_path}">%{resource_title}</a> har avslagits.
320
326
  proposal_update_category:
321
327
  email_intro: 'En administratör har uppdaterat kategorin för ditt förslag "%{resource_title}", ta en titt på följande sida:'
322
- email_outro: Du har fått det här meddelandet eftersom du är författare till förslaget.
328
+ email_outro: Du har fått det här meddelandet eftersom du har skrivit förslaget.
323
329
  email_subject: Förslagskategorin %{resource_title} har uppdaterats
324
330
  notification_title: Förslagskategorin <a href="%{resource_path}">%{resource_title}</a> har uppdaterats av en administratör.
325
331
  proposal_update_scope:
326
332
  email_intro: 'En administratör har uppdaterat indelningen för ditt förslag "%{resource_title}", ta en titt på följande sida:'
327
- email_outro: Du har fått det här meddelandet eftersom du är författare till förslaget.
333
+ email_outro: Du har fått det här meddelandet eftersom du har skrivit förslaget.
328
334
  email_subject: Indelningen för förslaget %{resource_title} har uppdaterats
329
335
  notification_title: Indelningen för förslaget <a href="%{resource_path}">%{resource_title}</a> har uppdaterats av en administratör.
330
336
  voting_enabled:
@@ -386,7 +392,6 @@ sv:
386
392
  title: Stöd
387
393
  participatory_spaces:
388
394
  highlighted_proposals:
389
- last: Senaste förslag
390
395
  see_all: Visa alla förslag
391
396
  proposals:
392
397
  actions:
@@ -519,7 +524,6 @@ sv:
519
524
  split_button: Dela upp
520
525
  title: Förslag
521
526
  unassign_from_valuator: Ta bort tilldelning till handläggare
522
- unassign_from_valuator_button: Ta bort tilldelning
523
527
  update: Uppdatera
524
528
  update_scope_button: Uppdatera indelning
525
529
  new:
@@ -803,7 +807,7 @@ sv:
803
807
  text_banner: Du visar förslag som dragits tillbaka av sin författare. %{go_back_link}.
804
808
  new:
805
809
  send: Fortsätt
806
- title: Skapa ditt förslag
810
+ title: Skapa ett nytt förslag
807
811
  orders:
808
812
  label: 'Ordna förslag efter:'
809
813
  most_commented: Mest kommenterade
@@ -89,7 +89,7 @@ tr:
89
89
  'false': Teklifler
90
90
  'true': Değişiklikler
91
91
  scope_id_eq:
92
- label: Kapsam
92
+ label: kapsam
93
93
  state_eq:
94
94
  label: Durum
95
95
  values:
@@ -140,7 +140,7 @@ tr:
140
140
  proposal_wizard_step_3_help_text: Teklif sihirbazı "Tamamlandı" adımı yardım metni
141
141
  proposal_wizard_step_4_help_text: Teklif "Yayınlama" sihirbazı yardım metni
142
142
  resources_permissions_enabled: Her teklif için işlem izinleri ayarlanabilir
143
- scope_id: Kapsam
143
+ scope_id: kapsam
144
144
  scopes_enabled: Kapsamlar etkinleştirildi
145
145
  threshold_per_proposal: Teklif başına eşik
146
146
  vote_limit: Katılımcı başına destek sınırı
@@ -245,12 +245,10 @@ tr:
245
245
  notification_title: <a href="%{resource_path}">%{resource_title}</a> teklifi reddedildi.
246
246
  proposal_update_category:
247
247
  email_intro: 'Bir yönetici "%{resource_title}" teklifinizin kategorisini güncelledi, bu sayfada kontrol edin:'
248
- email_outro: Bu bildirimi, teklifin yazarı olduğunuz için aldınız.
249
248
  email_subject: '%{resource_title} teklif kategorisi güncellendi'
250
249
  notification_title: <a href="%{resource_path}">%{resource_title}</a> teklif kategorisi bir yönetici tarafından güncellendi.
251
250
  proposal_update_scope:
252
251
  email_intro: 'Bir yönetici, "%{resource_title}" teklifinizin kapsamını güncelledi, bu sayfada göz atın:'
253
- email_outro: Bu bildirimi, teklifin yazarı olduğunuz için aldınız.
254
252
  email_subject: '%{resource_title} teklif kapsamı güncellendi'
255
253
  notification_title: <a href="%{resource_path}">%{resource_title} </a> teklif kapsamı bir yönetici tarafından güncellendi.
256
254
  voting_enabled:
@@ -310,7 +308,7 @@ tr:
310
308
  title: Destekler
311
309
  participatory_spaces:
312
310
  highlighted_proposals:
313
- see_all: Tüm teklifleri görün (%{count})
311
+ see_all: Tüm teklifleri görün
314
312
  proposals:
315
313
  actions:
316
314
  answer_proposal: Cevap önerisi
@@ -385,7 +383,6 @@ tr:
385
383
  index:
386
384
  actions: Eylemler
387
385
  assign_to_valuator: Bilirkişiye ata
388
- assign_to_valuator_button: Ata
389
386
  cancel: İptal Et
390
387
  change_category: Kategoriyi değiştir
391
388
  change_scope: Kapsamı değiştir
@@ -399,7 +396,6 @@ tr:
399
396
  split_button: Böl
400
397
  title: Teklifler
401
398
  unassign_from_valuator: Bilirkişinin atamasını kaldır
402
- unassign_from_valuator_button: Atamayı kaldır
403
399
  update: Güncelle
404
400
  update_scope_button: Kapsamı Güncelle
405
401
  new:
@@ -505,7 +501,7 @@ tr:
505
501
  open: Aç
506
502
  published: Yayınlandı
507
503
  related_to: İle ilgili
508
- scope: Kapsam
504
+ scope: kapsam
509
505
  search: Arama
510
506
  state: Statü
511
507
  withdrawn: Geri çekildi
@@ -578,7 +574,7 @@ tr:
578
574
  official_proposal: Resmi teklif
579
575
  published_answer: Yayınlanan cevap
580
576
  published_at: Yayınlandı
581
- scope: Kapsam
577
+ scope: kapsam
582
578
  state: Durum
583
579
  title: Başlık
584
580
  valuator: Bilirkişi
@@ -55,7 +55,7 @@ uk:
55
55
  components:
56
56
  proposals:
57
57
  actions:
58
- create: Додати
58
+ create: Внести
59
59
  endorse: Підтримати
60
60
  vote: Голосувати
61
61
  withdraw: Відкликати голос
@@ -121,16 +121,16 @@ uk:
121
121
  notification_title: Пропозицію <a href="%{resource_path}">%{resource_title}</a> було відхилено.
122
122
  proposal_update_category:
123
123
  email_intro: 'Адміністратор оновив категорію вашої пропозиції "%{resource_title}", перевірте її:'
124
- email_outro: Ви отримали це сповіщення, оскільки ви є автором цієї пропозиції.
125
124
  email_subject: Категорію пропозиції %{resource_title} було оновлено
126
125
  notification_title: Адміністратор оновив категорію пропозиції <a href="%{resource_path}">%{resource_title}</a>.
127
- proposal_update_scope:
128
- email_outro: Ви отримали це сповіщення, оскільки ви є автором цієї пропозиції.
129
126
  voting_enabled:
130
127
  email_intro: 'Ви можете голосувати щодо пропозицій у %{participatory_space_title}! Почніть брати участь зі сторінки:'
131
128
  email_outro: Ви отримали це сповіщення, тому що ви стежите за %{participatory_space_title}. Ви можете відписатися від цих сповіщень, перейшовши за наведеним вище посиланням.
132
129
  email_subject: У %{participatory_space_title} почалось голосування щодо пропозицій
133
130
  notification_title: Тепер в <a href="%{participatory_space_url}">%{participatory_space_title}</a> відкрилась можливість <a href="%{resource_path}">голосувати щодо пропозицій</a>
131
+ metrics:
132
+ proposals:
133
+ title: Пропозиції
134
134
  proposals:
135
135
  actions:
136
136
  import: Запозичити з іншої складової
@@ -160,7 +160,6 @@ uk:
160
160
  title: Приватні примітки
161
161
  proposals:
162
162
  form:
163
- attachment_legend: "(Необов'язково) Додати вкладений файл"
164
163
  select_a_category: Оберіть категорію
165
164
  index:
166
165
  actions: Дії
@@ -209,13 +208,11 @@ uk:
209
208
  models:
210
209
  proposal:
211
210
  fields:
212
- category: Категорія
213
211
  comments: Коментарі
214
212
  id: Псевдонім
215
213
  notes: Примітки
216
214
  official_proposal: Службова пропозиція
217
215
  published_at: 'Оприлюднено:'
218
- scope: Обсяг
219
216
  state: Стан
220
217
  title: Назва
221
218
  votes: Голоси
@@ -267,7 +264,6 @@ uk:
267
264
  title: Оприлюднити свою пропозицію
268
265
  show:
269
266
  answer: Відповісти
270
- edit_proposal: Редагувати пропозицію
271
267
  proposal_accepted_reason: 'Ця пропозиція була прийнята, тому що:'
272
268
  proposal_in_evaluation_reason: Ця пропозиція розглядається
273
269
  proposal_rejected_reason: 'Ця пропозиція була відхилена, оскільки:'
@@ -230,12 +230,10 @@ zh-CN:
230
230
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议已被拒绝。
231
231
  proposal_update_category:
232
232
  email_intro: '管理员更新了您的提议 "%{resource_title}"的类别,在此页面查看:'
233
- email_outro: 您收到此通知是因为您是提案的作者。
234
233
  email_subject: '%{resource_title} 建议类别已更新'
235
234
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议类别已被管理员更新。
236
235
  proposal_update_scope:
237
236
  email_intro: '管理员更新了您的提议 "%{resource_title}"的范围,在此页面查看:'
238
- email_outro: 您收到此通知是因为您是提案的作者。
239
237
  email_subject: '%{resource_title} 建议范围已更新'
240
238
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议范围已被管理员更新。
241
239
  voting_enabled:
@@ -294,7 +292,7 @@ zh-CN:
294
292
  title: 支持
295
293
  participatory_spaces:
296
294
  highlighted_proposals:
297
- see_all: 查看所有建议 (%{count})
295
+ see_all: 查看所有建议
298
296
  proposals:
299
297
  actions:
300
298
  answer_proposal: 答复建议
@@ -365,7 +363,6 @@ zh-CN:
365
363
  index:
366
364
  actions: 行动
367
365
  assign_to_valuator: 分配给值器
368
- assign_to_valuator_button: 分配
369
366
  cancel: 取消
370
367
  change_category: 更改类别
371
368
  change_scope: 更改范围
@@ -379,7 +376,6 @@ zh-CN:
379
376
  split_button: 拆分
380
377
  title: 建议
381
378
  unassign_from_valuator: 取消分配给值
382
- unassign_from_valuator_button: 取消分配
383
379
  update: 更新
384
380
  update_scope_button: 更新范围
385
381
  new:
@@ -94,7 +94,7 @@ zh-TW:
94
94
  filters:
95
95
  proposals:
96
96
  category_id_eq:
97
- label: 分類
97
+ label: 類別
98
98
  is_emendation_true:
99
99
  label: 類別
100
100
  values:
@@ -302,12 +302,10 @@ zh-TW:
302
302
  notification_title: <a href="%{resource_path}">%{resource_title}</a>" 提案已經被拒絕。
303
303
  proposal_update_category:
304
304
  email_intro: '管理員已更新您的提案 "%{resource_title}" 的分類,請前往此頁面查看:'
305
- email_outro: 您收到此通知是因為您是該提案的作者。
306
305
  email_subject: '「%{resource_title}」提案的分類已更新'
307
306
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提案類別已由管理員更新。
308
307
  proposal_update_scope:
309
308
  email_intro: '一位管理員已更新您的提案"%{resource_title}" 的範圍,您可以在此頁面檢查:'
310
- email_outro: 您收到此通知是因為您是該提案的作者。
311
309
  email_subject: '%{resource_title} 提案範圍已更新'
312
310
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提案範圍已由管理員更新。
313
311
  voting_enabled:
@@ -369,7 +367,7 @@ zh-TW:
369
367
  title: 支援
370
368
  participatory_spaces:
371
369
  highlighted_proposals:
372
- see_all: 檢視所有提案 (%{count})
370
+ see_all: 檢視所有提案
373
371
  proposals:
374
372
  actions:
375
373
  answer_proposal: 回覆提案
@@ -483,7 +481,6 @@ zh-TW:
483
481
  index:
484
482
  actions: 操作
485
483
  assign_to_valuator: 分配給評估人員
486
- assign_to_valuator_button: 指派
487
484
  cancel: 取消
488
485
  change_category: 變更類別
489
486
  change_scope: 變更範圍
@@ -497,7 +494,6 @@ zh-TW:
497
494
  split_button: 拆分
498
495
  title: 提案
499
496
  unassign_from_valuator: 取消分派給評估者
500
- unassign_from_valuator_button: 取消分配
501
497
  update: 更新
502
498
  update_scope_button: 更新範圍
503
499
  new:
@@ -697,7 +693,7 @@ zh-TW:
697
693
  models:
698
694
  proposal:
699
695
  fields:
700
- category: 分類
696
+ category: 類別
701
697
  comments: 評論
702
698
  id: ID
703
699
  notes: 備註
@@ -767,7 +763,6 @@ zh-TW:
767
763
  text_banner: 您正在查看由其作者撤回的提案列表。%{go_back_link}。
768
764
  new:
769
765
  send: 繼續
770
- title: 創建你的提案
771
766
  orders:
772
767
  label: '依順序排序提案:'
773
768
  most_commented: 最多評論
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.version = Decidim::Proposals.version
11
11
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
12
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
- s.license = "AGPL-3.0"
13
+ s.license = "AGPL-3.0-or-later"
14
14
  s.homepage = "https://decidim.org"
15
15
  s.metadata = {
16
16
  "bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
@@ -51,6 +51,19 @@ module Decidim
51
51
  current_component = object.component
52
52
  object.proposal_votes_count unless current_component.current_settings.votes_hidden?
53
53
  end
54
+
55
+ def self.authorized?(object, context)
56
+ context[:proposal] = object
57
+
58
+ chain = [
59
+ allowed_to?(:read, :proposal, object, context),
60
+ object.published?
61
+ ].all?
62
+
63
+ super && chain
64
+ rescue Decidim::PermissionAction::PermissionNotSetError
65
+ false
66
+ end
54
67
  end
55
68
  end
56
69
  end
@@ -16,9 +16,7 @@ module Decidim
16
16
  end
17
17
  end
18
18
 
19
- class ProposalsType < Decidim::Api::Types::BaseObject
20
- implements Decidim::Core::ComponentInterface
21
-
19
+ class ProposalsType < Decidim::Core::ComponentType
22
20
  graphql_name "Proposals"
23
21
  description "A proposals component of a participatory space."
24
22
 
@@ -44,7 +44,8 @@ module Decidim
44
44
  reference: proposal.reference,
45
45
  answer: ensure_translatable(proposal.answer),
46
46
  answered_at: proposal.answered_at,
47
- supports: proposal.proposal_votes_count,
47
+ supports: (proposal.proposal_votes_count unless
48
+ proposal.component.current_settings.votes_hidden?),
48
49
  endorsements: {
49
50
  total_count: proposal.endorsements.size,
50
51
  user_endorsements:
@@ -130,7 +131,7 @@ module Decidim
130
131
 
131
132
  def author_url(author)
132
133
  if author.respond_to?(:nickname)
133
- profile_url(author.nickname) # is a Decidim::User or Decidim::UserGroup
134
+ profile_url(author) # is a Decidim::User or Decidim::UserGroup
134
135
  elsif author.respond_to?(:title)
135
136
  meeting_url(author) # is a Decidim::Meetings::Meeting
136
137
  else
@@ -138,8 +139,10 @@ module Decidim
138
139
  end
139
140
  end
140
141
 
141
- def profile_url(nickname)
142
- Decidim::Core::Engine.routes.url_helpers.profile_url(nickname, host:)
142
+ def profile_url(author)
143
+ return "" if author.respond_to?(:deleted?) && author.deleted?
144
+
145
+ Decidim::Core::Engine.routes.url_helpers.profile_url(author.nickname, host:)
143
146
  end
144
147
 
145
148
  def meeting_url(meeting)
@@ -300,7 +300,7 @@ FactoryBot.define do
300
300
  trait :participant_author do
301
301
  after :build do |proposal, evaluator|
302
302
  proposal.coauthorships.clear
303
- user = build(:user, organization: proposal.component.participatory_space.organization, skip_injection: evaluator.skip_injection)
303
+ user = build(:user, :confirmed, organization: proposal.component.participatory_space.organization, skip_injection: evaluator.skip_injection)
304
304
  proposal.coauthorships.build(author: user)
305
305
  end
306
306
  end
@@ -324,8 +324,8 @@ FactoryBot.define do
324
324
  trait :official_meeting do
325
325
  after :build do |proposal, evaluator|
326
326
  proposal.coauthorships.clear
327
- component = build(:meeting_component, participatory_space: proposal.component.participatory_space, skip_injection: evaluator.skip_injection)
328
- proposal.coauthorships.build(author: build(:meeting, component:, skip_injection: evaluator.skip_injection))
327
+ component = build(:meeting_component, :published, participatory_space: proposal.component.participatory_space, skip_injection: evaluator.skip_injection)
328
+ proposal.coauthorships.build(author: build(:meeting, :published, component:, skip_injection: evaluator.skip_injection))
329
329
  end
330
330
  end
331
331
 
@@ -388,7 +388,8 @@ FactoryBot.define do
388
388
  trait :with_endorsements do
389
389
  after :create do |proposal, evaluator|
390
390
  5.times.collect do
391
- create(:endorsement, resource: proposal, author: build(:user, organization: proposal.participatory_space.organization, skip_injection: evaluator.skip_injection),
391
+ create(:endorsement, resource: proposal,
392
+ author: build(:user, :confirmed, organization: proposal.participatory_space.organization, skip_injection: evaluator.skip_injection),
392
393
  skip_injection: evaluator.skip_injection)
393
394
  end
394
395
  end
@@ -433,7 +434,7 @@ FactoryBot.define do
433
434
  end
434
435
  amendable { build(:proposal, skip_injection:) }
435
436
  emendation { build(:proposal, component: amendable.component, skip_injection:) }
436
- amender { build(:user, organization: amendable.component.participatory_space.organization, skip_injection:) }
437
+ amender { build(:user, :confirmed, organization: amendable.component.participatory_space.organization, skip_injection:) }
437
438
  state { Decidim::Amendment::STATES.keys.sample }
438
439
  end
439
440
 
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds decidim-proposals version.
5
5
  module Proposals
6
6
  def self.version
7
- "0.28.4"
7
+ "0.28.6"
8
8
  end
9
9
  end
10
10
  end