decidim-proposals 0.27.2 → 0.27.3

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
  3. data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +2 -0
  4. data/app/helpers/decidim/proposals/application_helper.rb +7 -1
  5. data/app/helpers/decidim/proposals/proposals_helper.rb +1 -1
  6. data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +2 -2
  7. data/app/views/decidim/proposals/admin/participatory_texts/new_import.html.erb +1 -1
  8. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -1
  9. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
  10. data/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +2 -1
  11. data/config/locales/ar.yml +265 -0
  12. data/config/locales/ca.yml +2 -2
  13. data/config/locales/es-MX.yml +1 -1
  14. data/config/locales/es-PY.yml +1 -1
  15. data/config/locales/es.yml +2 -2
  16. data/config/locales/eu.yml +108 -96
  17. data/config/locales/fa-IR.yml +1 -0
  18. data/config/locales/fi.yml +4 -4
  19. data/config/locales/hu.yml +1 -1
  20. data/config/locales/is-IS.yml +0 -1
  21. data/config/locales/ja.yml +13 -13
  22. data/config/locales/kaa.yml +1 -0
  23. data/config/locales/nl.yml +1 -1
  24. data/config/locales/pt-BR.yml +1 -1
  25. data/config/locales/pt.yml +1 -1
  26. data/config/locales/ru.yml +0 -1
  27. data/config/locales/uk.yml +0 -1
  28. data/config/locales/zh-TW.yml +969 -0
  29. data/lib/decidim/proposals/component.rb +7 -6
  30. data/lib/decidim/proposals/import/proposal_answer_creator.rb +10 -4
  31. data/lib/decidim/proposals/proposal_serializer.rb +9 -1
  32. data/lib/decidim/proposals/version.rb +1 -1
  33. metadata +21 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2940b19c42d51731768e53f2f1b7e7f3397894c98bbf882b8fe467ce00660669
4
- data.tar.gz: 3bff962915003a9c34ef6b4aa9708c3c20542c480dec991ada691727e112db2c
3
+ metadata.gz: 4935cb826afe1af3dccd4c4c1875441bbaa54be6b95d8c9af4f2a52af4e94865
4
+ data.tar.gz: 53a2e218497c07e1fc0387d161c4546cc701efd48b8e467d5d3dd570395ed311
5
5
  SHA512:
6
- metadata.gz: 97bd0c8a20959ef3eaf6d74f940bbfae11ac735ab72d4af493dbb5124b5480a1a72802d550b96abd0dc471f82589ee06a10ab1f90462e070fdedd967314c211e
7
- data.tar.gz: 42f5d73b718b4444a025b333cae6746b925aaa7c22b54fa2626f6c987a50b02062082232c9b8937e74fbcce2c321dda4fa355c81e0c1e86add8dceb87bd99f1a
6
+ metadata.gz: c5ba80edc1b162bd378baea6188082d008660341b2db13b624111e70064982bb0e71a1421dcebaff7ce52be1bcb8e51564d308bce2c93440a553422a6ae18160
7
+ data.tar.gz: b970f890aeefd7fc75ad450ca5f6e7503c2b321699713c173ecc7f9cca0aa273dfb60f4dfdcb48fbac8094a5e25fd32d3202d4e209f4f5b19c87518b9d7739c4
@@ -23,7 +23,7 @@ module Decidim
23
23
  end
24
24
 
25
25
  def description
26
- decidim_sanitize_editor(present(model).body.truncate(100, separator: /\s/))
26
+ decidim_sanitize_editor(present(model).body.truncate(100, separator: /\s/), strip_tags: true)
27
27
  end
28
28
 
29
29
  def has_badge?
@@ -21,6 +21,8 @@ module Decidim
21
21
  #
22
22
  # Returns nothing.
23
23
  def call
24
+ return broadcast(:invalid) if proposal.blank?
25
+
24
26
  if proposal.published_state? && state_changed?
25
27
  transaction do
