decidim-debates 0.23.6 → 0.24.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/admin/decidim_debates_manifest.js +1 -0
- data/app/assets/javascripts/decidim/debates/admin/debates.js.es6 +25 -0
- data/app/cells/decidim/debates/debate_activity_cell.rb +5 -13
- data/app/cells/decidim/debates/debate_m/open_date.erb +7 -0
- data/app/cells/decidim/debates/debate_m_cell.rb +1 -1
- data/app/cells/decidim/debates/reported_content/show.erb +4 -0
- data/app/cells/decidim/debates/reported_content_cell.rb +13 -0
- data/app/commands/decidim/debates/admin/create_debate.rb +3 -2
- data/app/commands/decidim/debates/admin/update_debate.rb +2 -1
- data/app/commands/decidim/debates/create_debate.rb +1 -0
- data/app/commands/decidim/debates/update_debate.rb +2 -1
- data/app/controllers/decidim/debates/debates_controller.rb +1 -5
- data/app/forms/decidim/debates/admin/close_debate_form.rb +1 -1
- data/app/forms/decidim/debates/admin/debate_form.rb +30 -2
- data/app/forms/decidim/debates/close_debate_form.rb +1 -1
- data/app/forms/decidim/debates/debate_form.rb +17 -0
- data/app/models/decidim/debates/debate.rb +11 -1
- data/app/permissions/decidim/debates/admin/permissions.rb +8 -1
- data/app/views/decidim/debates/admin/debates/_form.html.erb +15 -2
- data/app/views/decidim/debates/admin/debates/index.html.erb +10 -2
- data/app/views/decidim/debates/debates/_filters.html.erb +1 -1
- data/app/views/decidim/debates/debates/_form.html.erb +6 -0
- data/app/views/decidim/debates/debates/show.html.erb +5 -21
- data/config/locales/ca.yml +17 -5
- data/config/locales/cs.yml +18 -6
- data/config/locales/de.yml +18 -6
- data/config/locales/en.yml +17 -5
- data/config/locales/es-MX.yml +10 -5
- data/config/locales/es-PY.yml +10 -5
- data/config/locales/es.yml +10 -5
- data/config/locales/fi-plain.yml +17 -5
- data/config/locales/fi.yml +17 -5
- data/config/locales/fr-CA.yml +17 -5
- data/config/locales/fr.yml +17 -5
- data/config/locales/gl.yml +10 -5
- data/config/locales/ja.yml +10 -4
- data/config/locales/nl.yml +17 -5
- data/config/locales/no.yml +10 -4
- data/config/locales/pl.yml +17 -5
- data/config/locales/ro-RO.yml +8 -47
- data/config/locales/sv.yml +10 -18
- data/config/locales/tr-TR.yml +17 -4
- data/config/locales/zh-CN.yml +10 -4
- data/db/migrate/20200930145546_add_scope_to_debates_debate.rb +7 -0
- data/db/migrate/20201126112752_archive_debates.rb +8 -0
- data/db/migrate/20210125101735_revert_archive_debates.rb +8 -0
- data/lib/decidim/api/debate_type.rb +26 -0
- data/lib/decidim/api/debates_type.rb +26 -0
- data/lib/decidim/debates/admin_engine.rb +4 -0
- data/lib/decidim/debates/api.rb +8 -0
- data/lib/decidim/debates/component.rb +22 -10
- data/lib/decidim/debates/test/factories.rb +1 -1
- data/lib/decidim/debates/version.rb +1 -1
- data/lib/decidim/debates.rb +1 -0
- metadata +25 -16
- data/app/types/decidim/debates/debate_type.rb +0 -28
- data/app/types/decidim/debates/debates_type.rb +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 930be86713dd670ddc5dfe8862fc992df894bc53a4c7814a31fa21a5b25541e3
|
4
|
+
data.tar.gz: 9915b79fb351ed33f316cab345ceae9c4c504fbb4525ae69148dececa08071b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b36d28e1c95433ef7933715966d7639ecedd01158303edc908be41a601513b442025f7658da0337e42a20adec12f26d12e47d7a7b4e10bc545b744d836f98a2c
|
7
|
+
data.tar.gz: e96e78eec595f9d38c894faa24cadc991a1fc4d5e77cc04baf47094f0a4a6c9368e89995c2a2bf6635de24a19dbbbc70d7ed97ba746657811d3628080df80531
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link decidim/debates/admin/debates.js
|
@@ -0,0 +1,25 @@
|
|
1
|
+
((exports) => {
|
2
|
+
const { createFieldDependentInputs } = exports.DecidimAdmin;
|
3
|
+
|
4
|
+
const $debateType = $('[name="debate[finite]"');
|
5
|
+
|
6
|
+
createFieldDependentInputs({
|
7
|
+
controllerField: $debateType,
|
8
|
+
wrapperSelector: ".debate-fields",
|
9
|
+
dependentFieldsSelector: ".debate-fields--open",
|
10
|
+
dependentInputSelector: "input",
|
11
|
+
enablingCondition: () => {
|
12
|
+
return $("#debate_finite_false").is(":checked")
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
createFieldDependentInputs({
|
17
|
+
controllerField: $debateType,
|
18
|
+
wrapperSelector: ".debate-fields",
|
19
|
+
dependentFieldsSelector: ".debate-fields--finite",
|
20
|
+
dependentInputSelector: "input",
|
21
|
+
enablingCondition: () => {
|
22
|
+
return $("#debate_finite_true").is(":checked")
|
23
|
+
}
|
24
|
+
});
|
25
|
+
})(window);
|
@@ -2,21 +2,13 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Debates
|
5
|
-
# A cell to display when
|
5
|
+
# A cell to display when Debate has been created.
|
6
6
|
class DebateActivityCell < ActivityCell
|
7
7
|
def title
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
link: participatory_space_link
|
13
|
-
)
|
14
|
-
else
|
15
|
-
I18n.t(
|
16
|
-
"decidim.debates.last_activity.new_debate_at_html",
|
17
|
-
link: participatory_space_link
|
18
|
-
)
|
19
|
-
end
|
8
|
+
I18n.t(
|
9
|
+
"decidim.debates.last_activity.new_debate_at_html",
|
10
|
+
link: participatory_space_link
|
11
|
+
)
|
20
12
|
end
|
21
13
|
|
22
14
|
def resource_link_text
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Debates
|
5
|
+
# This cells renders a small preview of the `Debate` that is
|
6
|
+
# used in the moderations panel.
|
7
|
+
class ReportedContentCell < Decidim::ReportedContentCell
|
8
|
+
def show
|
9
|
+
render :show
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -36,8 +36,9 @@ module Decidim
|
|
36
36
|
description: parsed_description,
|
37
37
|
information_updates: form.information_updates,
|
38
38
|
instructions: form.instructions,
|
39
|
-
end_time: form.end_time,
|
40
|
-
start_time: form.start_time,
|
39
|
+
end_time: (form.end_time if form.finite),
|
40
|
+
start_time: (form.start_time if form.finite),
|
41
|
+
scope: form.scope,
|
41
42
|
component: form.current_component,
|
42
43
|
author: form.current_organization
|
43
44
|
}
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
include Flaggable
|
14
14
|
include Decidim::Debates::Orderable
|
15
15
|
|
16
|
-
helper_method :debates, :debate, :form_presenter, :paginated_debates, :
|
16
|
+
helper_method :debates, :debate, :form_presenter, :paginated_debates, :close_debate_form
|
17
17
|
|
18
18
|
def new
|
19
19
|
enforce_permission_to :create, :debate
|
@@ -105,10 +105,6 @@ module Decidim
|
|
105
105
|
@debate ||= debates.find_by(id: params[:id])
|
106
106
|
end
|
107
107
|
|
108
|
-
def report_form
|
109
|
-
@report_form ||= form(Decidim::ReportForm).from_params(reason: "spam")
|
110
|
-
end
|
111
|
-
|
112
108
|
def close_debate_form
|
113
109
|
@close_debate_form ||= form(CloseDebateForm).from_model(debate)
|
114
110
|
end
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
|
10
10
|
mimic :debate
|
11
11
|
|
12
|
-
translatable_attribute :conclusions,
|
12
|
+
translatable_attribute :conclusions, Decidim::Attributes::CleanString do |translated_attribute, locale|
|
13
13
|
validates translated_attribute, presence: true, if: ->(record) { record.default_locale?(locale) }
|
14
14
|
validates translated_attribute, length: { minimum: 10, maximum: 10_000 }, if: ->(record) { record.default_locale?(locale) }
|
15
15
|
end
|
@@ -14,14 +14,18 @@ module Decidim
|
|
14
14
|
attribute :start_time, Decidim::Attributes::TimeWithZone
|
15
15
|
attribute :end_time, Decidim::Attributes::TimeWithZone
|
16
16
|
attribute :decidim_category_id, Integer
|
17
|
+
attribute :finite, Boolean, default: true
|
18
|
+
attribute :scope_id, Integer
|
17
19
|
|
18
20
|
validates :title, translatable_presence: true
|
19
21
|
validates :description, translatable_presence: true
|
20
22
|
validates :instructions, translatable_presence: true
|
21
|
-
validates :start_time, presence: { if:
|
22
|
-
validates :end_time, presence: { if:
|
23
|
+
validates :start_time, presence: { if: :validate_start_time? }, date: { before: :end_time, allow_blank: true, if: :validate_start_time? }
|
24
|
+
validates :end_time, presence: { if: :validate_end_time? }, date: { after: :start_time, allow_blank: true, if: :validate_end_time? }
|
23
25
|
|
24
26
|
validates :category, presence: true, if: ->(form) { form.decidim_category_id.present? }
|
27
|
+
validates :scope, presence: true, if: ->(form) { form.scope_id.present? }
|
28
|
+
validates :scope_id, scope_belongs_to_component: true, if: ->(form) { form.scope_id.present? }
|
25
29
|
|
26
30
|
def map_model(model)
|
27
31
|
self.decidim_category_id = model.categorization.decidim_category_id if model.categorization
|
@@ -36,6 +40,30 @@ module Decidim
|
|
36
40
|
|
37
41
|
@category ||= current_component.categories.find_by(id: decidim_category_id)
|
38
42
|
end
|
43
|
+
|
44
|
+
# Finds the Scope from the given decidim_scope_id, uses the compoenent scope if missing.
|
45
|
+
#
|
46
|
+
# Returns a Decidim::Scope
|
47
|
+
def scope
|
48
|
+
@scope ||= @scope_id ? current_component.scopes.find_by(id: @scope_id) : current_component.scope
|
49
|
+
end
|
50
|
+
|
51
|
+
# Scope identifier
|
52
|
+
#
|
53
|
+
# Returns the scope identifier related to the meeting
|
54
|
+
def scope_id
|
55
|
+
@scope_id || scope&.id
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def validate_end_time?
|
61
|
+
finite && start_time.present?
|
62
|
+
end
|
63
|
+
|
64
|
+
def validate_start_time?
|
65
|
+
end_time.present?
|
66
|
+
end
|
39
67
|
end
|
40
68
|
end
|
41
69
|
end
|
@@ -9,6 +9,7 @@ module Decidim
|
|
9
9
|
attribute :title, String
|
10
10
|
attribute :description, String
|
11
11
|
attribute :category_id, Integer
|
12
|
+
attribute :scope_id, Integer
|
12
13
|
attribute :user_group_id, Integer
|
13
14
|
attribute :debate, Debate
|
14
15
|
|
@@ -17,6 +18,8 @@ module Decidim
|
|
17
18
|
validates :category, presence: true, if: ->(form) { form.category_id.present? }
|
18
19
|
validate :editable_by_user
|
19
20
|
|
21
|
+
validates :scope_id, scope_belongs_to_component: true, if: ->(form) { form.scope_id.present? }
|
22
|
+
|
20
23
|
def map_model(debate)
|
21
24
|
super
|
22
25
|
self.debate = debate
|
@@ -38,6 +41,20 @@ module Decidim
|
|
38
41
|
@category ||= current_component.categories.find_by(id: category_id)
|
39
42
|
end
|
40
43
|
|
44
|
+
# Finds the Scope from the given scope_id, uses component scope if missing.
|
45
|
+
#
|
46
|
+
# Returns a Decidim::Scope
|
47
|
+
def scope
|
48
|
+
@scope ||= @scope_id ? current_component.scopes.find_by(id: @scope_id) : current_component.scope
|
49
|
+
end
|
50
|
+
|
51
|
+
# Scope identifier
|
52
|
+
#
|
53
|
+
# Returns the scope identifier related to the debate
|
54
|
+
def scope_id
|
55
|
+
@scope_id || scope&.id
|
56
|
+
end
|
57
|
+
|
41
58
|
private
|
42
59
|
|
43
60
|
def editable_by_user
|
@@ -25,7 +25,7 @@ module Decidim
|
|
25
25
|
include Decidim::Endorsable
|
26
26
|
include Decidim::Randomable
|
27
27
|
|
28
|
-
belongs_to :last_comment_by, polymorphic: true,
|
28
|
+
belongs_to :last_comment_by, polymorphic: true, foreign_type: "last_comment_by_type", optional: true
|
29
29
|
component_manifest_name "debates"
|
30
30
|
|
31
31
|
validates :title, presence: true
|
@@ -62,6 +62,16 @@ module Decidim
|
|
62
62
|
ResourceLocatorPresenter.new(self).url
|
63
63
|
end
|
64
64
|
|
65
|
+
# Public: Overrides the `reported_attributes` Reportable concern method.
|
66
|
+
def reported_attributes
|
67
|
+
[:title, :description]
|
68
|
+
end
|
69
|
+
|
70
|
+
# Public: Overrides the `reported_searchable_content_extras` Reportable concern method.
|
71
|
+
def reported_searchable_content_extras
|
72
|
+
[normalized_author.name]
|
73
|
+
end
|
74
|
+
|
65
75
|
# Public: Calculates whether the current debate is an AMA-styled one or not.
|
66
76
|
# AMA-styled debates are those that have a start and end time set, and comments
|
67
77
|
# are only open during that timelapse. AMA stands for Ask Me Anything, a type
|
@@ -7,10 +7,13 @@ module Decidim
|
|
7
7
|
def permissions
|
8
8
|
# The public part needs to be implemented yet
|
9
9
|
return permission_action if permission_action.scope != :admin
|
10
|
+
|
11
|
+
can_export_comments?
|
12
|
+
|
10
13
|
return permission_action if permission_action.subject != :debate
|
11
14
|
|
12
15
|
case permission_action.action
|
13
|
-
when :create, :read
|
16
|
+
when :create, :read, :export
|
14
17
|
allow!
|
15
18
|
when :update
|
16
19
|
toggle_allow(debate && !debate.closed? && debate.official?)
|
@@ -26,6 +29,10 @@ module Decidim
|
|
26
29
|
def debate
|
27
30
|
@debate ||= context.fetch(:debate, nil)
|
28
31
|
end
|
32
|
+
|
33
|
+
def can_export_comments?
|
34
|
+
allow! if permission_action.subject == :comments && permission_action.action == :export
|
35
|
+
end
|
29
36
|
end
|
30
37
|
end
|
31
38
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<h2 class="card-title"><%= title %></h2>
|
4
4
|
</div>
|
5
5
|
|
6
|
-
<div class="card-section">
|
6
|
+
<div class="card-section debate-fields">
|
7
7
|
<div class="row column hashtags__container">
|
8
8
|
<%= form.translated :text_field, :title, autofocus: true, class: "js-hashtags", hashtaggable: true %>
|
9
9
|
</div>
|
@@ -20,7 +20,12 @@
|
|
20
20
|
<%= form.translated :editor, :information_updates %>
|
21
21
|
</div>
|
22
22
|
|
23
|
-
<div class="row">
|
23
|
+
<div class="row column">
|
24
|
+
<%= label_tag :debate_type, t(".debate_type") %>
|
25
|
+
<%= form.collection_radio_buttons(:finite, [[t(".finite"), true], [t(".open"), false]], :last, :first) %>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="row debate-fields--finite">
|
24
29
|
<div class="column xlarge-6">
|
25
30
|
<%= form.datetime_field :start_time %>
|
26
31
|
</div>
|
@@ -29,8 +34,16 @@
|
|
29
34
|
</div>
|
30
35
|
</div>
|
31
36
|
|
37
|
+
<% if current_component.has_subscopes? %>
|
38
|
+
<div class="row column">
|
39
|
+
<%= scopes_picker_field form, :scope_id, root: current_component.scope %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
|
32
43
|
<div class="row column">
|
33
44
|
<%= form.categories_select :decidim_category_id, current_participatory_space.categories, include_blank: "", disable_parents: false %>
|
34
45
|
</div>
|
35
46
|
</div>
|
36
47
|
</div>
|
48
|
+
|
49
|
+
<%= javascript_include_tag "decidim/debates/admin/debates" %>
|
@@ -2,8 +2,10 @@
|
|
2
2
|
<div class="card-divider">
|
3
3
|
<h2 class="card-title">
|
4
4
|
<%= t(".title") %>
|
5
|
-
|
6
|
-
|
5
|
+
<div class="button--title">
|
6
|
+
<%= export_dropdown if allowed_to? :export, :comments %>
|
7
|
+
<%= link_to t("actions.new", scope: "decidim.debates", name: t("models.debate.name", scope: "decidim.debates.admin")), new_debate_path, class: "button tiny button--simple" if allowed_to? :create, :debate %>
|
8
|
+
</div>
|
7
9
|
</h2>
|
8
10
|
</div>
|
9
11
|
|
@@ -39,14 +41,20 @@
|
|
39
41
|
<td class="table-list__actions">
|
40
42
|
<% if allowed_to? :update, :debate, debate: debate %>
|
41
43
|
<%= icon_link_to "pencil", edit_debate_path(debate), t("actions.edit", scope: "decidim.debates"), class: "action-icon--edit" %>
|
44
|
+
<% else %>
|
45
|
+
<span class="action-space icon"></span>
|
42
46
|
<% end %>
|
43
47
|
|
44
48
|
<% if allowed_to? :close, :debate, debate: debate %>
|
45
49
|
<%= icon_link_to "lock-locked", edit_debate_debate_close_path(debate_id: debate.id, id: debate.id), t("actions.close", scope: "decidim.debates"), class: "action-icon--close" %>
|
50
|
+
<% else %>
|
51
|
+
<span class="action-space icon"></span>
|
46
52
|
<% end %>
|
47
53
|
|
48
54
|
<% if allowed_to? :delete, :debate, debate: debate %>
|
49
55
|
<%= icon_link_to "circle-x", debate_path(debate), t("actions.destroy", scope: "decidim.debates"), method: :delete, class: "action-icon--remove", data: { confirm: t("actions.confirm_destroy", scope: "decidim.debates") } %>
|
56
|
+
<% else %>
|
57
|
+
<span class="action-space icon"></span>
|
50
58
|
<% end %>
|
51
59
|
</td>
|
52
60
|
</tr>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
<%= form.check_boxes_tree :state, filter_debates_state_values, legend_title: t(".state"), "aria-controls": "debates" %>
|
18
18
|
|
19
|
-
<% if
|
19
|
+
<% if current_component.has_subscopes? %>
|
20
20
|
<%= form.check_boxes_tree :scope_id, filter_scopes_values, legend_title: t(".scope"), "aria-controls": "debates" %>
|
21
21
|
<% end %>
|
22
22
|
|
@@ -6,6 +6,12 @@
|
|
6
6
|
<%= text_editor_for_debate_description(form) %>
|
7
7
|
</div>
|
8
8
|
|
9
|
+
<% if current_component.has_subscopes? %>
|
10
|
+
<div class="row column">
|
11
|
+
<%= scopes_picker_field form, :scope_id, root: current_component.scope %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
|
9
15
|
<% if current_participatory_space.categories&.any? %>
|
10
16
|
<div class="field">
|
11
17
|
<%= form.categories_select :category_id, current_participatory_space.categories, include_blank: t(".select_a_category"), disable_parents: false %>
|
@@ -45,14 +45,7 @@ edit_link(
|
|
45
45
|
<% end %>
|
46
46
|
<div class="card extra">
|
47
47
|
<div class="card__content">
|
48
|
-
|
49
|
-
<div class="extra__date">
|
50
|
-
<%= l debate.start_time, format: "%d" %> <span class="extra__month"><%= l debate.start_time, format: "%B" %></span>
|
51
|
-
</div>
|
52
|
-
<div class="extra__time">
|
53
|
-
<%= l debate.start_time, format: "%H:%M" %> - <%= l debate.end_time, format: "%H:%M" %>
|
54
|
-
</div>
|
55
|
-
<% end %>
|
48
|
+
<%= cell("decidim/date", { start: debate.start_time, end: debate.end_time }) %>
|
56
49
|
|
57
50
|
<% if endorsements_enabled? && allowed_to?(:endorse, :debate, debate: debate) %>
|
58
51
|
<div class="row collapse buttons__row">
|
@@ -110,7 +103,7 @@ edit_link(
|
|
110
103
|
<%= render_debate_description(debate) %>
|
111
104
|
|
112
105
|
<% if debate.closed? %>
|
113
|
-
<%= cell("decidim/announcement", {
|
106
|
+
<%= cell("decidim/announcement", { title: t(".debate_conclusions_are", date: l(debate.closed_at, format: :decidim_short)), body: simple_format(translated_attribute(debate.conclusions)) }, callout_class: "success") %>
|
114
107
|
<% end %>
|
115
108
|
|
116
109
|
<% if translated_attribute(debate.instructions).present? %>
|
@@ -123,11 +116,8 @@ edit_link(
|
|
123
116
|
<%= decidim_sanitize(simple_format(translated_attribute(debate.information_updates), {}, sanitize: false)) %>
|
124
117
|
</div>
|
125
118
|
<% end %>
|
126
|
-
|
127
|
-
|
128
|
-
<li><%= link_to translated_attribute(debate.category.name), debates_path(filter: { category_id: debate.category.id }) %></li>
|
129
|
-
</ul>
|
130
|
-
<% end %>
|
119
|
+
|
120
|
+
<%= render partial: "decidim/shared/tags", locals: { resource: debate, tags_class_extra: "tags--debate" } %>
|
131
121
|
|
132
122
|
<%= cell "decidim/endorsers_list", debate %>
|
133
123
|
</div>
|
@@ -136,13 +126,7 @@ edit_link(
|
|
136
126
|
|
137
127
|
<%= comments_for debate %>
|
138
128
|
|
139
|
-
<%=
|
140
|
-
render partial: "decidim/shared/flag_modal", locals: {
|
141
|
-
reportable: debate,
|
142
|
-
form: report_form,
|
143
|
-
url: decidim.report_path(sgid: debate.to_sgid.to_s)
|
144
|
-
}
|
145
|
-
%>
|
129
|
+
<%= cell("decidim/flag_modal", debate) %>
|
146
130
|
<%=
|
147
131
|
render partial: "close_debate_modal", locals: {
|
148
132
|
debate: debate,
|
data/config/locales/ca.yml
CHANGED
@@ -65,6 +65,10 @@ ca:
|
|
65
65
|
edit:
|
66
66
|
title: Editar debat
|
67
67
|
update: Actualitzar debat
|
68
|
+
form:
|
69
|
+
debate_type: Tipus de debat
|
70
|
+
finite: Finit (amb moments d'inici i de fi)
|
71
|
+
open: Obert (sense moments d'inici ni de fi)
|
68
72
|
index:
|
69
73
|
title: Debats
|
70
74
|
new:
|
@@ -73,6 +77,8 @@ ca:
|
|
73
77
|
update:
|
74
78
|
invalid: S'ha produït un error en actualitzar aquest debat.
|
75
79
|
success: Debate actualizado correctament.
|
80
|
+
exports:
|
81
|
+
comments: Comentaris
|
76
82
|
models:
|
77
83
|
debate:
|
78
84
|
name: Debat
|
@@ -152,6 +158,7 @@ ca:
|
|
152
158
|
groups_count: Grups
|
153
159
|
last_comment_by: Darrer comentari de
|
154
160
|
no_comments_yet: Encara no hi ha comentaris
|
161
|
+
open: Debat obert
|
155
162
|
participants_count: Participants
|
156
163
|
update:
|
157
164
|
invalid: S'ha produït un error en actualitzar aquest debat.
|
@@ -164,7 +171,6 @@ ca:
|
|
164
171
|
versions_list:
|
165
172
|
back_to_resource: Tornar al debat
|
166
173
|
last_activity:
|
167
|
-
debate_updated_at_html: "<span>Debat actualitzat el %{link}</span>"
|
168
174
|
new_debate_at_html: "<span>Nou debat a %{link}</span>"
|
169
175
|
models:
|
170
176
|
debate:
|
@@ -201,10 +207,16 @@ ca:
|
|
201
207
|
email_subject: Els debats ja estan disponibles a %{participatory_space_title}
|
202
208
|
notification_title: Ja pots començar <a href="%{resource_path}">nous debats</a> a <a href="%{participatory_space_url}">%{participatory_space_title}</a>
|
203
209
|
debate_closed:
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
210
|
+
affected_user:
|
211
|
+
email_intro: 'El debat "%{resource_title}" s''ha tancat. Podeu llegir-ne les conclusions a la seva pàgina:'
|
212
|
+
email_outro: Has rebut aquesta notificació perquè estàs seguint el debat "%{resource_title}". Pots deixar-la de seguir des de l'enllaç anterior.
|
213
|
+
email_subject: El debat "%{resource_title}" s'ha tancat
|
214
|
+
notification_title: El debat <a href="%{resource_path}">%{resource_title}</a> s'ha tancat.
|
215
|
+
follower:
|
216
|
+
email_intro: 'El debat "%{resource_title}" s''ha tancat. Podeu llegir-ne les conclusions a la seva pàgina:'
|
217
|
+
email_outro: Has rebut aquesta notificació perquè estàs seguint el debat "%{resource_title}". Pots deixar-la de seguir des de l'enllaç anterior.
|
218
|
+
email_subject: El debat "%{resource_title}" s'ha tancat
|
219
|
+
notification_title: El debat <a href="%{resource_path}">%{resource_title}</a> s'ha tancat.
|
208
220
|
gamification:
|
209
221
|
badges:
|
210
222
|
commented_debates:
|
data/config/locales/cs.yml
CHANGED
@@ -67,6 +67,10 @@ cs:
|
|
67
67
|
edit:
|
68
68
|
title: Upravit debatu
|
69
69
|
update: Aktualizovat debatu
|
70
|
+
form:
|
71
|
+
debate_type: Typ debaty
|
72
|
+
finite: Konečný (s počátečním a koncovým obdobím)
|
73
|
+
open: Otevřený (žádné počáteční nebo koncové období)
|
70
74
|
index:
|
71
75
|
title: Debaty
|
72
76
|
new:
|
@@ -75,6 +79,8 @@ cs:
|
|
75
79
|
update:
|
76
80
|
invalid: Při aktualizaci této debaty došlo k problému.
|
77
81
|
success: Debata byla úspěšně aktualizována.
|
82
|
+
exports:
|
83
|
+
comments: Komentáře
|
78
84
|
models:
|
79
85
|
debate:
|
80
86
|
name: Debata
|
@@ -156,6 +162,7 @@ cs:
|
|
156
162
|
groups_count: Skupiny
|
157
163
|
last_comment_by: Poslední komentář od
|
158
164
|
no_comments_yet: Zatím žádné komentáře
|
165
|
+
open: Otevřít diskusi
|
159
166
|
participants_count: Účastníci
|
160
167
|
update:
|
161
168
|
invalid: Při aktualizaci rozpravy došlo k chybě.
|
@@ -168,7 +175,6 @@ cs:
|
|
168
175
|
versions_list:
|
169
176
|
back_to_resource: Přejít zpět k debatě
|
170
177
|
last_activity:
|
171
|
-
debate_updated_at_html: "<span>Debata byla aktualizována na %{link}</span>"
|
172
178
|
new_debate_at_html: "<span>Nová debata na %{link}</span>"
|
173
179
|
models:
|
174
180
|
debate:
|
@@ -191,7 +197,7 @@ cs:
|
|
191
197
|
email_intro: |-
|
192
198
|
Ahoj,
|
193
199
|
%{author_name} %{author_nickname}, kterého sledujete, vytvořil novou debatu "%{resource_title}". Omrkněte ji a přispějte:
|
194
|
-
email_outro: Toto oznámení jste obdrželi, protože
|
200
|
+
email_outro: Toto oznámení jste obdrželi, protože jste sledovali %{author_nickname}. Na předchozím odkazu můžete přestat přijímat oznámení.
|
195
201
|
email_subject: Nová debata "%{resource_title}" od %{author_nickname}
|
196
202
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> vytvořil <a href="%{resource_path}">%{resource_title}</a> debatu.
|
197
203
|
creation_disabled:
|
@@ -205,10 +211,16 @@ cs:
|
|
205
211
|
email_subject: Debaty jsou nyní k dispozici v %{participatory_space_title}
|
206
212
|
notification_title: Nyní můžete začít <a href="%{resource_path}">novou debatu</a> v <a href="%{participatory_space_url}">%{participatory_space_title}</a>
|
207
213
|
debate_closed:
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
214
|
+
affected_user:
|
215
|
+
email_intro: 'Debata "%{resource_title}" byla ukončena. Závěry si můžete přečíst z její stránky:'
|
216
|
+
email_outro: Obdrželi jste toto oznámení, protože sledujete debatu "%{resource_title}". Můžete ji zrušit z předchozího odkazu.
|
217
|
+
email_subject: Debata "%{resource_title}" byla ukončena
|
218
|
+
notification_title: Debata <a href="%{resource_path}">%{resource_title}</a> byla ukončena.
|
219
|
+
follower:
|
220
|
+
email_intro: 'Debata "%{resource_title}" byla ukončena. Závěry si můžete přečíst z její stránky:'
|
221
|
+
email_outro: Obdrželi jste toto oznámení, protože sledujete debatu "%{resource_title}". Můžete ji zrušit z předchozího odkazu.
|
222
|
+
email_subject: Debata "%{resource_title}" byla ukončena
|
223
|
+
notification_title: Debata <a href="%{resource_path}">%{resource_title}</a> byla ukončena.
|
212
224
|
gamification:
|
213
225
|
badges:
|
214
226
|
commented_debates:
|