decidim-proposals 0.15.2 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -0
  3. data/app/assets/config/decidim_proposals_manifest.js +1 -0
  4. data/app/assets/javascripts/decidim/proposals/add_proposal.js.es6 +1 -1
  5. data/app/assets/javascripts/decidim/proposals/admin/proposals_form.js.es6 +23 -0
  6. data/app/cells/decidim/proposals/collaborative_draft_cell.rb +0 -2
  7. data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +5 -1
  8. data/app/cells/decidim/proposals/highlighted_proposals/show.erb +3 -0
  9. data/app/cells/decidim/proposals/highlighted_proposals_cell.rb +25 -0
  10. data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +19 -0
  11. data/app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb +34 -0
  12. data/app/cells/decidim/proposals/participatory_text_proposal/buttons.erb +33 -0
  13. data/app/cells/decidim/proposals/participatory_text_proposal/show.erb +9 -0
  14. data/app/cells/decidim/proposals/participatory_text_proposal_cell.rb +77 -0
  15. data/app/cells/decidim/proposals/proposal_cell.rb +0 -2
  16. data/app/cells/decidim/proposals/proposal_m/footer.erb +1 -1
  17. data/app/cells/decidim/proposals/proposal_m_cell.rb +6 -1
  18. data/app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb +3 -3
  19. data/app/commands/decidim/proposals/admin/answer_proposal.rb +2 -1
  20. data/app/commands/decidim/proposals/admin/create_proposal.rb +7 -7
  21. data/app/commands/decidim/proposals/admin/import_participatory_text.rb +8 -8
  22. data/app/commands/decidim/proposals/admin/update_proposal.rb +13 -6
  23. data/app/commands/decidim/proposals/admin/update_proposal_category.rb +1 -1
  24. data/app/commands/decidim/proposals/create_collaborative_draft.rb +6 -3
  25. data/app/commands/decidim/proposals/create_proposal.rb +25 -11
  26. data/app/commands/decidim/proposals/endorse_proposal.rb +1 -2
  27. data/app/commands/decidim/proposals/hashtags_methods.rb +36 -0
  28. data/app/commands/decidim/proposals/publish_collaborative_draft.rb +39 -34
  29. data/app/commands/decidim/proposals/publish_proposal.rb +13 -17
  30. data/app/commands/decidim/proposals/reject_access_to_collaborative_draft.rb +2 -3
  31. data/app/commands/decidim/proposals/request_access_to_collaborative_draft.rb +1 -2
  32. data/app/commands/decidim/proposals/update_collaborative_draft.rb +11 -8
  33. data/app/commands/decidim/proposals/update_proposal.rb +37 -13
  34. data/app/commands/decidim/proposals/withdraw_collaborative_draft.rb +3 -3
  35. data/app/commands/decidim/proposals/withdraw_proposal.rb +14 -1
  36. data/app/controllers/decidim/proposals/admin/participatory_texts_controller.rb +2 -1
  37. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +9 -1
  38. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +8 -0
  39. data/app/controllers/decidim/proposals/proposals_controller.rb +64 -27
  40. data/app/controllers/decidim/proposals/versions_controller.rb +5 -1
  41. data/app/events/decidim/proposals/accepted_proposal_event.rb +8 -0
  42. data/app/events/decidim/proposals/evaluating_proposal_event.rb +3 -0
  43. data/app/events/decidim/proposals/proposal_endorsed_event.rb +4 -0
  44. data/app/events/decidim/proposals/publish_proposal_event.rb +4 -0
  45. data/app/events/decidim/proposals/rejected_proposal_event.rb +8 -0
  46. data/app/forms/decidim/proposals/admin/import_participatory_text_form.rb +4 -0
  47. data/app/forms/decidim/proposals/admin/proposal_form.rb +49 -0
  48. data/app/forms/decidim/proposals/collaborative_draft_form.rb +2 -0
  49. data/app/forms/decidim/proposals/proposal_form.rb +32 -0
  50. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +19 -0
  51. data/app/helpers/decidim/proposals/application_helper.rb +48 -12
  52. data/app/helpers/decidim/proposals/control_version_helper.rb +61 -0
  53. data/app/helpers/decidim/proposals/participatory_texts_helper.rb +8 -0
  54. data/app/helpers/decidim/proposals/proposal_cells_helper.rb +7 -1
  55. data/app/helpers/decidim/proposals/proposal_endorsements_helper.rb +8 -6
  56. data/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb +2 -2
  57. data/app/jobs/decidim/proposals/settings_change_job.rb +8 -6
  58. data/app/models/decidim/proposals/collaborative_draft.rb +3 -0
  59. data/app/models/decidim/proposals/proposal.rb +20 -8
  60. data/app/permissions/decidim/proposals/admin/permissions.rb +1 -1
  61. data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +2 -1
  62. data/app/presenters/decidim/proposals/collaborative_draft_presenter.rb +15 -2
  63. data/app/presenters/decidim/proposals/official_author_presenter.rb +4 -0
  64. data/app/presenters/decidim/proposals/proposal_presenter.rb +10 -14
  65. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +54 -0
  66. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +56 -0
  67. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +64 -0
  68. data/app/services/decidim/proposals/proposal_search.rb +46 -5
  69. data/app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_proposals.html.erb +1 -1
  70. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +43 -2
  71. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +6 -2
  72. data/app/views/decidim/proposals/admin/proposals/edit.html.erb +1 -1
  73. data/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -1
  74. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +81 -0
  75. data/app/views/decidim/proposals/collaborative_drafts/complete.html.erb +1 -49
  76. data/app/views/decidim/proposals/collaborative_drafts/edit.html.erb +1 -29
  77. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +5 -5
  78. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +27 -3
  79. data/app/views/decidim/proposals/proposals/_filters.html.erb +5 -2
  80. data/app/views/decidim/proposals/proposals/_proposal.html.erb +5 -1
  81. data/app/views/decidim/proposals/proposals/_proposal_similar.html.erb +2 -2
  82. data/app/views/decidim/proposals/proposals/_vote_button.html.erb +39 -35
  83. data/app/views/decidim/proposals/proposals/_votes_count.html.erb +16 -12
  84. data/app/views/decidim/proposals/proposals/new.html.erb +1 -1
  85. data/app/views/decidim/proposals/proposals/participatory_texts/_index.html.erb +19 -0
  86. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +46 -0
  87. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_votes_count.html.erb +41 -0
  88. data/app/views/decidim/proposals/proposals/participatory_texts/_view_index.html.erb +10 -0
  89. data/app/views/decidim/proposals/proposals/participatory_texts/participatory_text.html.erb +15 -0
  90. data/app/views/decidim/proposals/proposals/show.html.erb +45 -4
  91. data/app/views/decidim/proposals/versions/_version.html.erb +2 -2
  92. data/app/views/decidim/proposals/versions/index.html.erb +1 -1
  93. data/app/views/decidim/proposals/versions/show.html.erb +2 -2
  94. data/config/locales/ca.yml +87 -33
  95. data/config/locales/de.yml +87 -36
  96. data/config/locales/en.yml +87 -33
  97. data/config/locales/es-PY.yml +87 -33
  98. data/config/locales/es.yml +88 -34
  99. data/config/locales/eu.yml +87 -33
  100. data/config/locales/fi-pl.yml +87 -33
  101. data/config/locales/fi.yml +87 -33
  102. data/config/locales/fr.yml +87 -33
  103. data/config/locales/gl.yml +87 -33
  104. data/config/locales/hu.yml +87 -33
  105. data/config/locales/id-ID.yml +84 -30
  106. data/config/locales/it.yml +87 -33
  107. data/config/locales/nl.yml +87 -33
  108. data/config/locales/pl.yml +87 -33
  109. data/config/locales/pt-BR.yml +87 -33
  110. data/config/locales/pt.yml +87 -33
  111. data/config/locales/ru.yml +21 -38
  112. data/config/locales/sv.yml +87 -33
  113. data/config/locales/tr-TR.yml +86 -32
  114. data/config/locales/uk.yml +21 -38
  115. data/db/migrate/20181026073215_add_created_in_meeting.rb +7 -0
  116. data/lib/decidim/proposals.rb +2 -0
  117. data/lib/decidim/proposals/component.rb +74 -0
  118. data/lib/decidim/proposals/doc_to_markdown.rb +40 -0
  119. data/lib/decidim/proposals/engine.rb +52 -35
  120. data/lib/decidim/proposals/odt_to_markdown.rb +46 -0
  121. data/lib/decidim/proposals/proposal_serializer.rb +29 -13
  122. data/lib/decidim/proposals/test/factories.rb +76 -0
  123. data/lib/decidim/proposals/version.rb +1 -1
  124. metadata +56 -20
  125. data/app/views/decidim/participatory_spaces/_highlighted_proposals.html.erb +0 -15
