decidim-proposals 0.31.7 → 0.31.8
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/controllers/concerns/decidim/proposals/admin/filterable.rb +3 -0
- data/app/controllers/concerns/decidim/proposals/admin/needs_interpolations.rb +2 -0
- data/app/controllers/decidim/proposals/admin/participatory_texts_controller.rb +1 -0
- data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +3 -2
- data/app/controllers/decidim/proposals/admin/proposals_controller.rb +5 -2
- data/app/controllers/decidim/proposals/admin/proposals_imports_controller.rb +1 -1
- data/app/controllers/decidim/proposals/admin/proposals_merges_controller.rb +1 -0
- data/app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb +6 -0
- data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +10 -0
- data/app/controllers/decidim/proposals/proposals_controller.rb +4 -0
- data/app/controllers/decidim/proposals/versions_controller.rb +2 -0
- data/app/permissions/decidim/proposals/admin/permissions.rb +13 -0
- data/app/permissions/decidim/proposals/permissions.rb +2 -1
- data/app/presenters/decidim/proposals/admin_log/value_types/evaluator_role_user_presenter.rb +4 -3
- data/app/views/decidim/proposals/proposals/_proposal_actions.html.erb +1 -1
- data/config/locales/ar.yml +0 -1
- data/config/locales/bg.yml +0 -3
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +2 -0
- data/config/locales/de.yml +26 -2
- data/config/locales/el.yml +0 -1
- data/config/locales/en.yml +2 -2
- data/config/locales/eu.yml +131 -131
- data/config/locales/fr-CA.yml +3 -2
- data/config/locales/fr.yml +12 -2
- data/config/locales/ga-IE.yml +0 -1
- data/config/locales/gl.yml +550 -12
- data/config/locales/hu.yml +0 -1
- data/config/locales/it.yml +12 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/lt.yml +0 -1
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +0 -3
- data/config/locales/pt-BR.yml +0 -3
- data/config/locales/pt.yml +0 -1
- data/config/locales/ro-RO.yml +0 -1
- data/config/locales/sk.yml +0 -3
- data/config/locales/sv.yml +20 -1
- data/config/locales/tr-TR.yml +0 -3
- data/config/locales/zh-CN.yml +0 -1
- data/config/locales/zh-TW.yml +0 -1
- data/lib/decidim/proposals/seeds.rb +4 -2
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +20 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83dc0e0f7e49cb5379a1c4f8a4d4ed134abb7f8c218491df050d7860356b3ec4
|
|
4
|
+
data.tar.gz: 35774a18c409c343f09248ca4debee844f8381118846085739874981db4d042f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1f7d2f49d334d92e46c919d3e3d025e693f20e815c20a5468d2b6ab0cae05b89f4f0f19d288f38bc022b803192b785dda54e2b8ab1633ca10aa704628deab946
|
|
7
|
+
data.tar.gz: 3e43f9dab32e01fdd963b6ab7d1981cad8398128d583fa1a35a72e79195eb2d75c36f8599b821a57fa7ee75e012d643d2cf1f2fe39c3dcbb807028e901233a95
|
|
@@ -27,6 +27,9 @@ module Decidim
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
def accessible_proposals_collection
|
|
30
|
+
# Administrators can manage every proposal, even when they also
|
|
31
|
+
# hold an evaluator role, matching the admin permissions.
|
|
32
|
+
return collection if current_user.admin?
|
|
30
33
|
return collection if current_participatory_space.user_roles(:evaluator).where(user: current_user).empty?
|
|
31
34
|
|
|
32
35
|
collection.with_evaluation_assigned_to(current_user, current_participatory_space)
|
|
@@ -9,6 +9,7 @@ module Decidim
|
|
|
9
9
|
helper ParticipatoryTextsHelper
|
|
10
10
|
|
|
11
11
|
def index
|
|
12
|
+
enforce_permission_to :manage, :participatory_texts
|
|
12
13
|
@drafts = Proposal.where(component: current_component).drafts.order(:position)
|
|
13
14
|
@preview_form = form(Admin::PreviewParticipatoryTextForm).instance
|
|
14
15
|
@preview_form.from_models(@drafts)
|
|
@@ -40,6 +40,7 @@ module Decidim
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def update_multiple_answers
|
|
43
|
+
enforce_permission_to(:read, :component, component: current_component)
|
|
43
44
|
valid_proposals = []
|
|
44
45
|
failed_proposals = []
|
|
45
46
|
proposals.each do |proposal|
|
|
@@ -87,7 +88,7 @@ module Decidim
|
|
|
87
88
|
def template
|
|
88
89
|
return unless Decidim.module_installed?(:templates)
|
|
89
90
|
|
|
90
|
-
@template ||= Decidim::Templates::Template.find_by(id: params[:template][:template_id])
|
|
91
|
+
@template ||= Decidim::Templates::Template.where(organization: current_organization).find_by(id: params[:template][:template_id])
|
|
91
92
|
end
|
|
92
93
|
|
|
93
94
|
def answer_form(proposal)
|
|
@@ -95,7 +96,7 @@ module Decidim
|
|
|
95
96
|
end
|
|
96
97
|
|
|
97
98
|
def proposal_state
|
|
98
|
-
@proposal_state ||= Decidim::Proposals::ProposalState.find_by(id: template&.field_values&.dig("proposal_state_id"))
|
|
99
|
+
@proposal_state ||= Decidim::Proposals::ProposalState.where(component: current_component).find_by(id: template&.field_values&.dig("proposal_state_id"))
|
|
99
100
|
end
|
|
100
101
|
end
|
|
101
102
|
end
|
|
@@ -18,9 +18,12 @@ module Decidim
|
|
|
18
18
|
|
|
19
19
|
before_action :check_admin_session_filters, only: [:index]
|
|
20
20
|
|
|
21
|
-
def index
|
|
21
|
+
def index
|
|
22
|
+
enforce_permission_to :read, :proposal
|
|
23
|
+
end
|
|
22
24
|
|
|
23
25
|
def show
|
|
26
|
+
enforce_permission_to(:read, :proposal, proposal:)
|
|
24
27
|
@notes_form = form(ProposalNoteForm).instance
|
|
25
28
|
@answer_form = form(Admin::ProposalAnswerForm).from_model(proposal)
|
|
26
29
|
end
|
|
@@ -157,7 +160,7 @@ module Decidim
|
|
|
157
160
|
end
|
|
158
161
|
|
|
159
162
|
def proposal
|
|
160
|
-
@proposal ||=
|
|
163
|
+
@proposal ||= accessible_proposals_collection.find(params.require(:id))
|
|
161
164
|
end
|
|
162
165
|
|
|
163
166
|
def proposal_ids
|
|
@@ -33,7 +33,7 @@ module Decidim
|
|
|
33
33
|
component = current_participatory_space.components.find_by(id: params[:origin_id])
|
|
34
34
|
|
|
35
35
|
if component
|
|
36
|
-
states = Decidim::Proposals::ProposalState
|
|
36
|
+
states = Decidim::Proposals::ProposalState # rubocop:disable Decidim/OrganizationScopedFinder -- component is scoped via current_participatory_space, which is org-scoped
|
|
37
37
|
.where(component:)
|
|
38
38
|
.map { |s| { token: s.token, title: translated_attribute(s.title) } }
|
|
39
39
|
states << { token: "not_answered", title: I18n.t("decidim.proposals.answers.not_answered") }
|
data/app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb
CHANGED
|
@@ -8,6 +8,8 @@ module Decidim
|
|
|
8
8
|
before_action :retrieve_collaborative_draft, only: [:request_access, :request_accept, :request_reject]
|
|
9
9
|
|
|
10
10
|
def request_access
|
|
11
|
+
enforce_permission_to :request_access, :collaborative_draft, collaborative_draft: @collaborative_draft
|
|
12
|
+
|
|
11
13
|
@request_access_form = form(RequestAccessToCollaborativeDraftForm).from_params(params)
|
|
12
14
|
RequestAccessToCollaborativeDraft.call(@request_access_form, current_user) do
|
|
13
15
|
on(:ok) do |_collaborative_draft|
|
|
@@ -22,6 +24,8 @@ module Decidim
|
|
|
22
24
|
end
|
|
23
25
|
|
|
24
26
|
def request_accept
|
|
27
|
+
enforce_permission_to :react_to_request_access, :collaborative_draft, collaborative_draft: @collaborative_draft
|
|
28
|
+
|
|
25
29
|
@accept_request_form = form(AcceptAccessToCollaborativeDraftForm).from_params(params)
|
|
26
30
|
AcceptAccessToCollaborativeDraft.call(@accept_request_form, current_user) do
|
|
27
31
|
on(:ok) do |requester_user|
|
|
@@ -36,6 +40,8 @@ module Decidim
|
|
|
36
40
|
end
|
|
37
41
|
|
|
38
42
|
def request_reject
|
|
43
|
+
enforce_permission_to :react_to_request_access, :collaborative_draft, collaborative_draft: @collaborative_draft
|
|
44
|
+
|
|
39
45
|
@reject_request_form = form(RejectAccessToCollaborativeDraftForm).from_params(params)
|
|
40
46
|
RejectAccessToCollaborativeDraft.call(@reject_request_form, current_user) do
|
|
41
47
|
on(:ok) do |requester_user|
|
|
@@ -23,6 +23,8 @@ module Decidim
|
|
|
23
23
|
before_action :retrieve_collaborative_draft, only: [:show, :edit, :update, :withdraw, :publish]
|
|
24
24
|
|
|
25
25
|
def index
|
|
26
|
+
enforce_permission_to :read, :collaborative_draft
|
|
27
|
+
|
|
26
28
|
@collaborative_drafts = search
|
|
27
29
|
.result
|
|
28
30
|
.not_hidden
|
|
@@ -35,6 +37,8 @@ module Decidim
|
|
|
35
37
|
def show
|
|
36
38
|
raise ActionController::RoutingError, "Not Found" unless retrieve_collaborative_draft
|
|
37
39
|
|
|
40
|
+
enforce_permission_to :read, :collaborative_draft, collaborative_draft: @collaborative_draft
|
|
41
|
+
|
|
38
42
|
@request_access_form = form(RequestAccessToCollaborativeDraftForm).from_params({})
|
|
39
43
|
@accept_request_form = form(AcceptAccessToCollaborativeDraftForm).from_params({})
|
|
40
44
|
@reject_request_form = form(RejectAccessToCollaborativeDraftForm).from_params({})
|
|
@@ -90,6 +94,9 @@ module Decidim
|
|
|
90
94
|
end
|
|
91
95
|
end
|
|
92
96
|
|
|
97
|
+
# Authorization is enforced by the command, which checks that the
|
|
98
|
+
# collaborative draft is open and authored by the current user.
|
|
99
|
+
# rubocop:disable Decidim/EnforcePermissionTo
|
|
93
100
|
def withdraw
|
|
94
101
|
WithdrawCollaborativeDraft.call(@collaborative_draft, current_user) do
|
|
95
102
|
on(:ok) do
|
|
@@ -102,8 +109,11 @@ module Decidim
|
|
|
102
109
|
end
|
|
103
110
|
redirect_to Decidim::ResourceLocatorPresenter.new(@collaborative_draft).path
|
|
104
111
|
end
|
|
112
|
+
# rubocop:enable Decidim/EnforcePermissionTo
|
|
105
113
|
|
|
106
114
|
def publish
|
|
115
|
+
enforce_permission_to :publish, :collaborative_draft, collaborative_draft: @collaborative_draft
|
|
116
|
+
|
|
107
117
|
PublishCollaborativeDraft.call(@collaborative_draft, current_user) do
|
|
108
118
|
on(:ok) do |proposal|
|
|
109
119
|
flash[:notice] = I18n.t("publish.success", scope: "decidim.proposals.collaborative_drafts.collaborative_draft")
|
|
@@ -32,6 +32,8 @@ module Decidim
|
|
|
32
32
|
# rubocop:enable Naming/VariableNumber
|
|
33
33
|
|
|
34
34
|
def index
|
|
35
|
+
enforce_permission_to :read, :proposal
|
|
36
|
+
|
|
35
37
|
if component_settings.participatory_texts_enabled?
|
|
36
38
|
@proposals = Decidim::Proposals::Proposal
|
|
37
39
|
.where(component: current_component)
|
|
@@ -52,6 +54,8 @@ module Decidim
|
|
|
52
54
|
|
|
53
55
|
def show
|
|
54
56
|
raise ActionController::RoutingError, "Not Found" if @proposal.blank? || !can_show_proposal?
|
|
57
|
+
|
|
58
|
+
enforce_permission_to :read, :proposal, proposal: @proposal
|
|
55
59
|
end
|
|
56
60
|
|
|
57
61
|
def new
|
|
@@ -15,6 +15,7 @@ module Decidim
|
|
|
15
15
|
can_create_proposal_answer?
|
|
16
16
|
can_assign_evaluator_to_proposal?
|
|
17
17
|
end
|
|
18
|
+
can_read_proposal?
|
|
18
19
|
can_export_proposals?
|
|
19
20
|
|
|
20
21
|
return permission_action
|
|
@@ -26,6 +27,9 @@ module Decidim
|
|
|
26
27
|
can_create_proposal_answer?
|
|
27
28
|
end
|
|
28
29
|
|
|
30
|
+
# Every user allowed by the space can read proposals
|
|
31
|
+
allow! if permission_action.subject == :proposal && permission_action.action == :read
|
|
32
|
+
|
|
29
33
|
# Admins can only edit official proposals if they are within the
|
|
30
34
|
# time limit.
|
|
31
35
|
allow! if permission_action.subject == :proposal && permission_action.action == :edit && admin_edition_is_available?
|
|
@@ -142,6 +146,15 @@ module Decidim
|
|
|
142
146
|
toggle_allow(admin_proposal_answering_is_enabled?) if permission_action.subject == :proposal_answer
|
|
143
147
|
end
|
|
144
148
|
|
|
149
|
+
# Evaluators can read the proposals collection (e.g. the index action)
|
|
150
|
+
# but only their assigned proposals as individual records (e.g. the
|
|
151
|
+
# show action).
|
|
152
|
+
def can_read_proposal?
|
|
153
|
+
return unless permission_action.subject == :proposal && permission_action.action == :read
|
|
154
|
+
|
|
155
|
+
toggle_allow(proposal.nil? || evaluator_assigned_to_proposal?)
|
|
156
|
+
end
|
|
157
|
+
|
|
145
158
|
def can_unassign_evaluator_from_proposals?
|
|
146
159
|
allow! if permission_action.subject == :proposals && permission_action.action == :unassign_from_evaluator
|
|
147
160
|
end
|
|
@@ -8,7 +8,8 @@ module Decidim
|
|
|
8
8
|
return Decidim::Proposals::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin
|
|
9
9
|
return permission_action if permission_action.scope != :public
|
|
10
10
|
|
|
11
|
-
toggle_allow(!proposal.hidden?) if permission_action.subject == :proposal && permission_action.action == :read
|
|
11
|
+
toggle_allow(proposal.nil? || !proposal.hidden?) if permission_action.subject == :proposal && permission_action.action == :read
|
|
12
|
+
toggle_allow(collaborative_draft.nil? || !collaborative_draft.hidden?) if permission_action.subject == :collaborative_draft && permission_action.action == :read
|
|
12
13
|
return permission_action unless user
|
|
13
14
|
|
|
14
15
|
case permission_action.subject
|
data/app/presenters/decidim/proposals/admin_log/value_types/evaluator_role_user_presenter.rb
CHANGED
|
@@ -8,9 +8,10 @@ module Decidim
|
|
|
8
8
|
def present
|
|
9
9
|
return unless value
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
assignment = Decidim::Proposals::EvaluationAssignment.find_by(evaluator_role_id: value)
|
|
12
|
+
return unless assignment
|
|
13
|
+
|
|
14
|
+
assignment.evaluator_role&.user&.name
|
|
14
15
|
end
|
|
15
16
|
end
|
|
16
17
|
end
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
<% if @proposal.withdrawable_by?(current_user) %>
|
|
13
13
|
<li role="presentation" class="dropdown__item">
|
|
14
|
-
<%= action_authorized_link_to :withdraw, withdraw_proposal_path(@proposal), resource: @proposal, method: :put, class: "dropdown__button", role: "menuitem", title: t("withdraw_btn_hint", scope: "decidim.proposals.proposals.show" ), data: { confirm: t("withdraw_confirmation_html", scope: "decidim.proposals.proposals.show" ) } do %>
|
|
14
|
+
<%= action_authorized_link_to :withdraw, withdraw_proposal_path(@proposal), resource: @proposal, method: :put, class: "dropdown__button", role: "menuitem", title: t("withdraw_btn_hint", scope: "decidim.proposals.proposals.show" ), data: { confirm: t("withdraw_confirmation_html", scope: "decidim.proposals.proposals.show" ), confirm_icon: "arrow-go-back-line" } do %>
|
|
15
15
|
<span><%= t("withdraw_proposal", scope: "decidim.proposals.proposals.show") %></span>
|
|
16
16
|
<%= icon "arrow-go-back-line" %>
|
|
17
17
|
<% end %>
|
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
data/config/locales/cs.yml
CHANGED
|
@@ -94,6 +94,7 @@ cs:
|
|
|
94
94
|
proposal:
|
|
95
95
|
budget_text: Návrh <span class="resource-link">%{link} byl vytvořen</span>
|
|
96
96
|
import_from_proposal_text: 'Stal se z něj tento návrh: %{link}'
|
|
97
|
+
import_to_proposal_text: Tento návrh <span "resource-link">%{link} byl vytvořen</span>
|
|
97
98
|
merge_from_proposal_text: 'Stal se z něj tento návrh: %{link}'
|
|
98
99
|
merge_to_proposal_text: 'Tento návrh byl vytvořen: %{link}'
|
|
99
100
|
split_from_proposal_text: 'Stal se z něj tento návrh: %{link}'
|
|
@@ -651,6 +652,7 @@ cs:
|
|
|
651
652
|
number_of_proposals: Odpovědi na %{number} návrhů budou zveřejněny?
|
|
652
653
|
select_a_proposal: Vyberte návrh.
|
|
653
654
|
show:
|
|
655
|
+
address: Adresa
|
|
654
656
|
amendments_count: Počet pozměňovacích návrhů
|
|
655
657
|
assigned_evaluators: Přiřazení hodnotitelé
|
|
656
658
|
body: Tělo
|
data/config/locales/de.yml
CHANGED
|
@@ -53,6 +53,7 @@ de:
|
|
|
53
53
|
file: Datei
|
|
54
54
|
proposals_import:
|
|
55
55
|
import_proposals: Vorschläge importieren
|
|
56
|
+
keep_answers: Status und Antworten beibehalten
|
|
56
57
|
keep_authors: Behalten Sie die ursprünglichen Autoren
|
|
57
58
|
errors:
|
|
58
59
|
models:
|
|
@@ -62,6 +63,8 @@ de:
|
|
|
62
63
|
allowed_file_content_types: 'Ungültiger Dokumententyp. Nur Dateien mit folgenden Erweiterungen sind erlaubt: %{types}'
|
|
63
64
|
proposal:
|
|
64
65
|
attributes:
|
|
66
|
+
add_attachments:
|
|
67
|
+
needs_to_be_reattached: Muss erneut angehängt werden
|
|
65
68
|
body:
|
|
66
69
|
cant_be_equal_to_template: kann nicht gleich der Vorlage sein
|
|
67
70
|
identical: UND Titel dürfen nicht identisch sein
|
|
@@ -172,7 +175,9 @@ de:
|
|
|
172
175
|
can_accumulate_votes_beyond_threshold: Stimmen können nach Erreichen des Schwellwerts weiter gesammelt werden
|
|
173
176
|
clear_all: Alles löschen
|
|
174
177
|
collaborative_drafts_enabled: Kollaborative Entwürfe aktiviert
|
|
178
|
+
collaborative_drafts_enabled_help: Die Funktion "Gemeinsame Entwürfe" wird in Decidim v0.32 entfernt. Organisationen, die sie nutzen, können auf die neue Funktion zur gemeinsamen Autorenschaft von Vorschlägen umsteigen.
|
|
175
179
|
comments_enabled: Kommentare aktiviert
|
|
180
|
+
comments_max_length: Maximale Zeichenanzahl pro Kommentar (0 für Standardwert)
|
|
176
181
|
default_sort_order: Standardsortierung für Vorschläge
|
|
177
182
|
default_sort_order_help: Standardmäßig bedeutet, dass bei aktivierten Stimmensammlung die Vorschläge nach Zufall und bei deaktivierter Stimmensammlung nach den meist gewählten Vorschläge sortiert werden.
|
|
178
183
|
default_sort_order_options:
|
|
@@ -271,13 +276,17 @@ de:
|
|
|
271
276
|
email_intro: '%{author_name} hat eine private Notiz unter %{resource_title} erstellt. Jetzt im <a href="%{admin_proposal_info_url}">Admin-Panel</a> anzeigen.'
|
|
272
277
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie den Vorschlag bewerten können.
|
|
273
278
|
email_subject: Jemand hat eine Notiz für Vorschlag %{resource_title} erstellt.
|
|
279
|
+
notification_title: <a href="%{author_path}">%{author_name}</a> hat eine private Notiz zu <a href="%{resource_path}">%{resource_title}</a> erstellt. Im <a href="%{admin_proposal_info_path}">Admin-Bereich</a> finden Sie die Details.
|
|
274
280
|
proposal_note_mentioned:
|
|
281
|
+
email_intro: Sie wurden von "%{author_name}" in einer privaten Notiz zu "%{resource_title}" erwähnt. Im <a href="%{admin_proposal_info_url}">Admin-Bereich</a> finden Sie die Details.
|
|
275
282
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie in einer privaten Notiz erwähnt wurden.
|
|
276
283
|
email_subject: Jemand hat Sie in einer Notiz zum Vorschlag "%{resource_title}" erwähnt.
|
|
284
|
+
notification_title: Sie wurden von <a href="%{author_path}">%{author_name}</a> in einer privaten Notiz zu <a href="%{resource_path}">%{resource_title}</a> erwähnt. Im <a href="%{admin_proposal_info_path}">Admin-Bereich</a> finden Sie die Details.
|
|
277
285
|
proposal_note_replied:
|
|
278
286
|
email_intro: '%{author_name} hat deine private Notiz unter %{resource_title} beantwortet. Jetzt im <a href="%{admin_proposal_info_url}">Admin-Panel</a> anzeigen.'
|
|
279
287
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor der Noitz sind.
|
|
280
288
|
email_subject: "%{author_name} hat auf Ihre private Notiz unter %{resource_title} geantwortet."
|
|
289
|
+
notification_title: <a href="%{author_path}">%{author_name}</a> hat auf Ihre private Notiz zu <a href="%{resource_path}">%{resource_title}</a> geantwortet. Im <a href="%{admin_proposal_info_path}">Admin-Bereich</a> finden Sie die Details.
|
|
281
290
|
coauthor_accepted_invite:
|
|
282
291
|
notification_title: <a href="%{coauthor_path}">%{coauthor_name}</a> hat Ihre Einladung angenommen, mitverfassende Person des Vorschlags <a href="%{resource_path}">%{resource_title}</a> zu werden.
|
|
283
292
|
coauthor_invited:
|
|
@@ -294,14 +303,17 @@ de:
|
|
|
294
303
|
email_intro: '%{requester_name} wurde zur Mitwirkung am kollaborativen Entwurf <a href="%{resource_url}">%{resource_title}</a> akzeptiert.'
|
|
295
304
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie bei <a href="%{resource_url}">%{resource_title}</a> mitwirken.
|
|
296
305
|
email_subject: "%{requester_name} wurde zur Mitwirkung an %{resource_title} akzeptiert."
|
|
306
|
+
notification_title: <a href="%{requester_path}">%{requester_name}</a> wurde als Mitwirkende/r für den gemeinsamen Entwurf <a href="%{resource_path}">%{resource_title}</a> <strong>angenommen</strong>.
|
|
297
307
|
collaborative_draft_access_rejected:
|
|
298
308
|
email_intro: '%{requester_name} wurde als Mitwirkender des kollaborativen Entwurfs <a href="%{resource_url}">%{resource_title}</a> abgelehnt.'
|
|
299
309
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie bei <a href="%{resource_url}">%{resource_title}</a> mitwirken.
|
|
300
310
|
email_subject: "%{requester_name} wurde als Mitwirkender des kollaborativen Entwurfs %{resource_title} abgelehnt."
|
|
311
|
+
notification_title: <a href="%{requester_path}">%{requester_name}</a> wurde als Mitwirkende/r für den gemeinsamen Entwurf <a href="%{resource_path}">%{resource_title}</a> <strong>abgelehnt</strong>.
|
|
301
312
|
collaborative_draft_access_requested:
|
|
302
313
|
email_intro: '%{requester_name} hat um Zugriff auf Ihren kollaborativen Entwurf angefragt. Sie können den Antrag auf der Seite des kollaborativen Entwurfs <a href="%{resource_url}">%{resource_title}</a> <strong>annehmen oder ablehnen</strong>.'
|
|
303
314
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie bei <a href="%{resource_url}">%{resource_title}</a> mitwirken.
|
|
304
315
|
email_subject: "%{requester_name} hat um Zugang zur Mitwirkung bei %{resource_title} angefragt."
|
|
316
|
+
notification_title: <a href="%{requester_path}">%{requester_name}</a> hat um Zugang zur Mitarbeit am gemeinsamen Entwurf <a href="%{resource_path}">%{resource_title}</a> gebeten. Bitte <strong>nehmen Sie die Anfrage an oder lehnen Sie sie ab</strong>.
|
|
305
317
|
collaborative_draft_access_requester_accepted:
|
|
306
318
|
email_intro: Sie wurden zur Mitwirkung am kollaborativen Entwurf <a href="%{resource_url}">%{resource_title}</a> akzeptiert.
|
|
307
319
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie angefragt haben, bei <a href="%{resource_url}">%{resource_title}</a> mitzuwirken.
|
|
@@ -313,7 +325,10 @@ de:
|
|
|
313
325
|
email_subject: Sie wurden als Mitwirkender von %{resource_title} abgelehnt.
|
|
314
326
|
notification_title: Sie wurden als Mitwirkender beim kollaborativen Entwurf <a href="%{resource_path}">%{resource_title}</a> <strong>abgelehnt</strong>.
|
|
315
327
|
collaborative_draft_withdrawn:
|
|
328
|
+
email_intro: <a href="%{author_url}">%{author_name}</a> hat den gemeinsamen Entwurf <a href="%{resource_url}">%{resource_title}</a> zurückgezogen.
|
|
316
329
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie bei <a href="%{resource_url}">%{resource_title}</a> mitwirken.
|
|
330
|
+
email_subject: "%{author_name} hat den gemeinsamen Entwurf %{resource_title} zurückgezogen."
|
|
331
|
+
notification_title: <a href="%{author_path}">%{author_name}</a> hat den gemeinsamen Entwurf <a href="%{resource_path}">%{resource_title}</a> <strong>zurückgezogen</strong>.
|
|
317
332
|
creation_enabled:
|
|
318
333
|
email_intro: 'Sie können jetzt neue Vorschläge in %{participatory_space_title} erstellen! Beteiligen Sie sich auf dieser Seite:'
|
|
319
334
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
|
|
@@ -323,6 +338,7 @@ de:
|
|
|
323
338
|
email_intro: 'Sie können ab jetzt Vorschläge auf %{participatory_space_title} unterstützen! Jetzt auf dieser Seite mitmachen:'
|
|
324
339
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den angegebenen Link.
|
|
325
340
|
email_subject: Vorschläge können nun in %{participatory_space_title} unterstützt werden
|
|
341
|
+
notification_title: Sie können nun in <a href="%{participatory_space_url}">%{participatory_space_title}</a> damit beginnen, <a href="%{resource_path}">Vorschlägen zu gefallen</a>.
|
|
326
342
|
proposal_mentioned:
|
|
327
343
|
email_intro: Ihr Vorschlag "%{mentioned_proposal_title}" wurde <a href="%{resource_url}">hier</a> in den Kommentaren erwähnt.
|
|
328
344
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von "%{resource_title}" sind.
|
|
@@ -333,6 +349,11 @@ de:
|
|
|
333
349
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie diesen Vorschlag verfasst haben.
|
|
334
350
|
email_subject: Der Vorschlag %{resource_title} wurde zusammengeführt
|
|
335
351
|
notification_title: Der Vorschlag <a href="%{resource_path}">%{resource_title}</a> wurde von einem Admin zusammengeführt.
|
|
352
|
+
proposal_published:
|
|
353
|
+
email_intro: '%{author_name}, dem/der Sie folgen, hat einen neuen Vorschlag mit dem Titel "%{resource_title}" veröffentlicht. Schauen Sie ihn sich an und beteiligen Sie sich:'
|
|
354
|
+
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
|
|
355
|
+
email_subject: Neuer Vorschlag "%{resource_title}" von %{author_name}
|
|
356
|
+
notification_title: Der Vorschlag <a href="%{resource_path}">%{resource_title}</a> wurde von <a href="%{author_path}">%{author_name}</a> veröffentlicht.
|
|
336
357
|
proposal_published_for_space:
|
|
337
358
|
email_intro: Der Vorschlag "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen.
|
|
338
359
|
email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Sie können den Erhalt von Benachrichtigungen über den vorherigen Link beenden.
|
|
@@ -433,7 +454,7 @@ de:
|
|
|
433
454
|
longitude: Der Längengrad des Vorschlags, falls er verortet wurde
|
|
434
455
|
meeting_urls: Die URLs der Veranstaltungen, an denen dieser Vorschlag vorgestellt oder diskutiert wurde
|
|
435
456
|
original_proposal: Referenz des ursprünglichen Vorschlags, falls es sich um einen Änderungsantrag handelt
|
|
436
|
-
participatory_space: Zu welchem Bereich dieser Vorschlag gehört (z.B. Partizipationsprozesse oder
|
|
457
|
+
participatory_space: Zu welchem Bereich dieser Vorschlag gehört (z.B. Partizipationsprozesse oder Versammlungen)
|
|
437
458
|
published_at: Das Datum, an dem dieser Vorschlag veröffentlicht wurde
|
|
438
459
|
reference: Die eindeutige Bezeichnung der Ressource auf dieser Plattform
|
|
439
460
|
related_proposals: Mit diesem Vorschlag verknüpfte Vorschläge
|
|
@@ -627,7 +648,7 @@ de:
|
|
|
627
648
|
statuses: Status
|
|
628
649
|
title: Vorschläge
|
|
629
650
|
unassign_from_evaluator: Zuweisung zur bewertenden Person aufheben
|
|
630
|
-
unassign_from_evaluator_button:
|
|
651
|
+
unassign_from_evaluator_button: Zuweisung aufheben
|
|
631
652
|
update: Aktualisieren
|
|
632
653
|
manage_trash:
|
|
633
654
|
title: Gelöschte Vorschläge
|
|
@@ -638,6 +659,7 @@ de:
|
|
|
638
659
|
number_of_proposals: Antworten für %{number} Vorschläge werden veröffentlicht.
|
|
639
660
|
select_a_proposal: Bitte wählen Sie einen Vorschlag.
|
|
640
661
|
show:
|
|
662
|
+
address: Adresse
|
|
641
663
|
amendments_count: Anzahl der Ergänzungen
|
|
642
664
|
assigned_evaluators: Zugewiesene Personen
|
|
643
665
|
body: Haupttext
|
|
@@ -669,6 +691,7 @@ de:
|
|
|
669
691
|
create: Vorschläge importieren
|
|
670
692
|
no_components: In diesem partizipatorischen Bereich gibt es keine weiteren Vorschlagskomponenten, aus denen die Vorschläge importiert werden könnten.
|
|
671
693
|
select_component: Bitte wählen Sie eine Komponente aus
|
|
694
|
+
select_states: Importiert nur Vorschläge mit diesen Status. Wenn keiner ausgewählt ist, werden alle Vorschläge importiert.
|
|
672
695
|
title: Vorschläge aus einer anderen Komponente importieren
|
|
673
696
|
proposals_merges:
|
|
674
697
|
create:
|
|
@@ -835,6 +858,7 @@ de:
|
|
|
835
858
|
errors:
|
|
836
859
|
device_not_supported: Ihr Gerät unterstützt keine Ortungsdienste. Bitte geben Sie die Adresse manuell ein.
|
|
837
860
|
no_device_location: Leider konnten wir Ihren Standort nicht erkennen. Bitte geben Sie die Adresse manuell ein.
|
|
861
|
+
locating: Standort wird ermittelt …
|
|
838
862
|
use_my_location: Meinen aktuellen Standort verwenden
|
|
839
863
|
invite_coauthors:
|
|
840
864
|
cancel:
|
data/config/locales/el.yml
CHANGED
data/config/locales/en.yml
CHANGED