decidim-proposals 0.25.1 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
  3. data/app/cells/decidim/proposals/cost_report_cell.rb +3 -3
  4. data/app/cells/decidim/proposals/participatory_text_proposal_cell.rb +1 -1
  5. data/app/cells/decidim/proposals/proposal_m_cell.rb +4 -5
  6. data/app/cells/decidim/proposals/proposals_picker_cell.rb +8 -5
  7. data/app/commands/decidim/proposals/update_proposal.rb +3 -2
  8. data/app/controllers/concerns/decidim/proposals/orderable.rb +21 -8
  9. data/app/controllers/decidim/proposals/admin/proposals_merges_controller.rb +4 -1
  10. data/app/controllers/decidim/proposals/admin/proposals_splits_controller.rb +4 -1
  11. data/app/controllers/decidim/proposals/proposals_controller.rb +2 -2
  12. data/app/events/decidim/proposals/admin/proposal_note_created_event.rb +1 -1
  13. data/app/events/decidim/proposals/proposal_mentioned_event.rb +8 -0
  14. data/app/events/decidim/proposals/publish_proposal_event.rb +26 -0
  15. data/app/forms/decidim/proposals/admin/proposals_file_import_form.rb +31 -0
  16. data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +8 -3
  17. data/app/helpers/decidim/proposals/application_helper.rb +1 -6
  18. data/app/helpers/decidim/proposals/map_helper.rb +1 -1
  19. data/app/helpers/decidim/proposals/proposals_helper.rb +1 -1
  20. data/app/models/decidim/proposals/proposal.rb +3 -2
  21. data/app/packs/src/decidim/proposals/admin/proposals_picker.js +15 -0
  22. data/app/presenters/decidim/proposals/proposal_presenter.rb +2 -48
  23. data/app/queries/decidim/proposals/similar_proposals.rb +1 -1
  24. data/app/services/decidim/proposals/proposal_search.rb +9 -4
  25. data/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb +11 -0
  26. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +7 -2
  27. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -1
  28. data/app/views/decidim/proposals/collaborative_drafts/_filters_small_view.html.erb +3 -3
  29. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +2 -2
  30. data/app/views/decidim/proposals/proposals/_filters.html.erb +2 -0
  31. data/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +3 -3
  32. data/app/views/decidim/proposals/proposals/_proposals.html.erb +18 -0
  33. data/app/views/decidim/proposals/proposals/index.html.erb +0 -5
  34. data/app/views/decidim/proposals/proposals/participatory_texts/_index.html.erb +2 -2
  35. data/config/brakeman.ignore +88 -0
  36. data/config/locales/ar.yml +0 -5
  37. data/config/locales/bg.yml +0 -2
  38. data/config/locales/ca.yml +58 -7
  39. data/config/locales/cs.yml +60 -5
  40. data/config/locales/de.yml +0 -5
  41. data/config/locales/el.yml +0 -5
  42. data/config/locales/en.yml +57 -6
  43. data/config/locales/es-MX.yml +56 -5
  44. data/config/locales/es-PY.yml +56 -5
  45. data/config/locales/es.yml +56 -5
  46. data/config/locales/eu.yml +38 -5
  47. data/config/locales/fi-plain.yml +56 -5
  48. data/config/locales/fi.yml +56 -5
  49. data/config/locales/fr-CA.yml +56 -5
  50. data/config/locales/fr.yml +59 -8
  51. data/config/locales/gl.yml +55 -5
  52. data/config/locales/hu.yml +1 -5
  53. data/config/locales/id-ID.yml +0 -4
  54. data/config/locales/is-IS.yml +0 -2
  55. data/config/locales/it.yml +13 -5
  56. data/config/locales/ja.yml +79 -30
  57. data/config/locales/lv.yml +0 -5
  58. data/config/locales/nl.yml +57 -5
  59. data/config/locales/no.yml +132 -5
  60. data/config/locales/pl.yml +5 -10
  61. data/config/locales/pt-BR.yml +1 -6
  62. data/config/locales/pt.yml +37 -5
  63. data/config/locales/ro-RO.yml +86 -33
  64. data/config/locales/ru.yml +0 -2
  65. data/config/locales/sk.yml +0 -5
  66. data/config/locales/sr-CS.yml +0 -1
  67. data/config/locales/sv.yml +56 -5
  68. data/config/locales/tr-TR.yml +0 -5
  69. data/config/locales/uk.yml +0 -2
  70. data/config/locales/val-ES.yml +1 -0
  71. data/config/locales/zh-CN.yml +0 -5
  72. data/lib/decidim/proposals/component.rb +37 -4
  73. data/lib/decidim/proposals/import/proposal_answer_creator.rb +95 -0
  74. data/lib/decidim/proposals/import/proposal_creator.rb +124 -0
  75. data/lib/decidim/proposals/import/proposals_answers_verifier.rb +29 -0
  76. data/lib/decidim/proposals/import/proposals_verifier.rb +16 -0
  77. data/lib/decidim/proposals/import.rb +12 -0
  78. data/lib/decidim/proposals/proposal_serializer.rb +6 -3
  79. data/lib/decidim/proposals/test/factories.rb +1 -9
  80. data/lib/decidim/proposals/version.rb +1 -1
  81. data/lib/decidim/proposals.rb +1 -1
  82. metadata +33 -25
  83. data/lib/decidim/proposals/proposal_creator.rb +0 -98
@@ -57,6 +57,16 @@ ro:
57
57
  identical: Nici titlul nu poate fi identic
58
58
  title:
59
59
  identical: Nici conținutul nu poate fi identic
