decidim-proposals 0.26.4 → 0.26.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
- data/app/commands/decidim/proposals/admin/create_proposal.rb +5 -2
- data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +2 -0
- data/app/helpers/decidim/proposals/application_helper.rb +14 -3
- data/app/helpers/decidim/proposals/proposals_helper.rb +1 -1
- data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +2 -2
- data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -1
- data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +2 -1
- data/config/locales/ar.yml +254 -0
- data/config/locales/ca.yml +6 -6
- data/config/locales/cs.yml +16 -0
- data/config/locales/es-MX.yml +1 -1
- data/config/locales/es-PY.yml +1 -1
- data/config/locales/es.yml +2 -2
- data/config/locales/eu.yml +248 -195
- data/config/locales/fa-IR.yml +1 -0
- data/config/locales/fi.yml +4 -4
- data/config/locales/fr-CA.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/hu.yml +1 -1
- data/config/locales/is-IS.yml +0 -1
- data/config/locales/ja.yml +29 -13
- data/config/locales/ka-GE.yml +1 -0
- data/config/locales/kaa.yml +1 -0
- data/config/locales/nl.yml +1 -1
- data/config/locales/pl.yml +17 -0
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +1 -1
- data/config/locales/ru.yml +0 -1
- data/config/locales/sv.yml +1 -0
- data/config/locales/uk.yml +0 -1
- data/config/locales/zh-TW.yml +966 -0
- data/lib/decidim/proposals/component.rb +7 -6
- data/lib/decidim/proposals/import/proposal_answer_creator.rb +31 -23
- data/lib/decidim/proposals/proposal_serializer.rb +9 -1
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +21 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4fce0c0b6f6522f1a2b6d43d805c27ab18608f7d0c45694847da7dd8ae27026
|
4
|
+
data.tar.gz: f89485ecc409eae9d065db73bff545f583228968b3ff75dee69ed964694dca73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8de8e50973686973c038f4a07de403c4a2d3eae6edd86031458a97cf1543ecd480f1d50e601ae4770a012960656c5670f10d99a588fd374f3964c7fd045d32b6
|
7
|
+
data.tar.gz: b1ef8c8a2c18d61d04fedf861ae5535425bb97215c0743906e40fd220f67c90cdca049be1b4733316caa579130b027007e3540c3e1583ddb45e7b8a53835e1cc
|
@@ -40,9 +40,10 @@ module Decidim
|
|
40
40
|
create_attachment if process_attachments?
|
41
41
|
create_gallery if process_gallery?
|
42
42
|
link_author_meeeting if form.created_in_meeting?
|
43
|
-
send_notification
|
44
43
|
end
|
45
44
|
|
45
|
+
send_notification
|
46
|
+
|
46
47
|
broadcast(:ok, proposal)
|
47
48
|
end
|
48
49
|
|
@@ -81,11 +82,13 @@ module Decidim
|
|
81
82
|
end
|
82
83
|
|
83
84
|
def send_notification
|
85
|
+
return unless proposal
|
86
|
+
|
84
87
|
Decidim::EventsManager.publish(
|
85
88
|
event: "decidim.events.proposals.proposal_published",
|
86
89
|
event_class: Decidim::Proposals::PublishProposalEvent,
|
87
90
|
resource: proposal,
|
88
|
-
followers:
|
91
|
+
followers: proposal.participatory_space.followers,
|
89
92
|
extra: {
|
90
93
|
participatory_space: true
|
91
94
|
}
|
@@ -96,13 +96,24 @@ module Decidim
|
|
96
96
|
# frontend, the proposal body is considered as safe content; that's unless
|
97
97
|
# the proposal comes from a collaborative_draft or a participatory_text.
|
98
98
|
def safe_content?
|
99
|
-
rich_text_editor_in_public_views? && not_from_collaborative_draft(@proposal) ||
|
100
|
-
|
99
|
+
(rich_text_editor_in_public_views? && not_from_collaborative_draft(@proposal)) ||
|
100
|
+
safe_content_admin?
|
101
|
+
end
|
102
|
+
|
103
|
+
# For admin entered content, the proposal body can contain certain extra
|
104
|
+
# tags, such as iframes.
|
105
|
+
def safe_content_admin?
|
106
|
+
(@proposal.official? || @proposal.official_meeting?) && not_from_participatory_text(@proposal)
|
101
107
|
end
|
102
108
|
|
103
109
|
# If the content is safe, HTML tags are sanitized, otherwise, they are stripped.
|
104
110
|
def render_proposal_body(proposal)
|
105
|
-
|
111
|
+
sanitized = render_sanitized_content(proposal, :body)
|
112
|
+
if safe_content?
|
113
|
+
Decidim::ContentProcessor.render_without_format(sanitized).html_safe
|
114
|
+
else
|
115
|
+
Decidim::ContentProcessor.render(sanitized, "div")
|
116
|
+
end
|
106
117
|
end
|
107
118
|
|
108
119
|
# Returns :text_area or :editor based on the organization' settings.
|
@@ -7,7 +7,7 @@ module Decidim
|
|
7
7
|
def proposal_reason_callout_announcement
|
8
8
|
{
|
9
9
|
title: proposal_reason_callout_title,
|
10
|
-
body:
|
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,
|
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,
|
10
|
+
<%= form.text_area :body, required: true, rows: 5 %>
|
11
11
|
</div>
|
12
12
|
</div>
|
13
13
|
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
</div>
|
6
6
|
|
7
7
|
<div class="field hashtags__container">
|
8
|
-
<%= form
|
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
|
-
<%=
|
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 %>
|