@@ -12,11 +12,13 @@ tr:
12
12
  proposal:
13
13
  answer: Cevap
14
14
  answered_at: Yanıtladı
15
+ automatic_hashtags: Hashtag'ler otomatik olarak eklendi
15
16
  body: Vücut
16
17
  category_id: Kategori
17
18
  has_address: Adresi var
18
19
  scope_id: kapsam
19
20
  state: Belirtmek, bildirmek
21
+ suggested_hashtags: Önerilen hashtag'ler
20
22
  title: Başlık
21
23
  user_group_id: Teklif oluştur
22
24
  proposal_answer:
@@ -69,6 +71,7 @@ tr:
69
71
  name: Teklif
70
72
  settings:
71
73
  global:
74
+ amendments_enabled: Değişiklikler etkinleştirildi
72
75
  announcement: duyuru
73
76
  attachments_allowed: Eklere izin ver
74
77
  can_accumulate_supports_beyond_threshold: Destekleri eşiğin ötesinde biriktirebilir
@@ -92,11 +95,13 @@ tr:
92
95
  vote_limit: Kullanıcı başına oy sınırı
93
96
  step:
94
97
  announcement: duyuru
98
+ automatic_hashtags: Hashtags tüm tekliflere eklendi
95
99
  comments_blocked: Yorumlar engellendi