60
+ proposals_merge:
61
+ attributes:
62
+ base:
63
+ not_official: Nu sunt oficiale
64
+ supported: Au primit voturi sau susțineri
65
+ proposals_split:
66
+ attributes:
67
+ base:
68
+ not_official: Nu sunt oficiale
69
+ supported: Au primit voturi sau susțineri
60
70
  models:
61
71
  decidim/proposals/accepted_proposal_event: Propunere acceptată
62
72
  decidim/proposals/admin/update_proposal_category_event: Categorie de propunere modificată
@@ -71,9 +81,9 @@ ro:
71
81
  activerecord:
72
82
  models:
73
83
  decidim/proposals/collaborative_draft:
74
- one: Schiță colaborativă
75
- few: Schițe colaborative
76
- other: Schițe colaborative
84
+ one: Ciornă colaborativă
85
+ few: Ciorne colaborative
86
+ other: Ciorne colaborative
77
87
  decidim/proposals/proposal:
78
88
  one: Propunere
79
89
  few: Propuneri
@@ -129,7 +139,6 @@ ro:
129
139
  name: Propuneri
130
140
  settings:
131
141
  global:
132
- allow_card_image: Permite imaginea cardului
133
142
  amendments_enabled: Trimiterea de amendamente este activată
134
143
  amendments_enabled_help: Dacă este activă, configurațI funcționalitățile aferente amendamentelor pentru fiecare pas.
135
144
  amendments_wizard_help_text: Text de ajutor pentru amendamente
@@ -139,6 +148,17 @@ ro:
139
148
  collaborative_drafts_enabled: Ciornele colaborative au fost activate
140
149
  comments_enabled: Comentariile au fost activate
141
150
  comments_max_length: Număr maxim de caractere a comentariilor (păstrează 0 pentru valoarea implicită)
151
+ default_sort_order: Mod implicit de sortare a propunerilor
152
+ default_sort_order_help: Implicit înseamnă că dacă este activată votarea, propunerile vor fi afișate aleatoriu, și dacă votarea este blocată, atunci vor fi sortate în funcție de cele mai multe voturi.
153
+ default_sort_order_options:
154
+ default: Implicit
155
+ most_commented: Cele mai comentate
156
+ most_endorsed: Cele mai susținute
157
+ most_followed: Cele mai urmărite
158
+ most_voted: Cele mai votate
159
+ random: Aleator
160
+ recent: Recente
161
+ with_more_authors: Cu mai mulți autori
142
162
  geocoding_enabled: Geocodarea a fost activată
143
163
  minimum_votes_per_user: Număr minim de voturi pe utilizator
144
164
  new_proposal_body_template: Model de conținut pentru o propunere nouă
@@ -159,7 +179,7 @@ ro:
159
179
  proposal_wizard_step_2_help_text: Text de ajutor pentru pasul „Compară” din crearea unei propuneri
160
180
  proposal_wizard_step_3_help_text: Text de ajutor pentru pasul „Finalizează” din crearea unei propuneri
161
181
  proposal_wizard_step_4_help_text: Text de ajutor pentru pasul „Publică” din crearea unei propuneri
162
- resources_permissions_enabled: Pentru fiecare propunere pot fi setate permisiuni pentru acțiuni
182
+ resources_permissions_enabled: Pentru fiecare propunere pot fi setate drepturi pentru acțiuni
163
183
  scope_id: Domeniu de interes
164
184
  scopes_enabled: Domeniile de interes au fost activate
165
185
  threshold_per_proposal: Prag per propunere
@@ -180,7 +200,18 @@ ro:
180
200
  answers_with_costs: Activează opțiunea de cost în răspunsurile la propuneri
181
201
  automatic_hashtags: Hashtag-uri adăugate la toate propunerile
182
202
  comments_blocked: Comentarii blocate
183
- creation_enabled: Crearea de propuneri a fost activată
203
+ creation_enabled: Participantul poate crea propuneri
204
+ default_sort_order: Mod implicit de sortare a propunerilor
205
+ default_sort_order_help: Implicit înseamnă că dacă este activată votarea, propunerile vor fi afișate aleatoriu, și dacă votarea este blocată, atunci vor fi sortate în funcție de cele mai multe voturi.
206
+ default_sort_order_options:
207
+ default: Implicit
208
+ most_commented: Cele mai comentate
209
+ most_endorsed: Cele mai susținute
210
+ most_followed: Cele mai urmărite
211
+ most_voted: Cele mai votate
212
+ random: Aleator
213
+ recent: Recente
214
+ with_more_authors: Cu mai mulți autori
184
215
  endorsements_blocked: Susțineri blocate
185
216
  endorsements_enabled: Susțineri activate
186
217
  proposal_answering_enabled: Modulul de răspuns pentru propuneri a fost activat
@@ -198,35 +229,35 @@ ro:
198
229
  email_subject: Cineva a trimis o notă la propunerea %{resource_title}.
199
230
  notification_title: Cineva a lăsat o notă la propunerea <a href="%{resource_path}">%{resource_title}</a>. Verifică detaliile în <a href="%{admin_proposal_info_path}">panoul de administrare</a>
200
231
  collaborative_draft_access_accepted:
201
- email_intro: '%{requester_name} a fost acceptat drept colaborator pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.'
232
+ email_intro: '%{requester_name} a fost acceptat drept colaborator pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.'
202
233
  email_outro: Ai primit această notificare deoarece ești colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
203
234
  email_subject: "Utilizatorul %{requester_name} a fost acceptat drept colaborator pentru %{resource_title}."
