decidim-proposals 0.28.4 → 0.28.5
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/proposals/highlighted_proposals_for_component/show.erb +11 -11
- data/app/cells/decidim/proposals/proposal_l_cell.rb +17 -18
- data/app/controllers/decidim/proposals/proposals_controller.rb +4 -8
- data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +3 -3
- data/app/forms/decidim/proposals/admin/proposal_form.rb +1 -1
- data/app/helpers/decidim/proposals/map_helper.rb +1 -1
- data/app/models/decidim/proposals/proposal.rb +2 -6
- data/app/permissions/decidim/proposals/permissions.rb +4 -3
- data/app/services/decidim/proposals/collaborative_draft_diff_renderer.rb +22 -0
- data/app/services/decidim/proposals/diff_renderer.rb +2 -0
- data/app/services/decidim/proposals/proposal_builder.rb +1 -1
- data/app/views/decidim/proposals/admin/proposals/index.html.erb +2 -2
- data/app/views/decidim/proposals/proposals/index.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/index.js.erb +12 -0
- data/app/views/decidim/proposals/proposals/show.html.erb +1 -1
- data/config/locales/ar.yml +1 -3
- data/config/locales/bg.yml +5 -7
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +100 -0
- data/config/locales/ca.yml +5 -5
- data/config/locales/cs.yml +5 -5
- data/config/locales/de.yml +7 -7
- data/config/locales/el.yml +3 -5
- data/config/locales/es-MX.yml +3 -3
- data/config/locales/es-PY.yml +3 -3
- data/config/locales/es.yml +2 -2
- data/config/locales/eu.yml +92 -92
- data/config/locales/fi-plain.yml +3 -3
- data/config/locales/fi.yml +23 -23
- data/config/locales/fr-CA.yml +4 -6
- data/config/locales/fr.yml +3 -5
- data/config/locales/gl.yml +3 -6
- data/config/locales/he-IL.yml +4 -0
- data/config/locales/hu.yml +2 -3
- data/config/locales/id-ID.yml +9 -4
- data/config/locales/is-IS.yml +0 -7
- data/config/locales/it.yml +7 -8
- data/config/locales/ja.yml +3 -5
- data/config/locales/lt.yml +1 -3
- data/config/locales/lv.yml +5 -2
- data/config/locales/nl.yml +7 -5
- data/config/locales/no.yml +1 -4
- data/config/locales/pl.yml +2 -4
- data/config/locales/pt-BR.yml +3 -5
- data/config/locales/pt.yml +2 -4
- data/config/locales/ro-RO.yml +7 -9
- data/config/locales/ru.yml +0 -7
- data/config/locales/sk.yml +6 -3
- data/config/locales/sl.yml +0 -4
- data/config/locales/sv.yml +5 -5
- data/config/locales/tr-TR.yml +5 -7
- data/config/locales/uk.yml +1 -8
- data/config/locales/zh-CN.yml +1 -3
- data/config/locales/zh-TW.yml +3 -5
- data/decidim-proposals.gemspec +1 -1
- data/lib/decidim/api/proposal_type.rb +13 -0
- data/lib/decidim/api/proposals_type.rb +1 -3
- data/lib/decidim/proposals/proposal_serializer.rb +7 -4
- data/lib/decidim/proposals/test/factories.rb +6 -5
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +24 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2a1d75f047cf77a3873fed131cdefcd187c822c14f9fedb1b4d5c5d8a006454f
|
|
4
|
+
data.tar.gz: 825829e1601b57bcb849fd9359190839dc2e8691d4c203377d0cb8d1865c43c2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 56fd50c16ab2a410a880b20896c64c3faf5be9e295223d3a6a42aa5045719057e5ad9effb1511ed953e52c89c270c037dc57100167566cba67e2b04f952e52ef
|
|
7
|
+
data.tar.gz: 46d01f111fab1ce7ba565990f435027a943dbb75f992f8873eb522739c9454a5a0c5ec3562daa20616ec03cf2ef4366d8ba82fd67dc51234464d262ff3cadbbf
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
<% end %>
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
+
<div class="flex items-center justify-between space-x-6">
|
|
15
|
+
<span class="content-block__span flex-shrink-0">
|
|
16
|
+
<%= t("decidim.participatory_spaces.highlighted_proposals.last") %>
|
|
17
|
+
</span>
|
|
18
|
+
<% if single_component? %>
|
|
19
|
+
<%= link_to decidim_proposals.new_proposal_path, class: "button button__xs md:button__lg button__secondary" do %>
|
|
20
|
+
<span class="text-center"><%= t("decidim.proposals.actions.new") %></span>
|
|
21
|
+
<%= icon "add-line" %>
|
|
22
|
+
<% end %>
|
|
23
|
+
<% end %>
|
|
24
|
+
</div>
|
|
14
25
|
<div class="flex items-start justify-between">
|
|
15
26
|
<div class="grow space-y-6">
|
|
16
|
-
<span class="content-block__span">
|
|
17
|
-
<%= t("decidim.participatory_spaces.highlighted_proposals.last") %>
|
|
18
|
-
</span>
|
|
19
|
-
|
|
20
27
|
<% proposals_to_render.each do |p| %>
|
|
21
28
|
<%= card_for p, link_whole_card: true, title_tag: :h3, **options.slice(:show_space) %>
|
|
22
29
|
<% end %>
|
|
23
30
|
</div>
|
|
24
|
-
|
|
25
|
-
<% if single_component? %>
|
|
26
|
-
<%= link_to decidim_proposals.new_proposal_path, class: "button button__sm md:button__lg button__secondary" do %>
|
|
27
|
-
<span><%= t("decidim.proposals.actions.new") %></span>
|
|
28
|
-
<%= icon "add-line" %>
|
|
29
|
-
<% end %>
|
|
30
|
-
<% end %>
|
|
31
31
|
</div>
|
|
@@ -22,25 +22,24 @@ module Decidim
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def cache_hash
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
hash <<
|
|
36
|
-
hash <<
|
|
25
|
+
@cache_hash ||= begin
|
|
26
|
+
hash = []
|
|
27
|
+
hash << I18n.locale.to_s
|
|
28
|
+
hash << self.class.name.demodulize.underscore
|
|
29
|
+
hash << model.cache_key_with_version
|
|
30
|
+
hash << model.proposal_votes_count
|
|
31
|
+
hash << model.endorsements_count
|
|
32
|
+
hash << model.comments_count
|
|
33
|
+
hash << Digest::MD5.hexdigest(model.component.cache_key_with_version)
|
|
34
|
+
hash << Digest::MD5.hexdigest(resource_image_url) if resource_image_url
|
|
35
|
+
hash << render_space? ? 1 : 0
|
|
36
|
+
hash << model.follows_count
|
|
37
|
+
hash << Digest::MD5.hexdigest(model.authors.map(&:cache_key_with_version).to_s)
|
|
38
|
+
hash << (model.must_render_translation?(model.organization) ? 1 : 0) if model.respond_to?(:must_render_translation?)
|
|
39
|
+
hash << model.component.participatory_space.active_step.id if model.component.participatory_space.try(:active_step)
|
|
40
|
+
|
|
41
|
+
hash.join(Decidim.cache_key_separator)
|
|
37
42
|
end
|
|
38
|
-
hash << model.follows_count
|
|
39
|
-
hash << Digest::MD5.hexdigest(model.authors.map(&:cache_key_with_version).to_s)
|
|
40
|
-
hash << (model.must_render_translation?(model.organization) ? 1 : 0) if model.respond_to?(:must_render_translation?)
|
|
41
|
-
hash << model.component.participatory_space.active_step.id if model.component.participatory_space.try(:active_step)
|
|
42
|
-
|
|
43
|
-
hash.join(Decidim.cache_key_separator)
|
|
44
43
|
end
|
|
45
44
|
end
|
|
46
45
|
end
|
|
@@ -43,13 +43,11 @@ module Decidim
|
|
|
43
43
|
.order(position: :asc)
|
|
44
44
|
render "decidim/proposals/proposals/participatory_texts/participatory_text"
|
|
45
45
|
else
|
|
46
|
-
@
|
|
47
|
-
.result
|
|
48
|
-
.published
|
|
49
|
-
.not_hidden
|
|
46
|
+
@proposals = search.result
|
|
50
47
|
|
|
51
|
-
@proposals = @
|
|
52
|
-
@
|
|
48
|
+
@proposals = reorder(@proposals)
|
|
49
|
+
@proposals = paginate(@proposals)
|
|
50
|
+
@proposals = @proposals.includes(:component, :coauthorships, :attachments)
|
|
53
51
|
|
|
54
52
|
@voted_proposals = if current_user
|
|
55
53
|
ProposalVote.where(
|
|
@@ -59,8 +57,6 @@ module Decidim
|
|
|
59
57
|
else
|
|
60
58
|
[]
|
|
61
59
|
end
|
|
62
|
-
@proposals = reorder(@proposals)
|
|
63
|
-
@proposals = paginate(@proposals)
|
|
64
60
|
end
|
|
65
61
|
end
|
|
66
62
|
|
|
@@ -8,9 +8,9 @@ module Decidim
|
|
|
8
8
|
include TranslatableAttributes
|
|
9
9
|
mimic :proposal_answer
|
|
10
10
|
|
|
11
|
-
translatable_attribute :answer,
|
|
12
|
-
translatable_attribute :cost_report,
|
|
13
|
-
translatable_attribute :execution_period,
|
|
11
|
+
translatable_attribute :answer, Decidim::Attributes::RichText
|
|
12
|
+
translatable_attribute :cost_report, Decidim::Attributes::RichText
|
|
13
|
+
translatable_attribute :execution_period, Decidim::Attributes::RichText
|
|
14
14
|
attribute :cost, Float
|
|
15
15
|
attribute :internal_state, String
|
|
16
16
|
|
|
@@ -10,7 +10,7 @@ module Decidim
|
|
|
10
10
|
translatable_attribute :title, String do |field, _locale|
|
|
11
11
|
validates field, length: { in: 15..150 }, if: proc { |resource| resource.send(field).present? }
|
|
12
12
|
end
|
|
13
|
-
translatable_attribute :body,
|
|
13
|
+
translatable_attribute :body, Decidim::Attributes::RichText
|
|
14
14
|
|
|
15
15
|
validates :title, :body, translatable_presence: true
|
|
16
16
|
|
|
@@ -9,7 +9,7 @@ module Decidim
|
|
|
9
9
|
#
|
|
10
10
|
# geocoded_proposals - A collection of geocoded proposals
|
|
11
11
|
def proposals_data_for_map(geocoded_proposals)
|
|
12
|
-
geocoded_proposals.map do |proposal|
|
|
12
|
+
geocoded_proposals.select(&:geocoded_and_valid?).map do |proposal|
|
|
13
13
|
proposal_data_for_map(proposal)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
@@ -347,12 +347,8 @@ module Decidim
|
|
|
347
347
|
where(query, value:)
|
|
348
348
|
end
|
|
349
349
|
|
|
350
|
-
def self.ransackable_scopes(
|
|
351
|
-
|
|
352
|
-
return base unless auth_object&.admin?
|
|
353
|
-
|
|
354
|
-
# Add extra scopes for admins for the admin panel searches
|
|
355
|
-
base + [:valuator_role_ids_has]
|
|
350
|
+
def self.ransackable_scopes(_auth_object = nil)
|
|
351
|
+
[:with_any_origin, :with_any_state, :voted_by, :coauthored_by, :related_to, :with_any_scope, :with_any_category, :valuator_role_ids_has]
|
|
356
352
|
end
|
|
357
353
|
|
|
358
354
|
# Create i18n ransackers for :title and :body.
|
|
@@ -4,15 +4,16 @@ module Decidim
|
|
|
4
4
|
module Proposals
|
|
5
5
|
class Permissions < Decidim::DefaultPermissions
|
|
6
6
|
def permissions
|
|
7
|
-
return permission_action unless user
|
|
8
|
-
|
|
9
7
|
# Delegate the admin permission checks to the admin permissions class
|
|
10
8
|
return Decidim::Proposals::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin
|
|
11
9
|
return permission_action if permission_action.scope != :public
|
|
12
10
|
|
|
11
|
+
toggle_allow(!proposal.hidden?) if permission_action.subject == :proposal && permission_action.action == :read
|
|
12
|
+
return permission_action unless user
|
|
13
|
+
|
|
13
14
|
case permission_action.subject
|
|
14
15
|
when :proposal
|
|
15
|
-
apply_proposal_permissions(permission_action)
|
|
16
|
+
apply_proposal_permissions(permission_action) unless permission_action.action == :read
|
|
16
17
|
when :collaborative_draft
|
|
17
18
|
apply_collaborative_draft_permissions(permission_action)
|
|
18
19
|
else
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Decidim
|
|
4
|
+
module Proposals
|
|
5
|
+
class CollaborativeDraftDiffRenderer < DiffRenderer
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
def attribute_types
|
|
9
|
+
{
|
|
10
|
+
title: :string,
|
|
11
|
+
body: :string,
|
|
12
|
+
decidim_category_id: :category,
|
|
13
|
+
decidim_scope_id: :scope,
|
|
14
|
+
address: :string,
|
|
15
|
+
latitude: :string,
|
|
16
|
+
longitude: :string,
|
|
17
|
+
decidim_proposals_proposal_state_id: :string
|
|
18
|
+
}
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -21,7 +21,9 @@ module Decidim
|
|
|
21
21
|
|
|
22
22
|
# Parses the values before parsing the changeset.
|
|
23
23
|
def parse_changeset(attribute, values, type, diff)
|
|
24
|
+
return parse_i18n_changeset(attribute, values, type, diff) if [:i18n, :i18n_html].include?(type)
|
|
24
25
|
return parse_scope_changeset(attribute, values, type, diff) if type == :scope
|
|
26
|
+
return parse_user_group_changeset(attribute, values, type, diff) if type == :user_group
|
|
25
27
|
|
|
26
28
|
values = parse_values(attribute, values)
|
|
27
29
|
old_value = values[0]
|
|
@@ -117,7 +117,7 @@ module Decidim
|
|
|
117
117
|
if attachment.file.attached?
|
|
118
118
|
new_attachment.file = attachment.file.blob
|
|
119
119
|
else
|
|
120
|
-
new_attachment.attached_uploader(:file).remote_url = attachment.attached_uploader(:file).url
|
|
120
|
+
new_attachment.attached_uploader(:file).remote_url = attachment.attached_uploader(:file).url
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
new_attachment.save!
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<%= check_box_tag "proposals_bulk", "all", false, class: "js-check-all" %>
|
|
22
22
|
</th>
|
|
23
23
|
<th class="!text-left">
|
|
24
|
-
<%= sort_link(query, :
|
|
24
|
+
<%= sort_link(query, :translated_title, t("models.proposal.fields.title", scope: "decidim.proposals") ) %>
|
|
25
25
|
</th>
|
|
26
26
|
<th>
|
|
27
27
|
<%= sort_link(query, :published_at, t("models.proposal.fields.published_at", scope: "decidim.proposals") ) %>
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
</th>
|
|
55
55
|
|
|
56
56
|
<th>
|
|
57
|
-
<%=
|
|
57
|
+
<%= t("models.proposal.fields.state", scope: "decidim.proposals") %>
|
|
58
58
|
</th>
|
|
59
59
|
|
|
60
60
|
<th class="actions"><%= t("actions.title", scope: "decidim.proposals") %></th>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
<% if Decidim::Map.available?(:geocoding, :dynamic) && component_settings.geocoding_enabled? %>
|
|
33
33
|
<div class="proposal-list__map">
|
|
34
|
-
<%= dynamic_map_for proposals_data_for_map(@
|
|
34
|
+
<%= dynamic_map_for proposals_data_for_map(@proposals) do %>
|
|
35
35
|
<template id="marker-popup">
|
|
36
36
|
<div class="space-y-6">
|
|
37
37
|
<a href="${link}" class="card__list">
|
|
@@ -3,3 +3,15 @@ var $orderFilterInput = $('.order_filter');
|
|
|
3
3
|
|
|
4
4
|
$proposals.html('<%= j(render partial: "proposals").strip.html_safe %>');
|
|
5
5
|
$orderFilterInput.val('<%= order %>');
|
|
6
|
+
|
|
7
|
+
<% if Decidim::Map.available?(:geocoding, :dynamic) && component_settings.geocoding_enabled? %>
|
|
8
|
+
var $map = $("#map");
|
|
9
|
+
var controller = $map.data("map-controller");
|
|
10
|
+
if (controller) {
|
|
11
|
+
var markerData = JSON.parse('<%= escape_javascript proposals_data_for_map(@proposals).to_json.html_safe %>');
|
|
12
|
+
controller.clearMarkers();
|
|
13
|
+
if (markerData.length > 0 ) {
|
|
14
|
+
controller.addMarkers(markerData);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
<% end %>
|
|
@@ -77,7 +77,7 @@ extra_admin_link(
|
|
|
77
77
|
<% end %>
|
|
78
78
|
|
|
79
79
|
<% if component_settings.geocoding_enabled? && @proposal.geocoded? %>
|
|
80
|
-
<div class="static-map__container">
|
|
80
|
+
<div class="static-map__container py-6">
|
|
81
81
|
<%= render partial: "decidim/shared/static_map", locals: { icon_name: "proposals", geolocalizable: @proposal } %>
|
|
82
82
|
</div>
|
|
83
83
|
<% end %>
|
data/config/locales/ar.yml
CHANGED
|
@@ -311,12 +311,10 @@ ar:
|
|
|
311
311
|
notification_title: تم رفض الاقتراح <a href="%{resource_path}">%{resource_title}</a>.
|
|
312
312
|
proposal_update_category:
|
|
313
313
|
email_intro: 'قام المشرف بتحديث فئة اقتراحك "%{resource_title}" ، تحقق من ذلك في هذه الصفحة:'
|
|
314
|
-
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف الاقتراح.
|
|
315
314
|
email_subject: تم تحديث فئة %{resource_title} اقتراح
|
|
316
315
|
notification_title: تم تحديث فئة اقتراح <a href="%{resource_path}">%{resource_title}</a> بواسطة مسؤول.
|
|
317
316
|
proposal_update_scope:
|
|
318
317
|
email_intro: 'قام مدير بتحديث نطاق اقتراحك "%{resource_title}" ، يرجى التحقق منه على هذه الصفحة:'
|
|
319
|
-
email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف الاقتراح.
|
|
320
318
|
email_subject: تم تحديث نطاق الاقتراح %{resource_title}
|
|
321
319
|
notification_title: نطاق الاقتراح <a href="%{resource_path}">%{resource_title}</a> تم تحديثه من قبل مدير.
|
|
322
320
|
voting_enabled:
|
|
@@ -376,7 +374,7 @@ ar:
|
|
|
376
374
|
title: الدعم
|
|
377
375
|
participatory_spaces:
|
|
378
376
|
highlighted_proposals:
|
|
379
|
-
see_all: شاهد الكل
|
|
377
|
+
see_all: شاهد الكل
|
|
380
378
|
proposals:
|
|
381
379
|
actions:
|
|
382
380
|
answer_proposal: الرد على المُقتَرَح
|
data/config/locales/bg.yml
CHANGED
|
@@ -105,7 +105,7 @@ bg:
|
|
|
105
105
|
'false': Предложения
|
|
106
106
|
'true': Изменения
|
|
107
107
|
scope_id_eq:
|
|
108
|
-
label:
|
|
108
|
+
label: Сфера
|
|
109
109
|
state_eq:
|
|
110
110
|
label: Състояние
|
|
111
111
|
values:
|
|
@@ -130,7 +130,7 @@ bg:
|
|
|
130
130
|
actions:
|
|
131
131
|
amend: Промяна
|
|
132
132
|
comment: Коментар
|
|
133
|
-
create:
|
|
133
|
+
create: Създаване
|
|
134
134
|
endorse: Одобри
|
|
135
135
|
vote: Поддръжка
|
|
136
136
|
vote_comment: Оцени коментара
|
|
@@ -179,7 +179,7 @@ bg:
|
|
|
179
179
|
proposal_wizard_step_3_help_text: Текст на помощника за стъпка "Завърши"
|
|
180
180
|
proposal_wizard_step_4_help_text: Помощен текст на стъпка "Публикуване" на съветника за предложения
|
|
181
181
|
resources_permissions_enabled: Позволените действия могат да се задават за всяко предложение
|
|
182
|
-
scope_id:
|
|
182
|
+
scope_id: Сфера
|
|
183
183
|
scopes_enabled: Обхватите са активирани
|
|
184
184
|
threshold_per_proposal: Праг за предложенията
|
|
185
185
|
vote_limit: Максимален брой поддръжки на участник
|
|
@@ -320,12 +320,10 @@ bg:
|
|
|
320
320
|
notification_title: Предложението <a href="%{resource_path}">%{resource_title}</a> беше отхвърлено.
|
|
321
321
|
proposal_update_category:
|
|
322
322
|
email_intro: 'Администратор актуализира категорията на Вашето предложение „%{resource_title}“. Вижте повече на тази страница:'
|
|
323
|
-
email_outro: Получавате това известие, защото сте авторът на предложението.
|
|
324
323
|
email_subject: Категорията на предложението %{resource_title} беше актуализирана
|
|
325
324
|
notification_title: Категорията на предложението <a href="%{resource_path}">%{resource_title}</a> беше актуализирана от администратор.
|
|
326
325
|
proposal_update_scope:
|
|
327
326
|
email_intro: 'Администратор актуализира обхвата на Вашето предложение „%{resource_title}“. Вижте повече на тази страница:'
|
|
328
|
-
email_outro: Получавате това известие, защото сте авторът на предложението.
|
|
329
327
|
email_subject: Обхватът на предложението %{resource_title} беше актуализиран
|
|
330
328
|
notification_title: Обхватът на предложението <a href="%{resource_path}">%{resource_title}</a> беше актуализиран от администратор.
|
|
331
329
|
voting_enabled:
|
|
@@ -653,7 +651,7 @@ bg:
|
|
|
653
651
|
open: Отворен
|
|
654
652
|
published: Публикувано
|
|
655
653
|
related_to: Свързано с
|
|
656
|
-
scope:
|
|
654
|
+
scope: Сфера
|
|
657
655
|
search: Търсене
|
|
658
656
|
state: Статус
|
|
659
657
|
withdrawn: Оттеглено
|
|
@@ -739,7 +737,7 @@ bg:
|
|
|
739
737
|
official_proposal: Официално предложение
|
|
740
738
|
published_answer: Публикуван отговор
|
|
741
739
|
published_at: Публикувано на
|
|
742
|
-
scope:
|
|
740
|
+
scope: Сфера
|
|
743
741
|
state: Статус
|
|
744
742
|
title: Заглавие
|
|
745
743
|
valuator: Оценител
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
bn:
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
bs:
|
|
3
|
+
activemodel:
|
|
4
|
+
attributes:
|
|
5
|
+
valuation_assignment:
|
|
6
|
+
admin_log:
|
|
7
|
+
valuator_role_id: Ime procenjivača
|
|
8
|
+
errors:
|
|
9
|
+
models:
|
|
10
|
+
proposal:
|
|
11
|
+
attributes:
|
|
12
|
+
body:
|
|
13
|
+
cant_be_equal_to_template: ne može biti jednak šablonu
|
|
14
|
+
models:
|
|
15
|
+
decidim/proposals/admin/update_proposal_scope_event: Predlog opsega izmenjen
|
|
16
|
+
decidim:
|
|
17
|
+
admin:
|
|
18
|
+
filters:
|
|
19
|
+
proposals:
|
|
20
|
+
valuator_role_ids_has:
|
|
21
|
+
label: Dodeljeno procenjivaču
|
|
22
|
+
search_placeholder:
|
|
23
|
+
id_string_or_title_cont: Pretraži %{collection} prema identifikacionom broju ili nazivu.
|
|
24
|
+
components:
|
|
25
|
+
proposals:
|
|
26
|
+
settings:
|
|
27
|
+
global:
|
|
28
|
+
new_proposal_body_template: Novi predlog šablona glavnog teksta
|
|
29
|
+
new_proposal_body_template_help: Možete da definišete tekst koji će se pojavljivati pri kreiranju novog predloga
|
|
30
|
+
step:
|
|
31
|
+
amendments_visibility: Vidljivost izmena
|
|
32
|
+
amendments_visibility_choices:
|
|
33
|
+
all: Izmene su vidljive svima
|
|
34
|
+
participants: Izmene su vidljive samo svojim autorima
|
|
35
|
+
answers_with_costs: Omogući troškove za odgovore na predloge
|
|
36
|
+
publish_answers_immediately: Objavi odgovore na predloge odmah
|
|
37
|
+
events:
|
|
38
|
+
proposals:
|
|
39
|
+
admin:
|
|
40
|
+
proposal_note_created:
|
|
41
|
+
email_outro: Dobili ste ovo obaveštenje jer možete da procenite predlog.
|
|
42
|
+
email_subject: Neko je ostavio poruku na predlogu %{resource_title}.
|
|
43
|
+
proposal_update_scope:
|
|
44
|
+
email_intro: 'Administrator je ažurirao opseg vašeg predloga "%{resource_title}", pogledajte na ovoj strani:'
|
|
45
|
+
email_subject: Opseg predloga %{resource_title} je ažuriran
|
|
46
|
+
proposals:
|
|
47
|
+
actions:
|
|
48
|
+
answer_proposal: Odgovor na predlog
|
|
49
|
+
show: Prikaži predlog
|
|
50
|
+
admin:
|
|
51
|
+
proposals:
|
|
52
|
+
index:
|
|
53
|
+
assign_to_valuator: Dodeli procenjivaču
|
|
54
|
+
assign_to_valuator_button: Dodeli
|
|
55
|
+
change_scope: Promeni opseg
|
|
56
|
+
publish_answers: Objavi odgovore
|
|
57
|
+
unassign_from_valuator: Oduzmi od procenjivača
|
|
58
|
+
unassign_from_valuator_button: Od dodeli
|
|
59
|
+
update_scope_button: Ažuriraj opseg
|
|
60
|
+
show:
|
|
61
|
+
amendments_count: Broj izmena
|
|
62
|
+
assigned_valuators: Dodeljeni procenjivači
|
|
63
|
+
comments_count: Broj komentara
|
|
64
|
+
documents: Dokumenti
|
|
65
|
+
endorsements_count: Broj podržavanja
|
|
66
|
+
endorsers: Podržavaoci
|
|
67
|
+
n_more_endorsers:
|
|
68
|
+
one: i još 1
|
|
69
|
+
few: i još %{count}
|
|
70
|
+
other: i još %{count}
|
|
71
|
+
photos: Slike
|
|
72
|
+
ranking: "%{ranking} od %{total}"
|
|
73
|
+
related_meetings: Slični sastanci
|
|
74
|
+
remove_assignment: Ukloni zadatak
|
|
75
|
+
remove_assignment_confirmation: Da li ste sigurni da želite da uklonite procenjivača sa ovog predloga?
|
|
76
|
+
valuators: Procenjivači
|
|
77
|
+
update_category:
|
|
78
|
+
invalid: 'Ovi predlozi već imaju %{subject_name} kategoriju: %{proposals}.'
|
|
79
|
+
success: 'Predlozi uspešno dodati u kategoriju %{subject_name}: %{proposals}.'
|
|
80
|
+
update_scope:
|
|
81
|
+
invalid: 'Ovi predlozi već imaju %{subject_name} opseg: %{proposals}.'
|
|
82
|
+
success: 'Predlozi kojima je uspešno dodat opseg %{subject_name}: %{proposals}.'
|
|
83
|
+
admin_log:
|
|
84
|
+
proposal:
|
|
85
|
+
publish_answer: "%{user_name} je objavio odgovor na predlog %{resource_name} u prostoru %{space_name}"
|
|
86
|
+
valuation_assignment:
|
|
87
|
+
create: "%{user_name} je dodao predlog %{resource_name} procenjivaču"
|
|
88
|
+
models:
|
|
89
|
+
proposal:
|
|
90
|
+
fields:
|
|
91
|
+
published_answer: Objavljeni odgovor
|
|
92
|
+
valuator: Procenjivač
|
|
93
|
+
valuators: Procenjivači
|
|
94
|
+
proposals:
|
|
95
|
+
show:
|
|
96
|
+
estimated_cost: Procenjen trošak
|
|
97
|
+
proposals_picker:
|
|
98
|
+
choose_proposals: Izaberi predloge
|
|
99
|
+
publish_answers:
|
|
100
|
+
success: Odgovori na predloge uspešno objavljeni.
|
data/config/locales/ca.yml
CHANGED
|
@@ -130,7 +130,7 @@ ca:
|
|
|
130
130
|
actions:
|
|
131
131
|
amend: Esmena
|
|
132
132
|
comment: Comentar
|
|
133
|
-
create:
|
|
133
|
+
create: Crea
|
|
134
134
|
endorse: Adherir-se
|
|
135
135
|
vote: Donar suport
|
|
136
136
|
vote_comment: Votar el comentari
|
|
@@ -320,12 +320,12 @@ ca:
|
|
|
320
320
|
notification_title: S'ha rebutjat la proposta <a href="%{resource_path}">%{resource_title}</a>.
|
|
321
321
|
proposal_update_category:
|
|
322
322
|
email_intro: 'Una administradora ha actualitzat la categoria de la teva proposta "%{resource_title}", fes-hi una ullada:'
|
|
323
|
-
email_outro: Has rebut aquesta notificació perquè
|
|
323
|
+
email_outro: Has rebut aquesta notificació perquè ets l'autora de la proposta.
|
|
324
324
|
email_subject: S'ha actualitzat la categoria de la proposta %{resource_title}
|
|
325
325
|
notification_title: La categoria de la proposta <a href="%{resource_path}">%{resource_title}</a> ha estat actualitzada per una administradora.
|
|
326
326
|
proposal_update_scope:
|
|
327
327
|
email_intro: 'Una administradora ha actualitzat l''àmbit de la teva proposta "%{resource_title}", fes-hi una ullada:'
|
|
328
|
-
email_outro: Has rebut aquesta notificació perquè
|
|
328
|
+
email_outro: Has rebut aquesta notificació perquè ets l'autora de la proposta.
|
|
329
329
|
email_subject: S'ha actualitzat l'àmbit de la proposta %{resource_title}
|
|
330
330
|
notification_title: L'àmbit de la proposta <a href="%{resource_path}">%{resource_title}</a> ha estat actualitzat per una administradora.
|
|
331
331
|
voting_enabled:
|
|
@@ -498,7 +498,7 @@ ca:
|
|
|
498
498
|
title: Actualitza la proposta
|
|
499
499
|
update: Actualizar
|
|
500
500
|
form:
|
|
501
|
-
attachment_legend: "(Opcional)
|
|
501
|
+
attachment_legend: "(Opcional) Afegeix un fitxer adjunt"
|
|
502
502
|
created_in_meeting: Aquesta proposta prové d'una trobada
|
|
503
503
|
delete_attachment: Suprimeix l'adjunt
|
|
504
504
|
select_a_category: Selecciona una categoria
|
|
@@ -834,7 +834,7 @@ ca:
|
|
|
834
834
|
show:
|
|
835
835
|
answer: Resposta
|
|
836
836
|
changes_at_title: Esmena a "%{title}"
|
|
837
|
-
edit_proposal: Edita proposta
|
|
837
|
+
edit_proposal: Edita la proposta
|
|
838
838
|
estimated_cost: Cost estimat
|
|
839
839
|
hidden_endorsers_count:
|
|
840
840
|
one: i %{count} persona més
|
data/config/locales/cs.yml
CHANGED
|
@@ -113,7 +113,7 @@ cs:
|
|
|
113
113
|
'false': Návrhy
|
|
114
114
|
'true': Pozměňovací návrhy
|
|
115
115
|
scope_id_eq:
|
|
116
|
-
label:
|
|
116
|
+
label: Rozsah
|
|
117
117
|
state_eq:
|
|
118
118
|
label: Stav
|
|
119
119
|
values:
|
|
@@ -187,7 +187,7 @@ cs:
|
|
|
187
187
|
proposal_wizard_step_3_help_text: Text průvodce kroku nápovědy „Dokončit“ Návrh
|
|
188
188
|
proposal_wizard_step_4_help_text: Text nápovědy ke kroku "Zveřejnit" průvodce návrhem
|
|
189
189
|
resources_permissions_enabled: Pro každý návrh lze nastavit oprávnění akce
|
|
190
|
-
scope_id:
|
|
190
|
+
scope_id: Rozsah
|
|
191
191
|
scopes_enabled: Oblasti působnosti povoleny
|
|
192
192
|
threshold_per_proposal: Prah na návrh
|
|
193
193
|
vote_limit: Počet hlasů na uživatele
|
|
@@ -328,12 +328,12 @@ cs:
|
|
|
328
328
|
notification_title: Návrh <a href="%{resource_path}">%{resource_title}</a> byl zamítnut.
|
|
329
329
|
proposal_update_category:
|
|
330
330
|
email_intro: 'Správce aktualizoval kategorii vašeho návrhu "%{resource_title}", podívejte se na něj:'
|
|
331
|
-
email_outro:
|
|
331
|
+
email_outro: Obdrželi jste toto oznámení, protože jste autorem návrhu.
|
|
332
332
|
email_subject: Kategorie návrhů %{resource_title} byla aktualizována
|
|
333
333
|
notification_title: Kategorie návrhu <a href="%{resource_path}">%{resource_title}</a> byla aktualizována administrátorem.
|
|
334
334
|
proposal_update_scope:
|
|
335
335
|
email_intro: 'Administrátor aktualizoval rozsah vašeho návrhu "%{resource_title}", podívejte se na tuto stránku:'
|
|
336
|
-
email_outro:
|
|
336
|
+
email_outro: Obdrželi jste toto oznámení, protože jste autorem návrhu.
|
|
337
337
|
email_subject: Rámec návrhu %{resource_title} byl aktualizován
|
|
338
338
|
notification_title: Rozsah návrhu <a href="%{resource_path}">%{resource_title}</a> byl aktualizován správcem.
|
|
339
339
|
voting_enabled:
|
|
@@ -396,7 +396,7 @@ cs:
|
|
|
396
396
|
participatory_spaces:
|
|
397
397
|
highlighted_proposals:
|
|
398
398
|
last: Poslední návrhy
|
|
399
|
-
see_all: Zobrazit všechny
|
|
399
|
+
see_all: Zobrazit všechny
|
|
400
400
|
proposals:
|
|
401
401
|
actions:
|
|
402
402
|
answer_proposal: Odpověď na návrh
|
data/config/locales/de.yml
CHANGED
|
@@ -179,7 +179,7 @@ de:
|
|
|
179
179
|
proposal_wizard_step_3_help_text: Hilfetext "Fertigstellen"-Schritt im Vorschlagsassistenten
|
|
180
180
|
proposal_wizard_step_4_help_text: Hilfetext "Veröffentlichen"-Schritt im Vorschlagsassistenten
|
|
181
181
|
resources_permissions_enabled: Berechtigungen können für jeden Vorschlag festgelegt werden
|
|
182
|
-
scope_id:
|
|
182
|
+
scope_id: Umfang
|
|
183
183
|
scopes_enabled: Bereiche aktiviert
|
|
184
184
|
threshold_per_proposal: Schwellenwert pro Vorschlag
|
|
185
185
|
vote_limit: Unterstützungslimit pro Benutzer
|
|
@@ -320,12 +320,12 @@ de:
|
|
|
320
320
|
notification_title: Der Vorschlag <a href="%{resource_path}">%{resource_title}</a> wurde abgelehnt.
|
|
321
321
|
proposal_update_category:
|
|
322
322
|
email_intro: 'Ein Administrator hat die Kategorie Ihres Vorschlags "%{resource_title}" aktualisiert, sehen Sie es sich an:'
|
|
323
|
-
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie
|
|
323
|
+
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie diesen Vorschlag verfasst haben.
|
|
324
324
|
email_subject: Die Vorschlagskategorie %{resource_title} wurde aktualisiert
|
|
325
325
|
notification_title: Die Vorschlagskategorie <a href="%{resource_path}">%{resource_title}</a> wurde von einem Administrator aktualisiert.
|
|
326
326
|
proposal_update_scope:
|
|
327
327
|
email_intro: 'Ein Administrator hat den Bereich Ihres Vorschlags „%{resource_title}“ aktualisiert, sehen Sie es sich das auf dieser Seite an:'
|
|
328
|
-
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie
|
|
328
|
+
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie diesen Vorschlag verfasst haben.
|
|
329
329
|
email_subject: Der Bereich des Vorschlags %{resource_title} wurde aktualisiert
|
|
330
330
|
notification_title: Der Bereich des Vorschlags <a href="%{resource_path}">%{resource_title}</a> wurde von einem Administrator aktualisiert.
|
|
331
331
|
voting_enabled:
|
|
@@ -388,7 +388,7 @@ de:
|
|
|
388
388
|
participatory_spaces:
|
|
389
389
|
highlighted_proposals:
|
|
390
390
|
last: Letzte Vorschläge
|
|
391
|
-
see_all: Alle anzeigen
|
|
391
|
+
see_all: Alle anzeigen
|
|
392
392
|
proposals:
|
|
393
393
|
actions:
|
|
394
394
|
answer_proposal: Vorschlag beantworten
|
|
@@ -498,7 +498,7 @@ de:
|
|
|
498
498
|
title: Vorschlag aktualisieren
|
|
499
499
|
update: Aktualisieren
|
|
500
500
|
form:
|
|
501
|
-
attachment_legend: "(Optional) Anhang
|
|
501
|
+
attachment_legend: "(Optional) Fügen Sie einen Anhang hinzu"
|
|
502
502
|
created_in_meeting: Dieser Vorschlag stammt von einer Besprechung
|
|
503
503
|
delete_attachment: Anhang löschen
|
|
504
504
|
select_a_category: Kategorie auswählen
|
|
@@ -693,7 +693,7 @@ de:
|
|
|
693
693
|
error: Konnte nicht als Mitarbeiter abgelehnt werden, versuche es später erneut.
|
|
694
694
|
success: "@%{user} wurde als Mitwirkende erfolgreich abgelehnt."
|
|
695
695
|
show:
|
|
696
|
-
edit:
|
|
696
|
+
edit: Gemeinsamen Entwurf bearbeiten
|
|
697
697
|
final_proposal: Endgültiger Vorschlag
|
|
698
698
|
final_proposal_help_text: Dieser Entwurf ist fertig. Sie können den endgültigen fertigen Vorschlag sehen
|
|
699
699
|
hidden_authors_count:
|
|
@@ -742,7 +742,7 @@ de:
|
|
|
742
742
|
scope: Umfang
|
|
743
743
|
state: Status
|
|
744
744
|
title: Titel
|
|
745
|
-
valuator:
|
|
745
|
+
valuator: Bewertende
|
|
746
746
|
valuators: Bewertende
|
|
747
747
|
votes: Stimmen
|
|
748
748
|
new:
|