96
100
  creation_enabled: Teklif oluşturma etkin
97
101
  endorsements_blocked: Onaylar engellendi
98
102
  endorsements_enabled: Onaylar etkin
99
103
  proposal_answering_enabled: Teklif yanıtlama etkin
104
+ suggested_hashtags: Hashtags, yeni teklifler için kullanıcılara önerdi
100
105
  votes_blocked: Oylama engellendi
101
106
  votes_enabled: Oylama etkin
102
107
  votes_hidden: Oylar gizli (oylar etkinleştirilirse, bu kontrol edilirken oy sayısı gizlenir)
@@ -142,39 +147,58 @@ tr:
142
147
  email_subject: Teklifler onaylandı %{participatory_space_title}
143
148
  notification_title: Artık başlayabilirsiniz <a href="%{resource_path}">tekliflerini destekleyen</a> de <a href="%{participatory_space_url}">%{participatory_space_title}</a>
144
149
  proposal_accepted:
145
- email_intro: '"%{resource_title}" teklifi kabul edildi. Cevabı bu sayfada okuyabilirsiniz:'
146
- email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
147
- email_subject: Takip ettiğiniz bir teklif kabul edildi
148
- notification_title: <a href="%{resource_path}">%{resource_title}</a> teklif kabul edildi.
150
+ affected_user:
151
+ email_intro: 'Teklifiniz "%{resource_title}" kabul edildi. Cevabı bu sayfada okuyabilirsiniz:'
152
+ email_outro: Bu bildirimi, "%{resource_title}" ın bir yazarı olduğunuz için aldınız.
153
+ email_subject: Teklifiniz kabul edildi
154
+ notification_title: Teklifiniz <a href="%{resource_path}">%{resource_title}</a> kabul edildi.
155
+ follower:
156
+ email_intro: '"%{resource_title}" teklifi kabul edildi. Cevabı bu sayfada okuyabilirsiniz:'
157
+ email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
158
+ email_subject: Takip ettiğiniz bir teklif kabul edildi
159
+ notification_title: <a href="%{resource_path}">%{resource_title}</a> teklif kabul edildi.
149
160
  proposal_endorsed:
150
- email_intro: "Takip ettiğiniz %{endorser_name} %{endorser_nickname}, sizin için ilginç olabilecek bir teklifi onaylamış ve katkıda bulunmuştur:"
161
+ email_intro: 'Takip ettiğiniz %{endorser_name} %{endorser_nickname}, "%{resource_title}" teklifini onayladı ve sizin için ilginç olabileceğini düşünüyoruz. Bir göz atın ve katkıda bulunun:'
151
162
  email_outro: Bu bildirimi, %{endorser_nickname}izlediğiniz için aldınız. Önceki bağlantıyı takip ederek bildirimleri almayı durdurabilirsiniz.
152
163
  email_subject: "%{endorser_nickname} yeni bir teklifi onayladı"
153
164
  notification_title: <a href="%{resource_path}">%{resource_title}</a> teklif <a href="%{endorser_path}">%{endorser_name} %{endorser_nickname}</a>tarafından onaylanmıştır.
154
165
  proposal_evaluating:
155
- email_intro: 'Şu anda "%{resource_title}" teklifi şu anda değerlendiriliyor. Bu sayfadaki cevabı kontrol edebilirsiniz:'
156
- email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
157
- email_subject: Takip ettiğiniz bir teklif değerlendiriliyor
158
- notification_title: <a href="%{resource_path}">%{resource_title}</a> teklifi değerlendiriliyor.
166
+ affected_user:
167
+ email_intro: 'Şu anda "%{resource_title}" teklifiniz değerlendiriliyor. Bu sayfadaki cevabı kontrol edebilirsiniz:'
168
+ email_outro: Bu bildirimi, "%{resource_title}" ın bir yazarı olduğunuz için aldınız.
169
+ email_subject: Teklifiniz değerlendiriliyor
170
+ notification_title: Teklifiniz <a href="%{resource_path}">%{resource_title}</a> değerlendiriliyor.
171
+ follower:
172
+ email_intro: 'Şu anda "%{resource_title}" teklifi şu anda değerlendiriliyor. Bu sayfadaki cevabı kontrol edebilirsiniz:'
173
+ email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
174
+ email_subject: Takip ettiğiniz bir teklif değerlendiriliyor
175
+ notification_title: <a href="%{resource_path}">%{resource_title}</a> teklifi değerlendiriliyor.
159
176
  proposal_mentioned:
160
177
  email_intro: Öneriniz "%{mentioned_proposal_title}" söz edilmiştir <a href="%{resource_path}">bu alanda</a> yorumlardaki.
178
+ email_outro: Bu bildirimi, "%{resource_title}" ın bir yazarı olduğunuz için aldınız.
161
179
  email_subject: Teklifinizin "%{mentioned_proposal_title}" olduğu belirtildi
162
180
  notification_title: Öneriniz "%{mentioned_proposal_title}" söz edilmiştir <a href="%{resource_path}">bu alanda</a> yorumlardaki.