204
- notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a fost <strong>acceptat drept colaborator</strong> pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
235
+ notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a fost <strong>acceptat drept colaborator</strong> pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
205
236
  collaborative_draft_access_rejected:
206
- email_intro: '%{requester_name} a fost respins drept colaborator pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.'
237
+ email_intro: '%{requester_name} a fost respins drept colaborator pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.'
207
238
  email_outro: Ai primit această notificare deoarece ești colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
208
- email_subject: "%{requester_name} a fost respins drept colaborator pentru schița colaborativă %{resource_title}."
209
- notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a fost <strong>respins drept colaborator</strong> pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
239
+ email_subject: "%{requester_name} a fost respins drept colaborator pentru ciorna colaborativă %{resource_title}."
240
+ notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a fost <strong>respins drept colaborator</strong> pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
210
241
  collaborative_draft_access_requested:
211
- email_intro: '%{requester_name} a solicitat acces drept colaborator. Poți <strong>accepta sau respinge cererea</strong> din pagina schiței colaborative <a href="%{resource_path}">%{resource_title}</a>.'
242
+ email_intro: '%{requester_name} a solicitat acces drept colaborator. Poți <strong>accepta sau respinge cererea</strong> din pagina ciornei colaborative <a href="%{resource_path}">%{resource_title}</a>.'
212
243
  email_outro: Ai primit această notificare deoarece ești colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
213
244
  email_subject: "%{requester_name} a solicitat acces pentru a contribui la %{resource_title}."
214
- notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a solicitat acces pentru a contribui la schița colaborativă <a href="%{resource_path}">%{resource_title}</a>. Te rugăm <strong>acceptă sau respinge cererea</strong>.
245
+ notification_title: <a href="%{requester_path}">%{requester_name} %{requester_nickname}</a> a solicitat acces pentru a contribui la ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>. Te rugăm <strong>acceptă sau respinge cererea</strong>.
215
246
  collaborative_draft_access_requester_accepted:
216
- email_intro: Ai fost acceptat drept colaborator pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
247
+ email_intro: Ai fost acceptat drept colaborator pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
217
248
  email_outro: Ai primit această notificare deoarece ai solicitat să devii colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
218
249
  email_subject: Ai fost acceptat drept colaborator pentru %{resource_title}.
219
- notification_title: Ai fost <strong>acceptat drept colaborator</strong> pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
250
+ notification_title: Ai fost <strong>acceptat drept colaborator</strong> pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
220
251
  collaborative_draft_access_requester_rejected:
221
- email_intro: Ai fost respins drept colaborator pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
252
+ email_intro: Ai fost respins drept colaborator pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
222
253
  email_outro: Ai primit această notificare deoarece ai solicitat să devii colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
223
254
  email_subject: Ai fost respins drept colaborator pentru %{resource_title}.
224
- notification_title: Ai fost <strong>respins drept colaborator</strong> pentru schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
255
+ notification_title: Ai fost <strong>respins drept colaborator</strong> pentru ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
225
256
  collaborative_draft_withdrawn:
226
- email_intro: <a href="%{author_path}">%{author_name} %{author_nickname}</a> a retras schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
257
+ email_intro: <a href="%{author_path}">%{author_name} %{author_nickname}</a> a retras ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
227
258
  email_outro: Ai primit această notificare deoarece ești colaborator pentru <a href="%{resource_path}">%{resource_title}</a>.
228
- email_subject: "%{author_name} %{author_nickname} a retras schița colaborativă %{resource_title}."
229
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <strong>a retras</strong> schița colaborativă <a href="%{resource_path}">%{resource_title}</a>.
259
+ email_subject: "%{author_name} %{author_nickname} a retras ciorna colaborativă %{resource_title}."
260
+ notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <strong>a retras</strong> ciorna colaborativă <a href="%{resource_path}">%{resource_title}</a>.
230
261
  creation_enabled:
231
262
  email_intro: 'Acum poți crea propuneri noi pentru %{participatory_space_title}! Participă acum la această pagină:'
232
263
  email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior.
@@ -273,7 +304,7 @@ ro:
273
304
  email_intro: Propunerea "%{resource_title}" a fost adăugată la "%{participatory_space_title}", spațiu participativ pe care îl urmărești.
274
305
  email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula aceste notificări de la link-ul anterior.
275
306
  email_subject: O nouă propunere "%{resource_title}" a fost adăugată la %{participatory_space_title}
276
- notification_title: Propunerea <a href="%{resource_path}">%{resource_title}</a> a fost adăugată la %{participatory_space_title}
307
+ notification_title: Propunerea <a href="%{resource_path}">%{resource_title}</a> a fost adăugată la %{participatory_space_title} de %{author}
277
308
  proposal_rejected:
278
309
  affected_user:
279
310
  email_intro: 'Propunerea ta "%{resource_title}" a fost respinsă. Poți citi răspunsul în această pagină:'
@@ -317,9 +348,9 @@ ro:
317
348
  conditions:
318
349
  - Răsfoiește paginile și petrece puțin timp citind propunerile altora
319
350
  - Votează propunerilor care îți plac sau ți se par intersante
320
- description: Această insignă este acordată atunci când susții propunerile altora.
351
+ description: Această insignă este acordată atunci când votezi propunerile altora.
321
352
  description_another: Acest participant a votat %{score} propuneri.
322
- description_own: Ai oferit sprijin pentru %{score} propuneri.
353
+ description_own: Ai votat %{score} propuneri.
323
354
  name: Voturi pentru propuneri
