decidim-debates 0.26.10 → 0.27.0.rc1
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.
- checksums.yaml +4 -4
- data/app/cells/decidim/debates/debate_m_cell.rb +1 -1
- data/app/commands/decidim/debates/admin/close_debate.rb +1 -1
- data/app/commands/decidim/debates/admin/create_debate.rb +1 -1
- data/app/commands/decidim/debates/admin/update_debate.rb +1 -1
- data/app/commands/decidim/debates/close_debate.rb +1 -1
- data/app/commands/decidim/debates/create_debate.rb +1 -1
- data/app/commands/decidim/debates/update_debate.rb +1 -1
- data/app/controllers/decidim/debates/admin/debate_closes_controller.rb +0 -1
- data/app/controllers/decidim/debates/debates_controller.rb +8 -18
- data/app/controllers/decidim/debates/orderable.rb +3 -3
- data/app/forms/decidim/debates/admin/close_debate_form.rb +4 -2
- data/app/forms/decidim/debates/admin/debate_form.rb +2 -3
- data/app/forms/decidim/debates/close_debate_form.rb +4 -2
- data/app/forms/decidim/debates/debate_form.rb +6 -5
- data/app/helpers/decidim/debates/application_helper.rb +5 -14
- data/app/models/decidim/debates/debate.rb +16 -2
- data/app/presenters/decidim/debates/debate_presenter.rb +8 -3
- data/app/serializers/decidim/debates/{data_portability_debate_serializer.rb → download_your_data_debate_serializer.rb} +2 -2
- data/app/services/decidim/debates/debate_search.rb +13 -24
- data/app/views/decidim/debates/admin/debates/edit.html.erb +0 -1
- data/app/views/decidim/debates/admin/debates/index.html.erb +0 -1
- data/app/views/decidim/debates/admin/debates/new.html.erb +0 -1
- data/app/views/decidim/debates/debates/_filters.html.erb +5 -5
- data/app/views/decidim/debates/debates/show.html.erb +2 -2
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +2 -2
- data/config/locales/bg.yml +1 -2
- data/config/locales/ca.yml +3 -3
- data/config/locales/cs.yml +3 -3
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +2 -6
- data/config/locales/el.yml +1 -88
- data/config/locales/en.yml +1 -2
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +2 -2
- data/config/locales/es-PY.yml +2 -2
- data/config/locales/es.yml +2 -2
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +53 -56
- data/config/locales/fi-plain.yml +3 -3
- data/config/locales/fi.yml +3 -3
- data/config/locales/fr-CA.yml +3 -3
- data/config/locales/fr.yml +2 -2
- data/config/locales/ga-IE.yml +1 -1
- data/config/locales/gl.yml +2 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +2 -66
- data/config/locales/id-ID.yml +1 -1
- data/config/locales/is-IS.yml +5 -2
- data/config/locales/it.yml +4 -3
- data/config/locales/ja.yml +3 -3
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +1 -5
- data/config/locales/lt.yml +1 -244
- data/config/locales/lv.yml +1 -1
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +3 -3
- data/config/locales/no.yml +3 -2
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +2 -5
- data/config/locales/pt-BR.yml +2 -4
- data/config/locales/pt.yml +2 -2
- data/config/locales/ro-RO.yml +2 -2
- data/config/locales/ru.yml +1 -1
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +1 -1
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +2 -2
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +3 -3
- data/config/locales/uk.yml +1 -1
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +1 -1
- data/config/locales/zh-TW.yml +1 -238
- data/db/migrate/20181003081235_fix_user_groups_ids_on_debates.rb +2 -13
- data/db/migrate/20181016132850_add_organization_as_author_to_debates.rb +3 -0
- data/lib/decidim/debates/test/factories.rb +1 -1
- data/lib/decidim/debates/version.rb +1 -1
- metadata +15 -24
- data/config/environment.rb +0 -3
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/kaa.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
- data/config/locales/sq-AL.yml +0 -1
- data/config/locales/th-TH.yml +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 967f139c27f1e4c684f439cdb3bfad76159b6bf08bb78f9d71ac775bda7e1cf4
|
|
4
|
+
data.tar.gz: 4acd40bffd8654d6acde8802f76da818ffbbffdca7eb6bb14985e1e5de104548
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d6dfd083edcad26a2766e9457e5150df312afcdc04476a6eec1b8daa3d4571850cc8992c81da28087788a6bfd644257701f09da1db582eca771d146d39ba50c1
|
|
7
|
+
data.tar.gz: 873bdd3aa7b18458e59491838daf46b6a74dc80c91ecfcd467b3effa747fc667b87702455a5594ab9b26c2e3241f2d02a82d9c0729cdef3cbefd4001511a78f0
|
|
@@ -4,7 +4,7 @@ module Decidim
|
|
|
4
4
|
module Debates
|
|
5
5
|
module Admin
|
|
6
6
|
# A command with all the business logic when an admin closes a debate.
|
|
7
|
-
class CloseDebate <
|
|
7
|
+
class CloseDebate < Decidim::Command
|
|
8
8
|
# Public: Initializes the command.
|
|
9
9
|
#
|
|
10
10
|
# form - A form object with the params.
|
|
@@ -5,7 +5,7 @@ module Decidim
|
|
|
5
5
|
module Admin
|
|
6
6
|
# This command is executed when the user changes a Debate from the admin
|
|
7
7
|
# panel.
|
|
8
|
-
class UpdateDebate <
|
|
8
|
+
class UpdateDebate < Decidim::Command
|
|
9
9
|
# Initializes a UpdateDebate Command.
|
|
10
10
|
#
|
|
11
11
|
# form - The form from which to get the data.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Debates
|
|
5
5
|
# A command with all the business logic when a user updates a debate.
|
|
6
|
-
class UpdateDebate <
|
|
6
|
+
class UpdateDebate < Decidim::Command
|
|
7
7
|
# Public: Initializes the command.
|
|
8
8
|
#
|
|
9
9
|
# form - A form object with the params.
|
|
@@ -53,7 +53,6 @@ module Decidim
|
|
|
53
53
|
enforce_permission_to :edit, :debate, debate: debate
|
|
54
54
|
|
|
55
55
|
@form = form(DebateForm).from_params(params)
|
|
56
|
-
@form.debate = debate
|
|
57
56
|
|
|
58
57
|
UpdateDebate.call(@form) do
|
|
59
58
|
on(:ok) do |debate|
|
|
@@ -72,7 +71,6 @@ module Decidim
|
|
|
72
71
|
enforce_permission_to :close, :debate, debate: debate
|
|
73
72
|
|
|
74
73
|
@form = form(CloseDebateForm).from_params(params)
|
|
75
|
-
@form.debate = debate
|
|
76
74
|
|
|
77
75
|
CloseDebate.call(@form) do
|
|
78
76
|
on(:ok) do |debate|
|
|
@@ -98,7 +96,7 @@ module Decidim
|
|
|
98
96
|
end
|
|
99
97
|
|
|
100
98
|
def debates
|
|
101
|
-
@debates ||= reorder(search.
|
|
99
|
+
@debates ||= reorder(search.result)
|
|
102
100
|
end
|
|
103
101
|
|
|
104
102
|
def debate
|
|
@@ -109,26 +107,18 @@ module Decidim
|
|
|
109
107
|
@close_debate_form ||= form(CloseDebateForm).from_model(debate)
|
|
110
108
|
end
|
|
111
109
|
|
|
112
|
-
def
|
|
113
|
-
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def default_search_params
|
|
117
|
-
{
|
|
118
|
-
page: params[:page],
|
|
119
|
-
per_page: 12
|
|
120
|
-
}
|
|
110
|
+
def search_collection
|
|
111
|
+
Debate.where(component: current_component).not_hidden
|
|
121
112
|
end
|
|
122
113
|
|
|
123
114
|
def default_filter_params
|
|
124
115
|
{
|
|
125
|
-
|
|
126
|
-
|
|
116
|
+
search_text_cont: "",
|
|
117
|
+
with_any_origin: %w(official participants user_group),
|
|
127
118
|
activity: "all",
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
state: %w(open closed)
|
|
119
|
+
with_any_category: default_filter_category_params,
|
|
120
|
+
with_any_scope: default_filter_scope_params,
|
|
121
|
+
with_any_state: %w(open closed)
|
|
132
122
|
}
|
|
133
123
|
end
|
|
134
124
|
end
|
|
@@ -24,11 +24,11 @@ module Decidim
|
|
|
24
24
|
def reorder(debates)
|
|
25
25
|
case order
|
|
26
26
|
when "recent"
|
|
27
|
-
debates.order(
|
|
27
|
+
debates.order(created_at: :desc)
|
|
28
28
|
when "commented"
|
|
29
|
-
debates.order(
|
|
29
|
+
debates.order(comments_count: :desc)
|
|
30
30
|
when "updated"
|
|
31
|
-
debates.order(
|
|
31
|
+
debates.order(updated_at: :desc)
|
|
32
32
|
when "random"
|
|
33
33
|
debates.order_randomly(random_seed)
|
|
34
34
|
else
|
|
@@ -14,8 +14,6 @@ module Decidim
|
|
|
14
14
|
validates translated_attribute, length: { minimum: 10, maximum: 10_000 }, if: ->(record) { record.default_locale?(locale) }
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
attribute :debate, Debate
|
|
18
|
-
|
|
19
17
|
validates :debate, presence: true
|
|
20
18
|
validate :user_can_close_debate
|
|
21
19
|
|
|
@@ -23,6 +21,10 @@ module Decidim
|
|
|
23
21
|
debate&.closed_at || Time.current
|
|
24
22
|
end
|
|
25
23
|
|
|
24
|
+
def debate
|
|
25
|
+
@debate ||= Debate.find_by(id: id)
|
|
26
|
+
end
|
|
27
|
+
|
|
26
28
|
private
|
|
27
29
|
|
|
28
30
|
def user_can_close_debate
|
|
@@ -29,7 +29,6 @@ module Decidim
|
|
|
29
29
|
validates :scope_id, scope_belongs_to_component: true, if: ->(form) { form.scope_id.present? }
|
|
30
30
|
|
|
31
31
|
def map_model(model)
|
|
32
|
-
self.finite = model.start_time.present? && model.end_time.present?
|
|
33
32
|
self.decidim_category_id = model.categorization.decidim_category_id if model.categorization
|
|
34
33
|
presenter = DebatePresenter.new(model)
|
|
35
34
|
|
|
@@ -47,14 +46,14 @@ module Decidim
|
|
|
47
46
|
#
|
|
48
47
|
# Returns a Decidim::Scope
|
|
49
48
|
def scope
|
|
50
|
-
@scope ||= @scope_id ? current_component.scopes.find_by(id: @scope_id) : current_component.scope
|
|
49
|
+
@scope ||= @attributes["scope_id"].value ? current_component.scopes.find_by(id: @attributes["scope_id"].value) : current_component.scope
|
|
51
50
|
end
|
|
52
51
|
|
|
53
52
|
# Scope identifier
|
|
54
53
|
#
|
|
55
54
|
# Returns the scope identifier related to the meeting
|
|
56
55
|
def scope_id
|
|
57
|
-
|
|
56
|
+
super || scope&.id
|
|
58
57
|
end
|
|
59
58
|
|
|
60
59
|
private
|
|
@@ -7,7 +7,6 @@ module Decidim
|
|
|
7
7
|
mimic :debate
|
|
8
8
|
|
|
9
9
|
attribute :conclusions, Decidim::Attributes::CleanString
|
|
10
|
-
attribute :debate, Debate
|
|
11
10
|
|
|
12
11
|
validates :debate, presence: true
|
|
13
12
|
validates :conclusions, presence: true, length: { minimum: 10, maximum: 10_000 }
|
|
@@ -19,7 +18,6 @@ module Decidim
|
|
|
19
18
|
|
|
20
19
|
def map_model(debate)
|
|
21
20
|
super
|
|
22
|
-
self.debate = debate
|
|
23
21
|
|
|
24
22
|
# Debates can be translated in different languages from the admin but
|
|
25
23
|
# the public form doesn't allow it. When a user closes a debate the
|
|
@@ -27,6 +25,10 @@ module Decidim
|
|
|
27
25
|
self.conclusions = debate.conclusions&.values&.first
|
|
28
26
|
end
|
|
29
27
|
|
|
28
|
+
def debate
|
|
29
|
+
@debate ||= Debate.find_by(id: id)
|
|
30
|
+
end
|
|
31
|
+
|
|
30
32
|
private
|
|
31
33
|
|
|
32
34
|
def user_can_close_debate
|
|
@@ -11,7 +11,6 @@ module Decidim
|
|
|
11
11
|
attribute :category_id, Integer
|
|
12
12
|
attribute :scope_id, Integer
|
|
13
13
|
attribute :user_group_id, Integer
|
|
14
|
-
attribute :debate, Debate
|
|
15
14
|
|
|
16
15
|
validates :title, presence: true
|
|
17
16
|
validates :description, presence: true
|
|
@@ -22,8 +21,6 @@ module Decidim
|
|
|
22
21
|
|
|
23
22
|
def map_model(debate)
|
|
24
23
|
super
|
|
25
|
-
self.debate = debate
|
|
26
|
-
|
|
27
24
|
# Debates can be translated in different languages from the admin but
|
|
28
25
|
# the public form doesn't allow it. When a user creates a debate the
|
|
29
26
|
# user locale is taken as the text locale.
|
|
@@ -45,14 +42,18 @@ module Decidim
|
|
|
45
42
|
#
|
|
46
43
|
# Returns a Decidim::Scope
|
|
47
44
|
def scope
|
|
48
|
-
@scope ||= @scope_id ? current_component.scopes.find_by(id: @scope_id) : current_component.scope
|
|
45
|
+
@scope ||= @attributes["scope_id"].value ? current_component.scopes.find_by(id: @attributes["scope_id"].value) : current_component.scope
|
|
49
46
|
end
|
|
50
47
|
|
|
51
48
|
# Scope identifier
|
|
52
49
|
#
|
|
53
50
|
# Returns the scope identifier related to the debate
|
|
54
51
|
def scope_id
|
|
55
|
-
|
|
52
|
+
super || scope&.id
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def debate
|
|
56
|
+
@debate ||= Debate.find_by(id: id)
|
|
56
57
|
end
|
|
57
58
|
|
|
58
59
|
private
|
|
@@ -15,23 +15,14 @@ module Decidim
|
|
|
15
15
|
# If the debate is official or the rich text editor is enabled on the
|
|
16
16
|
# frontend, the debate description is considered as safe content.
|
|
17
17
|
def safe_content?
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# For admin entered content, the debate body can contain certain extra
|
|
22
|
-
# tags, such as iframes.
|
|
23
|
-
def safe_content_admin?
|
|
24
|
-
debate&.official?
|
|
18
|
+
debate&.official? || rich_text_editor_in_public_views?
|
|
25
19
|
end
|
|
26
20
|
|
|
27
21
|
# If the content is safe, HTML tags are sanitized, otherwise, they are stripped.
|
|
28
22
|
def render_debate_description(debate)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
else
|
|
33
|
-
Decidim::ContentProcessor.render(sanitized, "div")
|
|
34
|
-
end
|
|
23
|
+
description = present(debate).description(strip_tags: !safe_content?, links: true)
|
|
24
|
+
|
|
25
|
+
safe_content? ? decidim_sanitize_editor(description) : simple_format(description)
|
|
35
26
|
end
|
|
36
27
|
|
|
37
28
|
# Returns :text_area or :editor based on current_component settings.
|
|
@@ -44,7 +35,7 @@ module Decidim
|
|
|
44
35
|
def filter_origin_values
|
|
45
36
|
origin_values = []
|
|
46
37
|
origin_values << TreePoint.new("official", t("decidim.debates.debates.filters.official"))
|
|
47
|
-
origin_values << TreePoint.new("
|
|
38
|
+
origin_values << TreePoint.new("participants", t("decidim.debates.debates.filters.participants"))
|
|
48
39
|
origin_values << TreePoint.new("user_group", t("decidim.debates.debates.filters.user_groups")) if current_organization.user_groups_enabled?
|
|
49
40
|
|
|
50
41
|
TreeNode.new(TreePoint.new("", t("decidim.debates.debates.filters.all")), origin_values)
|
|
@@ -18,13 +18,14 @@ module Decidim
|
|
|
18
18
|
include Decidim::HasReference
|
|
19
19
|
include Decidim::Traceable
|
|
20
20
|
include Decidim::Loggable
|
|
21
|
-
include Decidim::
|
|
21
|
+
include Decidim::DownloadYourData
|
|
22
22
|
include Decidim::NewsletterParticipant
|
|
23
23
|
include Decidim::Searchable
|
|
24
24
|
include Decidim::TranslatableResource
|
|
25
25
|
include Decidim::TranslatableAttributes
|
|
26
26
|
include Decidim::Endorsable
|
|
27
27
|
include Decidim::Randomable
|
|
28
|
+
include Decidim::FilterableResource
|
|
28
29
|
|
|
29
30
|
belongs_to :last_comment_by, polymorphic: true, foreign_type: "last_comment_by_type", optional: true
|
|
30
31
|
component_manifest_name "debates"
|
|
@@ -53,6 +54,7 @@ module Decidim
|
|
|
53
54
|
}
|
|
54
55
|
)
|
|
55
56
|
}
|
|
57
|
+
scope_search_multi :with_any_state, [:open, :closed]
|
|
56
58
|
|
|
57
59
|
def self.log_presenter_class_for(_log)
|
|
58
60
|
Decidim::Debates::AdminLog::DebatePresenter
|
|
@@ -141,7 +143,7 @@ module Decidim
|
|
|
141
143
|
end
|
|
142
144
|
|
|
143
145
|
def self.export_serializer
|
|
144
|
-
Decidim::Debates::
|
|
146
|
+
Decidim::Debates::DownloadYourDataDebateSerializer
|
|
145
147
|
end
|
|
146
148
|
|
|
147
149
|
def self.newsletter_participant_ids(component)
|
|
@@ -193,6 +195,18 @@ module Decidim
|
|
|
193
195
|
end
|
|
194
196
|
# rubocop:enable Rails/SkipsModelValidations
|
|
195
197
|
|
|
198
|
+
# Create i18n ransackers for :title and :description.
|
|
199
|
+
# Create the :search_text ransacker alias for searching from both of these.
|
|
200
|
+
ransacker_i18n_multi :search_text, [:title, :description]
|
|
201
|
+
|
|
202
|
+
def self.ransackable_scopes(_auth_object = nil)
|
|
203
|
+
[:with_any_state, :with_any_origin, :with_any_category, :with_any_scope]
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
def self.ransack(params = {}, options = {})
|
|
207
|
+
DebateSearch.new(self, params, options)
|
|
208
|
+
end
|
|
209
|
+
|
|
196
210
|
private
|
|
197
211
|
|
|
198
212
|
def comments_blocked?
|
|
@@ -8,7 +8,6 @@ module Decidim
|
|
|
8
8
|
class DebatePresenter < Decidim::ResourcePresenter
|
|
9
9
|
include Decidim::TranslationsHelper
|
|
10
10
|
include Decidim::ResourceHelper
|
|
11
|
-
include Decidim::SanitizeHelper
|
|
12
11
|
include ActionView::Helpers::DateHelper
|
|
13
12
|
|
|
14
13
|
def debate
|
|
@@ -31,10 +30,16 @@ module Decidim
|
|
|
31
30
|
super debate.title, links, html_escape, all_locales
|
|
32
31
|
end
|
|
33
32
|
|
|
34
|
-
def description(strip_tags: false,
|
|
33
|
+
def description(strip_tags: false, links: false, all_locales: false)
|
|
35
34
|
return unless debate
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
handle_locales(debate.description, all_locales) do |content|
|
|
37
|
+
content = strip_tags(content) if strip_tags
|
|
38
|
+
renderer = Decidim::ContentRenderers::HashtagRenderer.new(content)
|
|
39
|
+
content = renderer.render(links: links).html_safe
|
|
40
|
+
content = Decidim::ContentRenderers::LinkRenderer.new(content).render if links
|
|
41
|
+
content
|
|
42
|
+
end
|
|
38
43
|
end
|
|
39
44
|
|
|
40
45
|
def last_comment_at
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Debates
|
|
5
|
-
class
|
|
6
|
-
# Serializes a Debate for data
|
|
5
|
+
class DownloadYourDataDebateSerializer < Decidim::Exporters::Serializer
|
|
6
|
+
# Serializes a Debate for download your data
|
|
7
7
|
def serialize
|
|
8
8
|
{
|
|
9
9
|
id: resource.id,
|
|
@@ -2,35 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Debates
|
|
5
|
-
# This
|
|
6
|
-
#
|
|
7
|
-
# find the debates.
|
|
5
|
+
# This service scopes the debate searches with parameters that cannot be
|
|
6
|
+
# passed from the user interface.
|
|
8
7
|
class DebateSearch < ResourceSearch
|
|
9
|
-
|
|
8
|
+
attr_reader :activity
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# page - The page number to paginate the results.
|
|
14
|
-
# per_page - The number of debates to return per page.
|
|
15
|
-
def initialize(options = {})
|
|
16
|
-
super(Debate.not_hidden, options)
|
|
17
|
-
end
|
|
10
|
+
def build(params)
|
|
11
|
+
@activity = params[:activity]
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
else # Assume 'all'
|
|
27
|
-
query
|
|
13
|
+
if params[:activity] && user
|
|
14
|
+
case params[:activity]
|
|
15
|
+
when "commented"
|
|
16
|
+
add_scope(:commented_by, user)
|
|
17
|
+
when "my_debates"
|
|
18
|
+
add_scope(:authored_by, user)
|
|
19
|
+
end
|
|
28
20
|
end
|
|
29
|
-
end
|
|
30
21
|
|
|
31
|
-
|
|
32
|
-
def search_state
|
|
33
|
-
apply_scopes(%w(open closed), state)
|
|
22
|
+
super
|
|
34
23
|
end
|
|
35
24
|
end
|
|
36
25
|
end
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="filters__section">
|
|
5
5
|
<div class="filters__search">
|
|
6
6
|
<div class="input-group">
|
|
7
|
-
<%= form.search_field :
|
|
7
|
+
<%= form.search_field :search_text_cont, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
|
|
8
8
|
<div class="input-group-button">
|
|
9
9
|
<button type="submit" class="button" aria-controls="debates">
|
|
10
10
|
<%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
|
-
<%= form.check_boxes_tree :
|
|
17
|
+
<%= form.check_boxes_tree :with_any_state, filter_debates_state_values, legend_title: t(".state"), "aria-controls": "debates" %>
|
|
18
18
|
|
|
19
19
|
<% if current_component.has_subscopes? %>
|
|
20
|
-
<%= form.check_boxes_tree :
|
|
20
|
+
<%= form.check_boxes_tree :with_any_scope, filter_scopes_values, legend_title: t(".scope"), "aria-controls": "debates" %>
|
|
21
21
|
<% end %>
|
|
22
22
|
|
|
23
23
|
<% if current_participatory_space.categories.any? %>
|
|
24
|
-
<%= form.check_boxes_tree :
|
|
24
|
+
<%= form.check_boxes_tree :with_any_category, filter_categories_values, legend_title: t(".category"), "aria-controls": "debates" %>
|
|
25
25
|
<% end %>
|
|
26
26
|
|
|
27
|
-
<%= form.check_boxes_tree :
|
|
27
|
+
<%= form.check_boxes_tree :with_any_origin, filter_origin_values, legend_title: t(".origin"), "aria-controls": "debates" %>
|
|
28
28
|
|
|
29
29
|
<% if current_user %>
|
|
30
30
|
<%= form.collection_radio_buttons :activity, activity_filter_values, :first, :last, { legend_title: t(".activity") }, "aria-controls": "debates" %>
|
|
@@ -108,12 +108,12 @@ edit_link(
|
|
|
108
108
|
|
|
109
109
|
<% if translated_attribute(debate.instructions).present? %>
|
|
110
110
|
<div class="callout secondary">
|
|
111
|
-
<%=
|
|
111
|
+
<%= decidim_sanitize_editor(simple_format(translated_attribute(debate.instructions), {}, sanitize: false)) %>
|
|
112
112
|
</div>
|
|
113
113
|
<% end %>
|
|
114
114
|
<% if translated_attribute(debate.information_updates).present? %>
|
|
115
115
|
<div class="callout success">
|
|
116
|
-
<%=
|
|
116
|
+
<%= decidim_sanitize_editor(simple_format(translated_attribute(debate.information_updates), {}, sanitize: false)) %>
|
|
117
117
|
</div>
|
|
118
118
|
<% end %>
|
|
119
119
|
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
ar:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -84,14 +85,13 @@ ar:
|
|
|
84
85
|
debate:
|
|
85
86
|
participate: مشاركة
|
|
86
87
|
filters:
|
|
87
|
-
activity: نشاطي
|
|
88
88
|
all: الكل
|
|
89
89
|
category: الفئة
|
|
90
90
|
category_prompt: اختر تصنيف
|
|
91
|
-
citizens: المواطنين
|
|
92
91
|
my_debates: مناقشاتي
|
|
93
92
|
official: الرسمية
|
|
94
93
|
origin: الأصل
|
|
94
|
+
participants: المشاركون
|
|
95
95
|
search: بحث
|
|
96
96
|
user_groups: الفِرَق
|
|
97
97
|
filters_small_view:
|
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
ca:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -10,7 +11,6 @@ ca:
|
|
|
10
11
|
end_time: Data de finalització
|
|
11
12
|
information_updates: Actualitzacions d'informació
|
|
12
13
|
instructions: Instruccions per participar
|
|
13
|
-
scope_id: Àmbit
|
|
14
14
|
start_time: Data d'inici
|
|
15
15
|
title: Títol
|
|
16
16
|
user_group_id: Crea un debat com
|
|
@@ -48,7 +48,7 @@ ca:
|
|
|
48
48
|
debates:
|
|
49
49
|
actions:
|
|
50
50
|
close: Tanca
|
|
51
|
-
confirm_destroy:
|
|
51
|
+
confirm_destroy: N'estàs segura?
|
|
52
52
|
destroy: Suprimeix
|
|
53
53
|
edit: Edita
|
|
54
54
|
new: Nou %{name}
|
|
@@ -118,11 +118,11 @@ ca:
|
|
|
118
118
|
all: Tots
|
|
119
119
|
category: Categoria
|
|
120
120
|
category_prompt: Selecciona una categoria
|
|
121
|
-
citizens: Ciutadania
|
|
122
121
|
commented: Comentat
|
|
123
122
|
my_debates: Els meus debats
|
|
124
123
|
official: Oficial
|
|
125
124
|
origin: Origen
|
|
125
|
+
participants: Participants
|
|
126
126
|
scope: Àmbit
|
|
127
127
|
search: Cerca
|
|
128
128
|
state: Estat
|
data/config/locales/cs.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
cs:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -10,7 +11,6 @@ cs:
|
|
|
10
11
|
end_time: Končí v
|
|
11
12
|
information_updates: Aktualizace informací
|
|
12
13
|
instructions: Pokyny k účasti
|
|
13
|
-
scope_id: Oblast působnosti
|
|
14
14
|
start_time: Začíná v
|
|
15
15
|
title: Titul
|
|
16
16
|
user_group_id: Vytvořte debatu jako
|
|
@@ -122,11 +122,11 @@ cs:
|
|
|
122
122
|
all: Vše
|
|
123
123
|
category: Kategorie
|
|
124
124
|
category_prompt: Vyberte kategorii
|
|
125
|
-
citizens: Občané
|
|
126
125
|
commented: Okomentováno
|
|
127
126
|
my_debates: Moje rozpravy
|
|
128
127
|
official: Oficiální
|
|
129
128
|
origin: Původ
|
|
129
|
+
participants: Účastníci
|
|
130
130
|
scope: Oblast působnosti
|
|
131
131
|
search: Hledat
|
|
132
132
|
state: Stav
|
|
@@ -164,7 +164,7 @@ cs:
|
|
|
164
164
|
groups_count: Skupiny
|
|
165
165
|
last_comment_by: Poslední komentář od
|
|
166
166
|
no_comments_yet: Zatím žádné komentáře
|
|
167
|
-
open:
|
|
167
|
+
open: Otevřít diskusi
|
|
168
168
|
participants_count: Účastníci
|
|
169
169
|
update:
|
|
170
170
|
invalid: Při aktualizaci rozpravy došlo k chybě.
|
data/config/locales/da.yml
CHANGED