163
181
  proposal_published:
164
- email_intro: "%{author_name} %{author_nickname}, takip ettiğiniz, yeni bir teklif yayınladı, kontrol et ve katkıda bulun:"
182
+ email_intro: 'Takip ettiğiniz %{author_name} %{author_nickname}, "%{resource_title}" adlı yeni bir teklif yayınladı. Bir göz atın ve katkıda bulunun:'
165
183
  email_outro: Bu bildirimi, %{author_nickname}izlediğiniz için aldınız. Önceki bağlantıyı takip ederek bildirimleri almayı durdurabilirsiniz.
166
- email_subject: '%{author_nickname}Yeni teklif'
184
+ email_subject: Yeni teklif "%{resource_title}" %{author_nickname}
167
185
  notification_title: <a href="%{resource_path}">%{resource_title}</a> teklif <a href="%{author_path}">%{author_name} %{author_nickname}</a>tarafından yayınlandı.
168
186
  proposal_published_for_space:
169
187
  email_intro: Öneri "%{resource_title}" "eklendi%{participatory_space_title}" izlediğinizi.
170
188
  email_outro: Bu bildirimi "%{participatory_space_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
171
- email_subject: Yeni teklife %{participatory_space_title}eklendi
189
+ email_subject: Yeni teklif "%{resource_title}" %{participatory_space_title}eklendi
172
190
  notification_title: <a href="%{resource_path}">%{resource_title}</a> önerisi %{participatory_space_title}eklendi
173
191
  proposal_rejected:
174
- email_intro: '"%{resource_title}" teklifi reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
175
- email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
176
- email_subject: Takip ettiğiniz bir teklif reddedildi
177
- notification_title: <a href="%{resource_path}">%{resource_title}</a> teklifi reddedildi.
192
+ affected_user:
193
+ email_intro: 'Teklifiniz "%{resource_title}" reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
194
+ email_outro: Bu bildirimi, "%{resource_title}" ın bir yazarı olduğunuz için aldınız.
195
+ email_subject: Teklifiniz reddedildi
196
+ notification_title: Teklifiniz <a href="%{resource_path}">%{resource_title}</a> reddedildi.
197
+ follower:
198
+ email_intro: '"%{resource_title}" teklifi reddedildi. Cevabı bu sayfada okuyabilirsiniz:'
199
+ email_outro: Bu bildirimi "%{resource_title}" takip ettiğiniz için aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.
200
+ email_subject: Takip ettiğiniz bir teklif reddedildi
201
+ notification_title: <a href="%{resource_path}">%{resource_title}</a> teklifi reddedildi.
178
202
  proposal_update_category:
179
203
  email_intro: 'Bir yönetici, "%{resource_title}" teklifinizin kategorisini güncelledi, kontrol et:'
180
204
  email_outro: Bu bildirimi aldınız çünkü teklifin yazarı sizsiniz.
@@ -222,12 +246,19 @@ tr:
222
246
  unearned_own: Henüz hiç teklif oluşturmadınız.
223
247
  metrics:
224
248
  accepted_proposals:
249
+ description: Kullanıcılar tarafından kabul edilen teklif sayısı
225
250
  object: önerileri
226
251
  title: Kabul Edilen Teklifler
252
+ endorsements:
253
+ description: Tekliflerde oluşturulan ciro sayısı
254
+ object: onaylar
255
+ title: Cirolar
227
256
  proposals:
257
+ description: Oluşturulan tekliflerin sayısı
228
258
  object: önerileri
229
259
  title: Teklif
230
260
  votes:
261
+ description: Kullanıcıların tekliflerinde oluşturulan oy sayısı
231
262
  object: oy
232
263
  title: oy
233
264
  participatory_processes:
@@ -236,8 +267,7 @@ tr:
236
267
  proposals: Teklif
237
268
  participatory_spaces:
238
269
  highlighted_proposals:
239
- proposals: Teklif
240
- see_all_proposals: Tüm teklifleri gör
270
+ see_all: Tümünü gör (%{count})
241
271
  proposals:
242
272
  actions:
243
273
  answer: Cevap
@@ -306,7 +336,9 @@ tr:
306
336
  update: Güncelleştirme
307
337
  form:
308
338
  attachment_legend: "(İsteğe bağlı) Bir ek ekleyin"
339
+ created_in_meeting: Bu teklif bir toplantıdan geliyor
309
340
  select_a_category: bir kategori seç
341
+ select_a_meeting: Bir toplantı seçin
310
342
  index:
311
343
  actions: Eylemler
312
344
  cancel: İptal etmek
@@ -363,6 +395,23 @@ tr:
363
395
  not_answered: Cevaplanmadı
364
396
  rejected: Reddedilen
365
397
  withdrawn: çekilmiş