324
355
  next_level_in: Votează încă %{score} alte propuneri pentru a atinge următorul nivel!
325
356
  unearned_another: Acest participant nu a votat încă nicio propunere.
@@ -359,7 +390,7 @@ ro:
359
390
  actions:
360
391
  answer_proposal: Răspundeți la propunere
361
392
  edit_proposal: Editează propunerea
362
- import: Importă din altă componentă
393
+ import: Importă propuneri din altă componentă
363
394
  new: Propunere nouă
364
395
  participatory_texts: Texte participative
365
396
  show: Afișează propunerea
@@ -370,16 +401,35 @@ ro:
370
401
  exports:
371
402
  proposal_comments: Comentarii
372
403
  proposals: Propuneri
404
+ imports:
405
+ help:
406
+ answers: 'Documentul importat trebuie să conțină următoarele coloane: id, stadiu (acceptat, în evaluare, respins), răspuns/ro (și alte limbi activate pentru organizație).'
407
+ proposals: Fişierul trebuie să aibă titlu/ro şi conținut/ro (sau o altă configurație pe care o preferi, de exemplu titlu/en și conținut/en). De asemenea, sunt acceptate coloane de domeniu de interes/id și categorie/id.
408
+ label:
409
+ answers: Importă răspunsuri dintr-un fişier
410
+ proposals: Importă propuneri dintr-un fişier
411
+ resources:
412
+ answers:
413
+ one: răspuns la propunere
414
+ few: răspunsuri la propunere
415
+ other: răspunsuri la propunere
416
+ proposals:
417
+ one: propunere
418
+ few: propuneri
419
+ other: propuneri
420
+ title:
421
+ answers: Importă răspunsuri la propunere
422
+ proposals: Importă propuneri
373
423
  models:
374
424
  proposal:
375
425
  name: Propunere
376
426
  participatory_texts:
377
427
  bulk-actions:
378
- are_you_sure: Sigur dorești să renunți la întrega schiță de text participativ?
428
+ are_you_sure: Sigur dorești să renunți la întrega ciornă de text participativ?
379
429
  discard_all: Renunță la toate
380
430
  import_doc: Importă documentul
381
431
  discard:
382
- success: Toate schițele de text participativ au fost șterse.
432
+ success: Toate ciornele de text participativ au fost șterse.
383
433
  import:
384
434
  invalid: Formularul nu este valid!
385
435
  invalid_file: Fişierul conţine o eroare, te rugăm să încerci să editezi conţinutul fişierului şi să-l reîncărci.
@@ -475,7 +525,7 @@ ro:
475
525
  comments_positive_count: În favoarea
476
526
  created_at: Data creării
477
527
  documents: Documente
478
- endorsements_count: Număr de aprobări
528
+ endorsements_count: Număr de susțineri
479
529
  endorsements_ranking: Clasament după susțineri
480
530
  endorsers: Susţinători
481
531
  link: Link
@@ -514,11 +564,11 @@ ro:
514
564
  title: Importă propuneri
515
565
  proposals_merges:
516
566
  create:
517
- invalid: A apărut o problemă la fuzionarea propunerilor selectate.
567
+ invalid: 'A apărut o problemă la combinarea propunerilor selectate, deoarece unele dintre ele:'
518
568
  success: Propunerile au fost combinate cu succes într-o propunere nouă.
519
569
  proposals_splits:
520
570
  create:
521
- invalid: A apărut o problemă la separarea propunerilor selectate.
571
+ invalid: 'A apărut o problemă la împărțirea propunerilor selectate, deoarece unele dintre ele:'
522
572
  success: Propunerile au fost împărțite cu succes în altele noi.
523
573
  valuation_assignments:
524
574
  create:
@@ -570,7 +620,7 @@ ro:
570
620
  publish:
571
621
  error: A apărut o problemă la publicarea ciornei colaborative.
572
622
  irreversible_action_modal:
573
- body: După publicarea schiței ca propunere, aceasta nu va mai fi editabilă. Propunerea nu va mai accepta autori sau contribuții noi.
623
+ body: După publicarea ciornei drept propunere, aceasta nu va mai fi editabilă. Propunerea nu va mai accepta autori sau contribuții noi.
574
624
  cancel: Anulează
575
625
  ok: Publică drept propunere
576
626
  title: Următoarea acţiune este ireversibilă
@@ -581,7 +631,7 @@ ro:
581
631
  irreversible_action_modal:
582
632
  body: După închiderea ciornei, aceasta nu va mai putea fi editată. Ciorna nu va mai accepta autori sau contribuții noi.
583
633
  cancel: Anulează
584
- ok: Retrage schița colaborativă
634
+ ok: Retrage ciorna colaborativă
585
635
  title: Următoarea acţiune este ireversibilă
586
636
  success: Ciorna colaborativă a fost retrasă cu succes.
587
637
  count:
@@ -650,7 +700,7 @@ ro:
650
700
  publish: Publică
651
701
  publish_info: Publică această versiune a ciornei sau
652
702
  published_proposal: propunere publicată
653
- request_access: Solicită acces
703
+ request_access: Cere acces
654
704
  requested_access: Acces solicitat
655
705
  version_history: vezi istoricul versiunilor pentru această propunere
656
706
  withdraw: retrage ciorna
@@ -761,9 +811,12 @@ ro:
761
811
  filter_by: Filtrează după
762
812
  unfold: Extinde
763
813
  index:
814
+ click_here: Afișează toate propunerile
764
815
  collaborative_drafts_list: Accesează ciorne colaborative
765
816
  new_proposal: Propunere nouă