26
28
  increment_score
@@ -95,7 +95,13 @@ module Decidim
95
95
  # the proposal comes from a collaborative_draft or a participatory_text.
96
96
  def safe_content?
97
97
  (rich_text_editor_in_public_views? && not_from_collaborative_draft(@proposal)) ||
98
- ((@proposal.official? || @proposal.official_meeting?) && not_from_participatory_text(@proposal))
98
+ safe_content_admin?
99
+ end
100
+
101
+ # For admin entered content, the proposal body can contain certain extra
102
+ # tags, such as iframes.
103
+ def safe_content_admin?
104
+ (@proposal.official? || @proposal.official_meeting?) && not_from_participatory_text(@proposal)
99
105
  end
100
106
 
101
107
  # If the content is safe, HTML tags are sanitized, otherwise, they are stripped.
@@ -7,7 +7,7 @@ module Decidim
7
7
  def proposal_reason_callout_announcement
8
8
  {
9
9
  title: proposal_reason_callout_title,
10
- body: decidim_sanitize_editor(translated_attribute(@proposal.answer))
10
+ body: decidim_sanitize_editor_admin(translated_attribute(@proposal.answer))
11
11
  }
12
12
  end
13
13
 
@@ -1,13 +1,13 @@
1
1
  <div class="grid-x">
2
2
  <div class="cell">
3
3
  <%= form.hidden_field :position, class: "position" %>
4
- <%= form.text_field :title, optional: false %>
4
+ <%= form.text_field :title, required: true %>
5
5
  </div>
6
6
  </div>
7
7
  <% if proposal.article? %>
8
8
  <div class="grid-x">
9
9
  <div class="cell">
10
- <%= form.text_area :body, optional: false, rows: 5 %>
10
+ <%= form.text_area :body, required: true, rows: 5 %>
11
11
  </div>
12
12
  </div>
13
13
  <% end %>
@@ -23,7 +23,7 @@
23
23
  <fieldset>
24
24
  <legend> <%= t(".document_legend", valid_mime_types: mime_types_with_document_examples).html_safe %> </legend>
25
25
  <div class="row column">
26
- <%= form.upload :document, optional: false %>
26
+ <%= form.upload :document, required: true %>
27
27
  </div>
28
28
  </fieldset>
29
29
  </div>
@@ -5,7 +5,7 @@
5
5
  </div>
6
6
 
7
7
  <div class="field hashtags__container">
8
- <%= form.text_area :body, rows: 10, class: "js-hashtags", value: form_presenter.body(extras: false).strip %>
8
+ <%= text_editor_for_proposal_body(form) %>
9
9
  </div>
10
10
 
11
11
  <% if @form.component_automatic_hashtags.any? %>
@@ -33,7 +33,7 @@
33
33
  <div class="section">
34
34
  <%== cell("decidim/proposals/collaborative_draft_m", @collaborative_draft, full_badge: true).badge %>
35
35
 
36
- <%= simple_format(present(@collaborative_draft).body(links: true, strip_tags: true), nil, sanitize: false) %>
36
+ <%= decidim_sanitize_editor present(@collaborative_draft).body(links: true) %>
37
37
 
38
38
  <% if component_settings.geocoding_enabled? %>
39
39
  <%= render partial: "decidim/shared/static_map", locals: { icon_name: "proposals", geolocalizable: @collaborative_draft } %>
@@ -22,7 +22,8 @@
22
22
  <% end %>
23
23
  </div>
24
24
  </div>
25
- <% if !current_settings.try(:votes_hidden?) && !proposal.component.current_settings.votes_hidden? %>
25
+ <% if !current_settings.try(:votes_hidden?) && !proposal.component.current_settings.votes_hidden? &&
26
+ proposal.component.current_settings.votes_enabled? %>
26
27
  <div class="card--list__data">
27
28
  <span class="card--list__data__number">
28
29
  <%= proposal.votes.size %>