398
+ application_helper:
399
+ filter_origin_values:
400
+ all: Herşey
401
+ citizens: Vatandaşlar
402
+ meetings: Toplantılar
403
+ official: Resmi
404
+ user_groups: Kullanıcı Grupları
405
+ filter_state_values:
406
+ accepted: Kabul edilmiş
407
+ all: Herşey
408
+ evaluating: değerlendirilmesi
409
+ except_rejected: Reddedilenlerin tümü hariç
410
+ rejected: Reddedilen
411
+ filter_type_values:
412
+ all: Herşey
413
+ amendments: Değişiklikler
414
+ proposals: Teklif
366
415
  collaborative_drafts:
367
416
  collaborative_draft:
368
417
  publish:
@@ -387,24 +436,24 @@ tr:
387
436
  no_similars_found: Aferin! Benzer ortak taslak bulunamadı
388
437
  title: Benzer işbirliği taslakları
389
438
  complete:
390
- attachment_legend: "(İsteğe bağlı) Bir ek ekleyin"
391
- select_a_category: Lütfen bir kategori seçin
392
439
  send: göndermek
393
440
  title: İşbirlikçi taslağınızı tamamlayın
394
441
  count:
395
442
  drafts_count:
396
- one: '%{count} işbirlikçi taslak'
443
+ one: "%{count} işbirlikçi taslak"
397
444
  other: "%{count} işbirlikçi taslak"
398
445
  create:
399
446
  error: Bu işbirlikçi taslakları oluştururken bir sorun oluştu
400
447
  success: İşbirlikçi taslak başarıyla oluşturuldu.
401
448
  edit:
449
+ attachment_legend: "(İsteğe bağlı) Bir ek ekleyin"
402
450
  back: Geri
403
451
  select_a_category: Lütfen bir kategori seçin
404
452
  send: göndermek
405
453
  title: Ortak taslak düzenle
406
454
  filters:
407
455
  all: Herşey
456
+ amendment: Değişiklikler
408
457
  category: Kategori
409
458
  category_prompt: Kategori İstemi
410
459
  open: Açık
@@ -506,6 +555,13 @@ tr:
506
555
  votes: oy
507
556
  new:
508
557
  limit_reached: Sınırı aştığınız için yeni teklifler oluşturamazsınız.
558
+ participatory_text_proposal:
559
+ alternative_title: Şu anda katılımcı metin yok
560
+ buttons:
561
+ amend: değiştirmek
562
+ comment: Yorum Yap
563
+ comments: Yorumlar
564
+ endorse: desteklemek
509
565
  proposal_endorsements:
510
566
  create:
511
567
  error: Teklifin onaylanması sırasında hatalar oluştu.
@@ -531,7 +587,7 @@ tr:
531
587
  title: Teklifinizi tamamlayın
532
588
  count:
533
589
  proposals_count:
534
- one: '%{count} teklif'
590
+ one: "%{count} teklif"
535
591
  other: "%{count} teklif"
536
592
  edit:
537
593
  attachment_legend: "(İsteğe bağlı) Bir ek ekleyin"
@@ -549,21 +605,15 @@ tr:
549
605
  endorsements_card_row:
550
606
  comments: Yorumlar
551
607
  filters:
552
- accepted: Kabul edilmiş
553
608
  activity: Aktivite
554
- all: Herşey
555
609
  category: Kategori
556
610
  category_prompt: bir kategori seç
557
- citizens: Vatandaşlar
558
- evaluating: değerlendirilmesi
559
- except_rejected: Reddedilenlerin tümü hariç
560
- official: Resmi
561
611
  origin: Menşei
562
- rejected: Reddedilen
563
612
  related_to: İle ilgili
564
613
  search: Arama
565
614
  state: Belirtmek, bildirmek
566
615
  voted: oy
616
+ amendment_type: tip
567
617
  filters_small_view:
568
618
  close_modal: Yakın kalıcı
569
619
  filter: filtre
@@ -586,6 +636,11 @@ tr:
586
636
  most_voted: En çok oylanan
587
637
  random: rasgele
588
638
  recent: Son
639
+ participatory_texts:
640
+ index:
641
+ document_index: Belge indeksi
642
+ view_index:
643
+ see_index: Endeksi görmek
589
644
  preview:
590
645
  modify: Teklifi değiştir
591
646
  proposal_edit_before_minutes:
@@ -597,6 +652,7 @@ tr:
597
652
  creation_date: 'Oluşturma: %{date}'
598
653
  view_proposal: Teklifi görüntüle
599
654
  show:
655
+ back_to: Geri
600
656
  edit_proposal: Teklifi düzenle
601
657
  endorsements_list: Onay Listesi
602
658
  hidden_endorsers_count:
@@ -608,9 +664,6 @@ tr:
608
664
  proposal_in_evaluation_reason: Bu teklif değerlendiriliyor
609
665
  proposal_rejected_reason: 'Bu teklif reddedildi çünkü:'
610
666
  report: Rapor
611
- sign_in: oturum aç
612
- sign_in_or_up: "Katılmak için %{in} veya %{up}"
613
- sign_up: kaydol
614
667
  withdraw_btn_hint: Herhangi bir destek almadığınız sürece fikrinizi değiştirirseniz teklifinizi geri çekebilirsiniz. Teklif silinmemiş, iptal edilen teklifler listesinde görünecektir.