817
+ see_all: Afișează toate propunerile
766
818
  see_all_withdrawn: Afișează toate propunerile retrase
819
+ text_banner: Vizualizezi lista de propuneri retrase de autorii lor. %{go_back_link}.
767
820
  view_proposal: Vizualizează propunerea
768
821
  linked_proposals:
769
822
  proposal_votes:
@@ -840,7 +893,7 @@ ro:
840
893
  vote_button:
841
894
  already_voted: Ai votat deja
842
895
  already_voted_hover: Retrage votul
843
- maximum_votes_reached: Ați atins limita de votare
896
+ maximum_votes_reached: Ai atins limita de votare
844
897
  no_votes_remaining: Niciun vot rămas
845
898
  vote: Votează
846
899
  votes_blocked: Votare dezactivată
@@ -82,7 +82,6 @@ ru:
82
82
  step:
83
83
  announcement: Объявление
84
84
  comments_blocked: Комментарии отключены
85
- creation_enabled: Включена возможность создания предложений
86
85
  endorsements_blocked: Возможность выразить поддержку отключена
87
86
  endorsements_enabled: Возможность выразить поддержку включена
88
87
  proposal_answering_enabled: Включена возможность отвечать на предложения
@@ -122,7 +121,6 @@ ru:
122
121
  proposal_published_for_space:
123
122
  email_intro: В "%{participatory_space_title}", за которым вы следите, добавлено предложение "%{resource_title}".
124
123
  email_outro: Вы получили это уведомление, потому что вы следите за «%{participatory_space_title}». Вы можете перестать за ним следить, перейдя по приведенной выше ссылке.
125
- notification_title: В %{participatory_space_title} было добавлено предложение <a href="%{resource_path}">%{resource_title}</a>
126
124
  proposal_rejected:
127
125
  follower:
128
126
  email_intro: 'Предложение "%{resource_title}" было отклонено. Вы можете прочитать ответ на странице:'
@@ -106,7 +106,6 @@ sk:
106
106
  name: Návrhy
107
107
  settings:
108
108
  global:
109
- allow_card_image: Povoliť kartové obrázky
110
109
  amendments_enabled: Pozmeňujúce návrhy povolené
111
110
  amendments_enabled_help: Ak je aktívne, nastavte funkcie Pozmeňujúcich návrhov pre každý krok.
112
111
  amendments_wizard_help_text: Sprievodca Pozmeňujúcimi návrhmi
@@ -147,7 +146,6 @@ sk:
147
146
  answers_with_costs: Povoliť náklady v rámci odpovedí na návrhy
148
147
  automatic_hashtags: Do všetkých návrhov boli pridané značky hashtags
149
148
  comments_blocked: Komentáre boli blokované
150
- creation_enabled: Vytváranie návrhu je povolené
151
149
  endorsements_blocked: Schvaľovanie blokované
152
150
  endorsements_enabled: Schvaľovanie povolené
153
151
  proposal_answering_enabled: Odpovedanie na návrh je povolené
@@ -234,7 +232,6 @@ sk:
234
232
  email_intro: Návrh "%{resource_title}" bol pridaný k "%{participatory_space_title}", ktorý sledujete.
235
233
  email_outro: Toto oznámenie ste dostali, pretože sledujete "%{participatory_space_title}". Môžete ho odhlásiť od predchádzajúceho odkazu.
236
234
  email_subject: Nový návrh "%{resource_title}" bol pridaný k%{participatory_space_title}
237
- notification_title: Návrh <a href="%{resource_path}">%{resource_title} </a> bol pridaný do%{participatory_space_title}
238
235
  proposal_rejected:
239
236
  affected_user:
240
237
  email_intro: 'Váš návrh "%{resource_title}" bol zamietnutý. Odpoveď môžete čítať na tejto stránke: '
@@ -471,11 +468,9 @@ sk:
471
468
  select_states: Skontrolujte stav návrhov, ktoré chcete importovať
472
469
  proposals_merges:
473
470
  create:
474
- invalid: Pri prepojení vybraných návrhov došlo k chybe.
475
471
  success: Projekty boli úspešne zlúčené do novej.
476
472
  proposals_splits:
477
473
  create:
478
- invalid: Pri výbere vybraných návrhov došlo k chybe.
479
474
  success: Úspešne rozdelil návrhy na nové.
480
475
  valuation_assignments:
481
476
  create:
@@ -24,7 +24,6 @@ sr:
24
24
  proposals:
25
25
  settings:
26
26
  global:
27
- allow_card_image: Dozvoli sliku kartice
28
27
  new_proposal_body_template: Novi predlog šablona glavnog teksta
29
28
  new_proposal_body_template_help: Možete da definišete tekst koji će se pojavljivati pri kreiranju novog predloga
30
29
  step:
@@ -57,6 +57,16 @@ sv:
57
57
  identical: OCH titeln kan inte vara identisk
58
58
  title:
59
59
  identical: OCH innehållet kan inte vara identiskt
60
+ proposals_merge:
61
+ attributes:
62
+ base:
63
+ not_official: Är inte officiella
64
+ supported: Har fått stöd eller instämmande
65
+ proposals_split:
66
+ attributes:
67
+ base:
68
+ not_official: Är inte officiella
69
+ supported: Har fått stöd eller instämmande
60
70
  models:
61
71
  decidim/proposals/accepted_proposal_event: Förslag accepterat
62
72
  decidim/proposals/admin/update_proposal_category_event: Förslagskategori ändrad
@@ -125,7 +135,6 @@ sv:
125
135
  name: Förslag
126
136
  settings:
127
137
  global:
128
- allow_card_image: Tillåt kortbild
129
138
  amendments_enabled: Ändringar möjliga
130
139
  amendments_enabled_help: Om aktivt, konfigurera ändringsfunktioner till varje steg.
131
140
  amendments_wizard_help_text: Hjälptext för guiden för ändringsförslag
@@ -135,6 +144,17 @@ sv:
135
144
  collaborative_drafts_enabled: Samarbetsutkast aktiverat
136
145
  comments_enabled: Kommentarer aktiverade
137
146
  comments_max_length: Maximal längd för kommentarer (Lämna 0 för standardvärde)
147
+ default_sort_order: Förvald produkt sortering
148
+ default_sort_order_help: Förinställt innebär att om stödet är aktiverat kommer förslagen sorteras slumpmässigt, och om stöden är blockerade kommer de att sorteras efter mest stödda.
149
+ default_sort_order_options:
150
+ default: Förinställt
151
+ most_commented: Mest kommenterade
152
+ most_endorsed: Mest instämda i
153
+ most_followed: Mest följda
154
+ most_voted: Mest stödda
155
+ random: Slumpmässigt
156
+ recent: Senaste
157
+ with_more_authors: Med fler författare
138
158
  geocoding_enabled: Geokodning aktiverad
139
159
  minimum_votes_per_user: Minsta antal stöd per användare
140
160
  new_proposal_body_template: Innehållsmall för nytt förslag
@@ -176,7 +196,18 @@ sv:
176
196
  answers_with_costs: Tillåt kostnader i svar på förslag
177
197
  automatic_hashtags: Hashtags läggs till i alla förslag
178
198
  comments_blocked: Kommentarer blockerade
179
- creation_enabled: Skapande av förslag aktiverat
199
+ creation_enabled: Deltagare kan skapa förslag
200
+ default_sort_order: Förvald produkt sortering
201
+ default_sort_order_help: Förinställt innebär att om stödet är aktiverat kommer förslagen sorteras slumpmässigt, och om stöden är blockerade kommer de att sorteras efter mest stödda.
202
+ default_sort_order_options:
203
+ default: Förinställt
204
+ most_commented: Mest kommenterade
205
+ most_endorsed: Mest instämda i
206
+ most_followed: Mest följda
207
+ most_voted: Mest stödda
208
+ random: Slumpmässigt
209
+ recent: Senaste
210
+ with_more_authors: Med fler författare
180
211
  endorsements_blocked: Instämmanden är blockerade
181
212
  endorsements_enabled: Instämmanden aktiverade
182
213
  proposal_answering_enabled: Svar på förslag aktiverat
@@ -269,7 +300,7 @@ sv:
269
300
  email_intro: Förslaget "%{resource_title}" har lagts till i "%{participatory_space_title}" som du följer.
270
301
  email_outro: Du har fått det här meddelandet eftersom du följer "%{participatory_space_title}". Du kan sluta att ta emot meddelanden genom att följa föregående länk.
271
302
  email_subject: Nytt förslag "%{resource_title}" lades till %{participatory_space_title}
272
- notification_title: Förslaget <a href="%{resource_path}">%{resource_title}</a> har lagts till %{participatory_space_title}
303
+ notification_title: Förslaget <a href="%{resource_path}">%{resource_title}</a> har lagts till %{participatory_space_title} av %{author}
273
304
  proposal_rejected:
274
305
  affected_user:
275
306
  email_intro: 'Ditt förslag "%{resource_title}" har avslagits. Du kan läsa svaret på den här sidan:'
@@ -366,6 +397,23 @@ sv:
366
397
  exports:
367
398
  proposal_comments: Kommentarer
368
399
  proposals: Förslag
400
+ imports:
401
+ help:
402
+ answers: 'Importdokumentet ska innehålla följande kolumner: id, state (accepterat, utvärderat, avvisat), answer/sv, answer/en (och andra språk aktiverade för organisationen).'
403
+ proposals: Filen måste ha kolumnnamn title/sv och body/sv (eller ett annat språk som du föredrar t. ex.. title/en och body/en). Även scope/id och category/id kolumner stöds.
404
+ label:
405
+ answers: Importera svar från en fil
406
+ proposals: Importerar förslag från en fil
407
+ resources:
408
+ answers:
409
+ one: svar till förslaget
410
+ other: svar till förslaget
411
+ proposals:
412
+ one: förslag
413
+ other: förslag
414
+ title:
415
+ answers: Importera svar till förslag
416
+ proposals: Importera förslag
369
417
  models:
370
418
  proposal:
371
419
  name: Förslag
@@ -509,11 +557,11 @@ sv:
509
557
  title: Importera förslag
510
558
  proposals_merges:
511
559
  create:
512
- invalid: Det gick inte att slå samman de valda förslagen.
560
+ invalid: 'Det gick inte att slå samman de valda förslagen på grund av vissa av dem:'
513
561
  success: Förslagen har sammanfogats till ett nytt förslag.
514
562
  proposals_splits:
515
563
  create:
516
- invalid: Det gick inte att dela upp de valda förslagen.
564
+ invalid: 'Det gick inte att dela upp de valda förslagen på grund av vissa av dem:'
517
565
  success: Förslagen har delats upp till nya förslag.
518
566
  valuation_assignments:
519
567
  create:
@@ -753,9 +801,12 @@ sv:
753
801
  filter_by: Filtrera efter
754
802
  unfold: Veckla ut
755
803
  index:
804
+ click_here: Se alla förslag
756
805
  collaborative_drafts_list: Visa gemensamma utkast