615
668
  withdraw_confirmation: Bu teklifi geri çektiğinizden emin misiniz?
616
669
  withdraw_proposal: Teklifi geri çek
@@ -671,6 +724,7 @@ tr:
671
724
  title: Sürümler
672
725
  stats:
673
726
  back_to_collaborative_draft: İşbirliği taslağına geri dönün
727
+ back_to_proposal: Teklife geri dön
674
728
  number_of_versions: Sürümler
675
729
  show_all_versions: Tüm versiyonları göster
676
730
  version_author: Sürüm yazarı
@@ -107,39 +107,38 @@ uk:
107
107
  email_subject: У %{participatory_space_title} почалось надання підтримки пропозиціям
108
108
  notification_title: Тепер в <a href="%{participatory_space_url}">%{participatory_space_title}</a> відкрилась можливість <a href="%{resource_path}">підтримувати пропозиції</a>
109
109
  proposal_accepted:
110
- email_intro: 'Пропозиція "%{resource_title}" була прийнята. Ви можете прочитати відповідь на сторінці:'
111
- email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
112
- email_subject: Пропозиція, за якою ви стежите, була прийнята
113
- notification_title: Пропозицію <a href="%{resource_path}">%{resource_title}</a> було прийнято.
110
+ follower:
111
+ email_intro: 'Пропозиція "%{resource_title}" була прийнята. Ви можете прочитати відповідь на сторінці:'
112
+ email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
113
+ email_subject: Пропозиція, за якою ви стежите, була прийнята
114
+ notification_title: Пропозицію <a href="%{resource_path}">%{resource_title}</a> було прийнято.
114
115
  proposal_endorsed:
115
- email_intro: "%{endorser_name} %{endorser_nickname}, за яким ви стежите, щойно підтримав пропозицію, яка може бути цікавою для вас, подивіться її та зробіть свій внесок:"
116
116
  email_outro: Ви отримали це сповіщення, тому що ви стежите за %{endorser_nickname}. Ви можете відписатися від цих сповіщень, перейшовши за наведеним вище посиланням.
117
117
  email_subject: "%{endorser_nickname} підтримав нову пропозицію"
118
118
  notification_title: <a href="%{endorser_path}">%{endorser_name} %{endorser_nickname}</a> підтримав пропозицію <a href="%{resource_path}">%{resource_title}</a>.
119
119
  proposal_evaluating:
120
- email_intro: 'Пропозиція "%{resource_title}" зараз розглядається. Ви можете перевірити наявність відповіді на сторінці:'
121
- email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
122
- email_subject: Пропозиція, за якою ви стежите, зараз розглядається
123
- notification_title: Пропозиція <a href="%{resource_path}">%{resource_title}</a> розглядається.
120
+ follower:
121
+ email_intro: 'Пропозиція "%{resource_title}" зараз розглядається. Ви можете перевірити наявність відповіді на сторінці:'
122
+ email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
123
+ email_subject: Пропозиція, за якою ви стежите, зараз розглядається
124
+ notification_title: Пропозиція <a href="%{resource_path}">%{resource_title}</a> розглядається.
124
125
  proposal_mentioned:
125
126
  email_intro: Вашу пропозицію "%{mentioned_proposal_title}" було згадано в коментарях <a href="%{resource_path}">в цьому просторі</a>.
126
127
  email_subject: Вашу пропозицію "%{mentioned_proposal_title}" було згадано
127
128
  notification_title: Вашу пропозицію "%{mentioned_proposal_title}" було згадано в коментарях <a href="%{resource_path}">в цьому просторі</a>.
128
129
  proposal_published:
129
- email_intro: "%{author_name} %{author_nickname}, за яким ви стежите, оприлюднив нову пропозицію. Прочитайте її та зробіть свій внесок:"
130
130
  email_outro: Ви отримали це сповіщення, тому що ви стежите за %{author_nickname}. Ви можете відписатися від цих сповіщень, перейшовши за наведеним вище посиланням.
131
- email_subject: Нова пропозиція від %{author_nickname}
132
131
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> оприлюднив пропозицію <a href="%{resource_path}">%{resource_title}</a>.
133
132
  proposal_published_for_space:
134
133
  email_intro: До "%{participatory_space_title}", за яким ви стежите, була додана пропозиція "%{resource_title}".