757
806
  new_proposal: Nytt förslag
807
+ see_all: Se alla förslag
758
808
  see_all_withdrawn: Se alla tillbakadragna förslag
809
+ text_banner: Du tittar på listan över förslag som dragits tillbaka av deras författare. %{go_back_link}.
759
810
  view_proposal: Visa förslag
760
811
  linked_proposals:
761
812
  proposal_votes:
@@ -122,7 +122,6 @@ tr:
122
122
  name: Teklifler
123
123
  settings:
124
124
  global:
125
- allow_card_image: Kart resmine izin ver
126
125
  amendments_enabled: Değişiklikler etkinleştirildi
127
126
  amendments_enabled_help: Etkinse, her adım için Değişiklik özelliklerini yapılandırın.
128
127
  amendments_wizard_help_text: Değişiklik Sihirbazı yardım metni
@@ -169,7 +168,6 @@ tr:
169
168
  answers_with_costs: Teklif yanıtlarında maliyetleri etkinleştirin
170
169
  automatic_hashtags: Tüm tekliflere etiketler eklendi
171
170
  comments_blocked: Yorumlar engellendi
172
- creation_enabled: Teklif oluşturma etkin
173
171
  endorsements_blocked: Onaylar engellendi
174
172
  endorsements_enabled: Onaylar etkin
175
173
  proposal_answering_enabled: Teklif yanıtlama etkin
@@ -262,7 +260,6 @@ tr:
262
260
  email_intro: '"%{resource_title}" teklifi takip ettiğiniz "%{participatory_space_title}" listesine eklendi.'
263
261
  email_outro: Bu bildirimi, "%{participatory_space_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
264
262
  email_subject: Yeni teklif "%{resource_title}" %{participatory_space_title} eklendi
265
- notification_title: <a href="%{resource_path}">%{resource_title}</a> önerisi %{participatory_space_title} alanına eklendi
266
263
  proposal_rejected:
267
264
  affected_user:
268
265
  email_intro: 'Teklifiniz "%{resource_title}" reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
@@ -501,11 +498,9 @@ tr:
501
498
  title: Teklifleri içe aktar
502
499
  proposals_merges:
503
500
  create:
504
- invalid: Seçilen teklifler birleştirilirken bir hata oluştu.
505
501
  success: Teklifler, yeni bir taneyle başarılı bir şekilde birleştirildi.
506
502
  proposals_splits:
507
503
  create:
508
- invalid: Seçilen teklifleri bölerken bir sorun vardı.
509
504
  success: Teklifleri başarılı bir şekilde yenilere ayırdı.
510
505
  valuation_assignments:
511
506
  create:
@@ -82,7 +82,6 @@ uk:
82
82
  step:
83
83
  announcement: Оголошення
84
84
  comments_blocked: Коментарі вимкнено
85
- creation_enabled: Внесення пропозицій увімкнено
86
85
  endorsements_blocked: Надання підтримки вимкнене
87
86
  endorsements_enabled: Надання підтримки увімкнено
88
87
  proposal_answering_enabled: Відповіді на пропозиції увімкнено
@@ -122,7 +121,6 @@ uk:
122
121
  proposal_published_for_space:
123
122
  email_intro: До "%{participatory_space_title}", за яким ви стежите, була додана пропозиція "%{resource_title}".
124
123
  email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{participatory_space_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
125
- notification_title: До %{participatory_space_title} було додано пропозицію <a href="%{resource_path}">%{resource_title}</a>
126
124
  proposal_rejected:
127
125
  follower:
128
126
  email_intro: 'Пропозиція "%{resource_title}" була відхилена. Ви можете прочитати відповідь на сторінці:'
@@ -0,0 +1 @@
1
+ val:
@@ -115,7 +115,6 @@ zh-CN:
115
115
  name: 建议
116
116
  settings:
117
117
  global:
118
- allow_card_image: 允许卡片图像
119
118
  amendments_enabled: 修改已启用
120
119
  amendments_enabled_help: 如果激活,配置每一步的修正功能。
121
120
  amendments_wizard_help_text: 修正向导帮助文本
@@ -162,7 +161,6 @@ zh-CN:
162
161
  answers_with_costs: 启用建议答案的成本
163
162
  automatic_hashtags: 添加到所有建议的标签
164
163
  comments_blocked: 评论已阻止
165
- creation_enabled: 建议创建已启用
166
164
  endorsements_blocked: 已阻止授权
167
165
  endorsements_enabled: 授权已启用
168
166
  proposal_answering_enabled: 建议答案已启用
@@ -248,7 +246,6 @@ zh-CN:
248
246
  email_intro: 提议 "%{resource_title}" 已被添加到"%{participatory_space_title}",您正在关注它。
249
247
  email_outro: 您收到此通知是因为您正在关注 "%{participatory_space_title}"。您可以停止收到跟随上一个链接的通知。
250
248
  email_subject: 新提议 "%{resource_title}" 已添加到 %{participatory_space_title}
251
- notification_title: 提议 <a href="%{resource_path}">%{resource_title}</a> 已被添加到 %{participatory_space_title}
252
249
  proposal_rejected:
253
250
  affected_user:
254
251
  email_intro: '您的提议 "%{resource_title}" 已被拒绝。您可以在此页中读取答案:'
@@ -480,11 +477,9 @@ zh-CN:
480
477
  select_states: 检查要导入的建议的状态
481
478
  proposals_merges:
482
479
  create:
483
- invalid: 合并选定的建议时出现问题。
484
480
  success: 成功地将提案合并为一个新提案。
485
481
  proposals_splits:
486
482
  create:
487
- invalid: 在分割选定的建议时遇到问题。
488
483
  success: 成功地将建议分成新的建议。
489
484
  valuation_assignments:
490
485
  create:
@@ -22,6 +22,8 @@ Decidim.register_component(:proposals) do |component|
22
22
 
23
23
  component.permissions_class_name = "Decidim::Proposals::Permissions"
24
24
 
25
+ POSSIBLE_SORT_ORDERS = %w(default random recent most_endorsed most_voted most_commented most_followed with_more_authors).freeze
26
+
25
27
  component.settings(:global) do |settings|
26
28
  settings.attribute :scopes_enabled, type: :boolean, default: false
27
29
  settings.attribute :scope_id, type: :scope
@@ -34,12 +36,12 @@ Decidim.register_component(:proposals) do |component|
34
36
  settings.attribute :threshold_per_proposal, type: :integer, default: 0
35
37
  settings.attribute :can_accumulate_supports_beyond_threshold, type: :boolean, default: false
36
38
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
39
+ settings.attribute :default_sort_order, type: :select, default: "default", choices: -> { POSSIBLE_SORT_ORDERS }
37
40
  settings.attribute :official_proposals_enabled, type: :boolean, default: true
38
41
  settings.attribute :comments_enabled, type: :boolean, default: true
39
42
  settings.attribute :comments_max_length, type: :integer, required: false
40
43
  settings.attribute :geocoding_enabled, type: :boolean, default: false
41
44
  settings.attribute :attachments_allowed, type: :boolean, default: false
42
- settings.attribute :allow_card_image, type: :boolean, default: false
43
45
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
44
46
  settings.attribute :collaborative_drafts_enabled, type: :boolean, default: false
45
47
  settings.attribute :participatory_texts_enabled,
@@ -65,6 +67,7 @@ Decidim.register_component(:proposals) do |component|
65
67
  settings.attribute :comments_blocked, type: :boolean, default: false
66
68
  settings.attribute :creation_enabled, type: :boolean
67
69
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
70
+ settings.attribute :default_sort_order, type: :select, include_blank: true, choices: -> { POSSIBLE_SORT_ORDERS }
68
71
  settings.attribute :publish_answers_immediately, type: :boolean, default: true
69
72
  settings.attribute :answers_with_costs, type: :boolean, default: false
70
73
  settings.attribute :amendment_creation_enabled, type: :boolean, default: true
@@ -128,7 +131,7 @@ Decidim.register_component(:proposals) do |component|
128
131
  collection = Decidim::Proposals::Proposal
129
132
  .published
130
133
  .where(component: component_instance)
131
- .includes(:category, :component)
134
+ .includes(:scope, :category, :component)
132
135
 
133
136
  if space.user_roles(:valuator).where(user: user).any?
134
137
  collection.with_valuation_assigned_to(user, space)
@@ -146,7 +149,7 @@ Decidim.register_component(:proposals) do |component|
146
149
  exports.collection do |component_instance|
147
150
  Decidim::Comments::Export.comments_for_resource(
148
151
  Decidim::Proposals::Proposal, component_instance
149
- )
152
+ ).includes(:author, :user_group, root_commentable: { component: { participatory_space: :organization } })
150
153
  end
151
154
 
152
155
  exports.include_in_open_data = true
@@ -155,7 +158,37 @@ Decidim.register_component(:proposals) do |component|
155
158
  end
156
159
 
157
160
  component.imports :proposals do |imports|
158
- imports.creator Decidim::Proposals::ProposalCreator
161
+ imports.form_view = "decidim/proposals/admin/imports/proposals_fields"
162
+ imports.form_class_name = "Decidim::Proposals::Admin::ProposalsFileImportForm"
163
+
164
+ imports.messages do |msg|
165
+ msg.set(:resource_name) { |count: 1| I18n.t("decidim.proposals.admin.imports.resources.proposals", count: count) }
166
+ msg.set(:title) { I18n.t("decidim.proposals.admin.imports.title.proposals") }
167
+ msg.set(:label) { I18n.t("decidim.proposals.admin.imports.label.proposals") }
168
+ msg.set(:help) { I18n.t("decidim.proposals.admin.imports.help.proposals") }
169
+ end
170
+
171
+ imports.creator Decidim::Proposals::Import::ProposalCreator
172
+ end
173
+
174
+ component.imports :answers do |imports|
175
+ imports.messages do |msg|
176
+ msg.set(:resource_name) { |count: 1| I18n.t("decidim.proposals.admin.imports.resources.answers", count: count) }
177
+ msg.set(:title) { I18n.t("decidim.proposals.admin.imports.title.answers") }
178
+ msg.set(:label) { I18n.t("decidim.proposals.admin.imports.label.answers") }
179
+ msg.set(:help) { I18n.t("decidim.proposals.admin.imports.help.answers") }
180
+ end
181
+
182
+ imports.creator Decidim::Proposals::Import::ProposalAnswerCreator
183
+ imports.example do |import_component|
184
+ organization = import_component.organization
185
+ [
186
+ %w(id state) + organization.available_locales.map { |l| "answer/#{l}" },
187
+ [1, "accepted"] + organization.available_locales.map { "Example answer" },
188
+ [2, "rejected"] + organization.available_locales.map { "Example answer" },
189
+ [3, "evaluating"] + organization.available_locales.map { "Example answer" }
190
+ ]
191
+ end
159
192
  end
160
193
 
161
194
  component.seeds do |participatory_space|