135
134
  email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{participatory_space_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
136
- email_subject: До %{participatory_space_title} додано нову пропозицію
137
135
  notification_title: До %{participatory_space_title} було додано пропозицію <a href="%{resource_path}">%{resource_title}</a>
138
136
  proposal_rejected:
139
- email_intro: 'Пропозиція "%{resource_title}" була відхилена. Ви можете прочитати відповідь на сторінці:'
140
- email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
141
- email_subject: Пропозиція, за якою ви стежите, була відхилена
142
- notification_title: Пропозицію <a href="%{resource_path}">%{resource_title}</a> було відхилено.
137
+ follower:
138
+ email_intro: 'Пропозиція "%{resource_title}" була відхилена. Ви можете прочитати відповідь на сторінці:'
139
+ email_outro: Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.
140
+ email_subject: Пропозиція, за якою ви стежите, була відхилена
141
+ notification_title: Пропозицію <a href="%{resource_path}">%{resource_title}</a> було відхилено.
143
142
  proposal_update_category:
144
143
  email_intro: 'Адміністратор оновив категорію вашої пропозиції "%{resource_title}", перевірте її:'
145
144
  email_outro: Ви отримали це сповіщення, оскільки ви є автором цієї пропозиції.
@@ -154,10 +153,6 @@ uk:
154
153
  participatory_process_groups:
155
154
  highlighted_proposals:
156
155
  proposals: Пропозиції
157
- participatory_spaces:
158
- highlighted_proposals:
159
- proposals: Пропозиції
160
- see_all_proposals: Переглянути всі пропозиції
161
156
  proposals:
162
157
  actions:
163
158
  answer: Відповісти
@@ -242,10 +237,12 @@ uk:
242
237
  not_answered: Без відповідей
243
238
  rejected: Відхилено
244
239
  withdrawn: Відкликана
245
- collaborative_drafts:
246
- complete:
247
- attachment_legend: "(Необов'язково) Додати вкладений файл"
248
- select_a_category: Будь ласка, виберіть категорію
240
+ application_helper:
241
+ filter_origin_values:
242
+ citizens: Громадяни
243
+ official: Службове
244
+ filter_state_values:
245
+ except_rejected: Усі, окрім відхилених
249
246
  create:
250
247
  error: При спробі збереження цієї пропозиції сталися помилки.
251
248
  success: Пропозицію успішно створено. Збережено як чернетку.
@@ -307,16 +304,10 @@ uk:
307
304
  endorsements_card_row:
308
305
  comments: Коментарі
309
306
  filters:
310
- accepted: Прийнято
311
307
  activity: Діяльність
312
308
  category: Категорія
313
309
  category_prompt: Оберіть категорію
314
- citizens: Громадяни
315
- evaluating: Розглядається
316
- except_rejected: Усі, окрім відхилених
317
- official: Службове
318
310
  origin: Джерело
319
- rejected: Відхилено
320
311
  related_to: Пов'язане з
321
312
  search: Шукати
322
313
  state: Стан
@@ -359,18 +350,10 @@ uk:
359
350
  show:
360
351
  edit_proposal: Редагувати пропозицію
361
352
  endorsements_list: Перелік тих, хто підтримав
362
- hidden_endorsers_count:
363
- one: і ще 1 особа
364
- few: і ще %{count} людей
365
- many: і ще %{count} людей
366
- other: і ще %{count} людей
367
353
  proposal_accepted_reason: 'Ця пропозиція була прийнята, тому що:'
368
354
  proposal_in_evaluation_reason: Ця пропозиція розглядається
369
355
  proposal_rejected_reason: 'Ця пропозиція була відхилена, оскільки:'
370
356
  report: Поскаржитись
371
- sign_in: Увійдіть
372
- sign_in_or_up: "%{in} або %{up}, щоб взяти участь"
373
- sign_up: зареєструйтесь
374
357
  withdraw_btn_hint: Ви можете зняти свою пропозицію, якщо ви передумали, доки ви не отримали жодної підтримки. Пропозиція не видаляється, вона з'явиться у списку відкликаних пропозицій.
375
358
  withdraw_confirmation: Ви впевнені, що бажаєте зняти цю пропозицію?
376
359
  withdraw_proposal: Зняти пропозицію
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCreatedInMeeting < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_proposals_proposals, :created_in_meeting, :boolean, default: false
6
+ end
7
+ end
@@ -15,6 +15,8 @@ module Decidim
15
15
  autoload :CommentableCollaborativeDraft, "decidim/proposals/commentable_collaborative_draft"
16
16
  autoload :MarkdownToProposals, "decidim/proposals/markdown_to_proposals"
17
17
  autoload :ParticipatoryTextSection, "decidim/proposals/participatory_text_section"
18
+ autoload :DocToMarkdown, "decidim/proposals/doc_to_markdown"
19
+ autoload :OdtToMarkdown, "decidim/proposals/odt_to_markdown"
18
20
 
19
21
  include ActiveSupport::Configurable
20
22
 
@@ -35,6 +35,7 @@ Decidim.register_component(:proposals) do |component|
35
35
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
36
36
  settings.attribute :collaborative_drafts_enabled, type: :boolean, default: false
37
37
  settings.attribute :participatory_texts_enabled, type: :boolean, default: false
38
+ settings.attribute :amendments_enabled, type: :boolean, default: false
38
39
  settings.attribute :announcement, type: :text, translated: true, editor: true
39
40
  settings.attribute :new_proposal_help_text, type: :text, translated: true, editor: true
40
41
  settings.attribute :proposal_wizard_step_1_help_text, type: :text, translated: true, editor: true
@@ -53,6 +54,8 @@ Decidim.register_component(:proposals) do |component|
53
54
  settings.attribute :creation_enabled, type: :boolean
54
55
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
55
56
  settings.attribute :announcement, type: :text, translated: true, editor: true
57
+ settings.attribute :automatic_hashtags, type: :text, editor: false, required: false
58
+ settings.attribute :suggested_hashtags, type: :text, editor: false, required: false
56
59
  end
57
60
 
58
61
  component.register_resource(:proposal) do |resource|
@@ -60,6 +63,7 @@ Decidim.register_component(:proposals) do |component|
60
63
  resource.template = "decidim/proposals/proposals/linked_proposals"
61
64
  resource.card = "decidim/proposals/proposal"
62
65
  resource.actions = %w(endorse vote)
66
+ resource.searchable = true
63
67
  end
64
68
 
65
69
  component.register_resource(:collaborative_draft) do |resource|
@@ -98,6 +102,8 @@ Decidim.register_component(:proposals) do |component|
98
102
  .includes(:category, component: { participatory_space: :organization })
99
103
  end
100
104
 
105
+ exports.include_in_open_data = true
106
+
101
107
  exports.serializer Decidim::Proposals::ProposalSerializer
102
108
  end
103
109
 
@@ -194,6 +200,71 @@ Decidim.register_component(:proposals) do |component|
194
200
  end
195
201
  end
196
202
 
203
+ if proposal.state.nil?
204
+ email = "amendment-author-#{participatory_space.underscored_name}-#{participatory_space.id}-#{n}-amend#{n}@example.org"
205
+ name = "#{Faker::Name.name} #{participatory_space.id} #{n} amend#{n}"
206
+
207
+ author = Decidim::User.find_or_initialize_by(email: email)
208
+ author.update!(
209
+ password: "password1234",
210
+ password_confirmation: "password1234",
211
+ name: name,
212
+ nickname: Faker::Twitter.unique.screen_name,
213
+ organization: component.organization,
214
+ tos_agreement: "1",
215
+ confirmed_at: Time.current
216
+ )
217
+
218
+ group = Decidim::UserGroup.create!(
219
+ name: Faker::Name.name,
220
+ nickname: Faker::Twitter.unique.screen_name,
221
+ email: Faker::Internet.email,
222
+ extended_data: {
223
+ document_number: Faker::Code.isbn,
224
+ phone: Faker::PhoneNumber.phone_number,
225
+ verified_at: Time.current
226
+ },
227
+ decidim_organization_id: component.organization.id
228
+ )
229
+ group.confirm
230
+ Decidim::UserGroupMembership.create!(
231
+ user: author,
232
+ role: "creator",
233
+ user_group: group
234
+ )
235
+
236
+ params = {
237
+ component: component,
238
+ category: participatory_space.categories.sample,
239
+ scope: Faker::Boolean.boolean(0.5) ? global : scopes.sample,
240
+ title: "#{proposal.title} #{Faker::Lorem.sentence(1)}",
241
+ body: "#{proposal.body} #{Faker::Lorem.sentence(3)}",
242
+ state: nil,
243
+ answer: nil,
244
+ answered_at: Time.current,
245
+ published_at: Time.current
246
+ }
247
+
248
+ emendation = Decidim.traceability.perform_action!(
249
+ "create",
250
+ Decidim::Proposals::Proposal,
251
+ author,
252
+ visibility: "public-only"
253
+ ) do
254
+ emendation = Decidim::Proposals::Proposal.new(params)
255
+ emendation.add_coauthor(author, user_group: author.user_groups.first)
256
+ emendation.save!
257
+ emendation
258
+ end
259
+
260
+ Decidim::Amendment.create!(
261
+ amender: author,
262
+ amendable: proposal,
263
+ emendation: emendation,
264
+ state: "evaluating"
265
+ )
266
+ end
267
+
197
268
  (n % 3).times do |m|
198
269
  email = "vote-author-#{participatory_space.underscored_name}-#{participatory_space.id}-#{n}-#{m}@example.org"
199
270
  name = "#{Faker::Name.name} #{participatory_space.id} #{n} #{m}"
@@ -212,6 +283,7 @@ Decidim.register_component(:proposals) do |component|
212
283
  )
213
284
 
214
285
  Decidim::Proposals::ProposalVote.create!(proposal: proposal, author: author) unless proposal.answered? && proposal.rejected?
286
+ Decidim::Proposals::ProposalVote.create!(proposal: emendation, author: author) if emendation
215
287
  end
216
288
 
217
289
  unless proposal.answered? && proposal.rejected?
@@ -233,6 +305,7 @@ Decidim.register_component(:proposals) do |component|
233
305
  group = Decidim::UserGroup.create!(
234
306
  name: Faker::Name.name,
235
307
  nickname: Faker::Twitter.unique.screen_name,
308
+ email: Faker::Internet.email,
236
309
  extended_data: {
237
310
  document_number: Faker::Code.isbn,
238
311
  phone: Faker::PhoneNumber.phone_number,
@@ -240,6 +313,7 @@ Decidim.register_component(:proposals) do |component|
240
313
  },
241
314
  decidim_organization_id: component.organization.id
242
315
  )
316
+ group.confirm
243
317
  Decidim::UserGroupMembership.create!(
244
318
  user: author,
245
319
  role: "creator",