decidim-templates 0.28.6 → 0.29.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/commands/decidim/templates/admin/create_proposal_answer_template.rb +2 -1
- data/app/commands/decidim/templates/admin/questionnaire_copier.rb +6 -0
- data/app/commands/decidim/templates/admin/update_proposal_answer_template.rb +4 -7
- data/app/controllers/decidim/templates/admin/proposal_answer_templates_controller.rb +29 -12
- data/app/forms/decidim/templates/admin/proposal_answer_template_form.rb +21 -8
- data/app/forms/decidim/templates/admin/template_form.rb +3 -1
- data/app/views/decidim/templates/admin/proposal_answer_templates/_form.html.erb +39 -28
- data/app/views/decidim/templates/admin/proposal_answer_templates/_template_chooser.html.erb +2 -1
- data/app/views/decidim/templates/admin/proposal_answer_templates/index.html.erb +2 -2
- data/app/views/decidim/templates/admin/questionnaire_templates/_choose.html.erb +3 -3
- data/app/views/decidim/templates/admin/questionnaire_templates/_preview.html.erb +4 -4
- data/app/views/decidim/templates/admin/questionnaire_templates/preview.js.erb +3 -3
- data/config/locales/bg.yml +2 -2
- data/config/locales/ca.yml +2 -2
- data/config/locales/cs.yml +2 -2
- data/config/locales/de.yml +3 -3
- data/config/locales/en.yml +2 -2
- data/config/locales/es-MX.yml +4 -4
- data/config/locales/es-PY.yml +4 -4
- data/config/locales/es.yml +4 -4
- data/config/locales/eu.yml +10 -10
- data/config/locales/fi-plain.yml +5 -5
- data/config/locales/fi.yml +12 -12
- data/config/locales/fr-CA.yml +2 -2
- data/config/locales/fr.yml +2 -2
- data/config/locales/hu.yml +0 -1
- data/config/locales/ja.yml +2 -2
- data/config/locales/pl.yml +2 -2
- data/config/locales/ro-RO.yml +18 -47
- data/config/locales/sv.yml +2 -75
- data/config/locales/tr-TR.yml +2 -1
- data/decidim-templates.gemspec +3 -3
- data/lib/decidim/templates/admin_engine.rb +1 -1
- data/lib/decidim/templates/test/factories.rb +0 -6
- data/lib/decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples.rb +3 -3
- data/lib/decidim/templates/test/shared_examples/uses_questionnaire_templates.rb +6 -6
- data/lib/decidim/templates/version.rb +1 -1
- metadata +26 -29
- data/config/locales/bn-BD.yml +0 -1
- data/config/locales/bs-BA.yml +0 -1
- data/config/locales/ca-IT.yml +0 -114
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9b72969a1ffc689d6abcd27cc5b6ac070ff31ca0affb0a9b6b9d8c1be14e2b6
|
4
|
+
data.tar.gz: 6f318b04297a61c3e624f5d8490076fe01540a6ce70f86c7cebfc4caa893ae38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e41c2209802518d81811990443caa42b50d2257bda5bcfcc7ca1ece831360df0bdd49497096a21cf24a542b1fb9a1f79d3d176460b9de4173b50880faada1e5
|
7
|
+
data.tar.gz: 22d61f04fe3c26f518dbba6883507d2c7ed2f21b881ecc46292face89fc6844f49a4bf841d02c6b747f96e7cdafb02cf6fb75e83ab6960c5b738260f9c6c6b4a
|
@@ -12,6 +12,7 @@ module Decidim
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def call
|
15
|
+
return broadcast(:component_selected) if @form.select_component
|
15
16
|
return broadcast(:invalid) unless @form.valid?
|
16
17
|
|
17
18
|
@template = Decidim.traceability.create!(
|
@@ -20,7 +21,7 @@ module Decidim
|
|
20
21
|
name: @form.name,
|
21
22
|
description: @form.description,
|
22
23
|
organization: @form.current_organization,
|
23
|
-
field_values: {
|
24
|
+
field_values: { proposal_state_id: @form.proposal_state_id },
|
24
25
|
target: :proposal_answer
|
25
26
|
)
|
26
27
|
|
@@ -11,6 +11,12 @@ module Decidim
|
|
11
11
|
original_questionnaire.questions.each do |original_question|
|
12
12
|
new_question = original_question.dup
|
13
13
|
new_question.questionnaire = new_questionnaire
|
14
|
+
new_question.assign_attributes(
|
15
|
+
answer_options_count: 0,
|
16
|
+
matrix_rows_count: 0,
|
17
|
+
display_conditions_count: 0,
|
18
|
+
display_conditions_for_other_questions_count: 0
|
19
|
+
)
|
14
20
|
new_question.save!
|
15
21
|
copy_questionnaire_answer_options(original_question, new_question)
|
16
22
|
copy_questionnaire_matrix_rows(original_question, new_question)
|
@@ -24,7 +24,7 @@ module Decidim
|
|
24
24
|
@user,
|
25
25
|
name: @form.name,
|
26
26
|
description: @form.description,
|
27
|
-
field_values: {
|
27
|
+
field_values: { proposal_state_id: @form.proposal_state_id },
|
28
28
|
target: :proposal_answer
|
29
29
|
)
|
30
30
|
|
@@ -36,12 +36,9 @@ module Decidim
|
|
36
36
|
private
|
37
37
|
|
38
38
|
def identify_templateable_resource
|
39
|
-
|
40
|
-
if
|
41
|
-
|
42
|
-
if found_component.present?
|
43
|
-
resource = found_component&.participatory_space&.decidim_organization_id == @form.current_organization.id ? found_component : nil
|
44
|
-
end
|
39
|
+
found_component = Decidim::Component.find_by(id: @form.component_constraint, manifest_name: "proposals")
|
40
|
+
if found_component.present?
|
41
|
+
resource = found_component&.participatory_space&.decidim_organization_id == @form.current_organization.id ? found_component : nil
|
45
42
|
end
|
46
43
|
resource
|
47
44
|
end
|
@@ -7,7 +7,7 @@ module Decidim
|
|
7
7
|
include Decidim::TranslatableAttributes
|
8
8
|
include Decidim::Paginable
|
9
9
|
|
10
|
-
helper_method :availability_option_as_text, :availability_options_for_select
|
10
|
+
helper_method :availability_option_as_text, :availability_options_for_select, :available_states, :proposal_state
|
11
11
|
|
12
12
|
add_breadcrumb_item_from_menu :admin_template_types_menu
|
13
13
|
|
@@ -32,6 +32,10 @@ module Decidim
|
|
32
32
|
redirect_to proposal_answer_templates_path
|
33
33
|
end
|
34
34
|
|
35
|
+
on(:component_selected) do
|
36
|
+
render :new
|
37
|
+
end
|
38
|
+
|
35
39
|
on(:invalid) do
|
36
40
|
flash.now[:alert] = I18n.t("templates.create.error", scope: "decidim.admin")
|
37
41
|
render :new
|
@@ -55,8 +59,10 @@ module Decidim
|
|
55
59
|
|
56
60
|
return render json: { msg: I18n.t("templates.fetch.error", scope: "decidim.admin") }, status: :unprocessable_entity if template.blank?
|
57
61
|
|
62
|
+
state = fetch_proposal_state(template)
|
63
|
+
|
58
64
|
response_object = {
|
59
|
-
state:
|
65
|
+
state: state&.token,
|
60
66
|
template: populate_template_interpolations(proposal)
|
61
67
|
}
|
62
68
|
|
@@ -118,9 +124,23 @@ module Decidim
|
|
118
124
|
|
119
125
|
private
|
120
126
|
|
127
|
+
def fetch_proposal_state(template)
|
128
|
+
available_states(template.templatable_id).find_by(id: template.field_values["proposal_state_id"])
|
129
|
+
end
|
130
|
+
|
131
|
+
def proposal_state(template)
|
132
|
+
state = fetch_proposal_state(template)
|
133
|
+
|
134
|
+
state ? translated_attribute(state&.title) : I18n.t("decidim.templates.admin.proposal_answer_templates.index.missing_state")
|
135
|
+
end
|
136
|
+
|
137
|
+
def available_states(component_id = nil)
|
138
|
+
Decidim::Proposals::ProposalState.where(decidim_component_id: component_id)
|
139
|
+
end
|
140
|
+
|
121
141
|
def populate_template_interpolations(proposal)
|
122
142
|
template.description.to_h do |language, value|
|
123
|
-
value.gsub!("%{organization}", proposal.organization.name)
|
143
|
+
value.gsub!("%{organization}", translated_attribute(proposal.organization.name))
|
124
144
|
value.gsub!("%{name}", author_name(proposal))
|
125
145
|
value.gsub!("%{admin}", current_user.name)
|
126
146
|
|
@@ -138,25 +158,22 @@ module Decidim
|
|
138
158
|
|
139
159
|
def availability_option_as_text(template)
|
140
160
|
return unless template.templatable_type
|
141
|
-
return t("global_scope", scope: "decidim.templates.admin.proposal_answer_templates.index") if template.templatable == current_organization
|
142
161
|
|
143
|
-
|
162
|
+
availability_options.select { |a| a.last == template.templatable_id }.flatten.first || t("templates.missing_resource", scope: "decidim.admin")
|
144
163
|
end
|
145
164
|
|
146
165
|
def availability_options_for_select
|
147
|
-
|
166
|
+
availability_options
|
148
167
|
end
|
149
168
|
|
150
|
-
def
|
151
|
-
@
|
152
|
-
@avaliablity_options.push [t("global_scope", scope: "decidim.templates.admin.proposal_answer_templates.index"), 0]
|
153
|
-
|
169
|
+
def availability_options
|
170
|
+
@availability_options = []
|
154
171
|
Decidim::Component.includes(:participatory_space).where(manifest_name: [:proposals])
|
155
172
|
.select { |a| a.participatory_space.decidim_organization_id == current_organization.id }.each do |component|
|
156
|
-
@
|
173
|
+
@availability_options.push [formatted_name(component), component.id]
|
157
174
|
end
|
158
175
|
|
159
|
-
@
|
176
|
+
@availability_options
|
160
177
|
end
|
161
178
|
|
162
179
|
def formatted_name(component)
|
@@ -4,18 +4,31 @@ module Decidim
|
|
4
4
|
module Templates
|
5
5
|
module Admin
|
6
6
|
class ProposalAnswerTemplateForm < TemplateForm
|
7
|
-
attribute :
|
7
|
+
attribute :proposal_state_id, Integer
|
8
8
|
attribute :component_constraint, Integer
|
9
|
+
attribute :select_component, Boolean, default: false
|
9
10
|
|
10
|
-
|
11
|
+
validate :component_has_been_selected
|
12
|
+
validate :proposal_state_id_is_valid
|
11
13
|
|
12
14
|
def map_model(model)
|
13
|
-
self.
|
14
|
-
self.component_constraint =
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
self.proposal_state_id = model.field_values["proposal_state_id"]&.to_i
|
16
|
+
self.component_constraint = model.templatable&.id
|
17
|
+
end
|
18
|
+
|
19
|
+
def skip_name_validation
|
20
|
+
select_component
|
21
|
+
end
|
22
|
+
|
23
|
+
def proposal_state_id_is_valid
|
24
|
+
if Decidim::Proposals::ProposalState.where(decidim_component_id: component_constraint).find_by(id: proposal_state_id).blank?
|
25
|
+
errors.add(:proposal_state_id,
|
26
|
+
:blank)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def component_has_been_selected
|
31
|
+
errors.add(:select_component, :blank) if select_component
|
19
32
|
end
|
20
33
|
end
|
21
34
|
end
|
@@ -10,7 +10,9 @@ module Decidim
|
|
10
10
|
translatable_attribute :name, String
|
11
11
|
translatable_attribute :description, String
|
12
12
|
|
13
|
-
validates :name, translatable_presence: true
|
13
|
+
validates :name, translatable_presence: true, unless: :skip_name_validation
|
14
|
+
|
15
|
+
def skip_name_validation = false
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
@@ -1,38 +1,49 @@
|
|
1
1
|
<div class="form__wrapper">
|
2
2
|
<div class="card pt-4">
|
3
3
|
<div class="card-section">
|
4
|
-
<div class="row column">
|
5
|
-
<%= form.translated :text_field, :name, aria: { label: :name } %>
|
6
|
-
</div>
|
7
4
|
|
8
|
-
|
9
|
-
<%= form.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<li><%= t(".hint2_html") %></li>
|
14
|
-
<li><%= t(".hint3_html") %></li>
|
15
|
-
</ul>
|
16
|
-
</div>
|
5
|
+
<% if form.object.component_constraint %>
|
6
|
+
<%= form.hidden_field(:component_constraint, value: form.object.component_constraint) %>
|
7
|
+
<div class="row column">
|
8
|
+
<%= form.translated :text_field, :name, aria: { label: :name } %>
|
9
|
+
</div>
|
17
10
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
11
|
+
<div class="row column">
|
12
|
+
<%= form.translated :editor, :description, rows: 3, aria: { label: :description } %>
|
13
|
+
<%= t(".hint_html") %>
|
14
|
+
<ul>
|
15
|
+
<li><%= t(".hint1_html") %></li>
|
16
|
+
<li><%= t(".hint2_html") %></li>
|
17
|
+
<li><%= t(".hint3_html") %></li>
|
18
|
+
</ul>
|
19
|
+
</div>
|
20
|
+
<div class="row column">
|
21
|
+
<%= form.label :proposal_state_id %>
|
22
|
+
<div class="flex items-center gap-x-4 my-2">
|
23
|
+
<%= form.collection_radio_buttons :proposal_state_id,
|
24
|
+
available_states( form.object.component_constraint),
|
25
|
+
:id,
|
26
|
+
lambda { |a|
|
27
|
+
translated_attribute(a.title)
|
28
|
+
}, prompt: true do |builder|
|
29
|
+
builder.label { builder.radio_button + builder.text } end %>
|
30
|
+
</div>
|
28
31
|
</div>
|
29
|
-
|
32
|
+
<% else %>
|
30
33
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
34
|
+
<div class="row column">
|
35
|
+
<%= form.select :component_constraint,
|
36
|
+
availability_options_for_select,
|
37
|
+
{
|
38
|
+
selected: form.object.component_constraint,
|
39
|
+
help_text: t(".component_constraint_help"),
|
40
|
+
include_blank: true
|
41
|
+
},
|
42
|
+
onchange: "this.form.submit()",
|
43
|
+
disabled: form.object.component_constraint.present? %>
|
44
|
+
</div>
|
45
|
+
<%= form.hidden_field(:select_component, value: true) %>
|
46
|
+
<% end %>
|
36
47
|
</div>
|
37
48
|
</div>
|
38
49
|
</div>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<% templates = Decidim::Templates::Template.where(
|
2
2
|
target: :proposal_answer,
|
3
|
-
templatable:
|
3
|
+
templatable: current_component
|
4
4
|
).order(:templatable_id) %>
|
5
|
+
|
5
6
|
<% if templates.any? %>
|
6
7
|
<div class="row column">
|
7
8
|
<%= append_javascript_pack_tag "decidim_templates_admin" %>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<thead>
|
16
16
|
<tr>
|
17
17
|
<th><%= t("template.name", scope: "decidim.models") %></th>
|
18
|
-
<th><%= t(".
|
18
|
+
<th><%= t(".proposal_state_id") %></th>
|
19
19
|
<th><%= t(".component_constraint") %></th>
|
20
20
|
<th><%= t("template.fields.created_at", scope: "decidim.models") %></th>
|
21
21
|
<th></th>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<% @templates.each do |template| %>
|
26
26
|
<tr data-proposal_answer-id="<%= template.id %>">
|
27
27
|
<td><%= link_to_if allowed_to?(:update, :template, template:) , translated_attribute(template.name), edit_proposal_answer_template_path(template) %></td>
|
28
|
-
<td> <%=
|
28
|
+
<td> <%= proposal_state(template) %></td>
|
29
29
|
<td><%= availability_option_as_text(template) %></td>
|
30
30
|
<td><%= l template.created_at, format: :long %></td>
|
31
31
|
|
@@ -25,9 +25,9 @@
|
|
25
25
|
}
|
26
26
|
) { form.hidden_field :questionnaire_template_id } %>
|
27
27
|
<div class="card-section questionnaire-template-preview pt-4 hide">
|
28
|
-
<h2 class="item_show__header-title template-name
|
29
|
-
<p class="
|
30
|
-
<div class="row column choose-template-preview
|
28
|
+
<h2 class="item_show__header-title" data-template-name></h2>
|
29
|
+
<p class="py-4" data-template-description></p>
|
30
|
+
<div class="row column" data-choose-template-preview></div>
|
31
31
|
</div>
|
32
32
|
</div>
|
33
33
|
</div>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<div class="row columns">
|
4
4
|
<h3 class="h3"><%= translated_attribute questionnaire.title %></h3>
|
5
|
-
<%=
|
5
|
+
<%= decidim_sanitize_translated questionnaire.description %>
|
6
6
|
</div>
|
7
7
|
|
8
8
|
<div class="row columns">
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<div class="form__wrapper">
|
16
16
|
<% if @preview_form.total_steps > 1 %>
|
17
17
|
<h4>
|
18
|
-
<%= t(".current_step", step: step_index + 1) %> <span
|
18
|
+
<%= t(".current_step", step: step_index + 1) %> <span><%= t(".of_total_steps", total_steps: @preview_form.total_steps) %></span>
|
19
19
|
</h4>
|
20
20
|
<% end %>
|
21
21
|
|
@@ -39,10 +39,10 @@
|
|
39
39
|
<% end %>
|
40
40
|
|
41
41
|
<% if step_index + 1 == @preview_form.total_steps %>
|
42
|
-
<div
|
42
|
+
<div>
|
43
43
|
<%= form.check_box :tos_agreement, label: t(".tos_agreement"), id: "questionnaire_tos_agreement", disabled: false %>
|
44
44
|
<div class="help-text">
|
45
|
-
<%=
|
45
|
+
<%= decidim_sanitize_translated questionnaire.tos %>
|
46
46
|
</div>
|
47
47
|
</div>
|
48
48
|
<% end %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/* eslint-disable no-var, prefer-template */
|
2
2
|
(function () {
|
3
|
-
var $preview = $("
|
4
|
-
var $templateName = $("
|
5
|
-
var $templateDescription = $("
|
3
|
+
var $preview = $("[data-choose-template-preview]");
|
4
|
+
var $templateName = $("[data-template-name]");
|
5
|
+
var $templateDescription = $("[data-template-description]");
|
6
6
|
|
7
7
|
$templateName.html("<%= translated_attribute @template.name %>");
|
8
8
|
$templateDescription.html("<%= translated_attribute @template.description %>");
|
data/config/locales/bg.yml
CHANGED
@@ -72,8 +72,8 @@ bg:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Добавяне на ограничение
|
74
74
|
confirm_delete: Сигурни ли сте, че желаете да изтриете този шаблон?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Липсващо състояние
|
76
|
+
proposal_state_id: Вътрешно състояние
|
77
77
|
title: Отговори на предложенията
|
78
78
|
new:
|
79
79
|
title: Нов шаблон за отговор на предложение
|
data/config/locales/ca.yml
CHANGED
@@ -72,8 +72,8 @@ ca:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Afegir restricció
|
74
74
|
confirm_delete: Segur que vols eliminar aquesta plantilla?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Hi manca l'estat
|
76
|
+
proposal_state_id: Estat intern
|
77
77
|
title: Respostes a la proposta
|
78
78
|
new:
|
79
79
|
title: Nova plantilla de resposta a proposta
|
data/config/locales/cs.yml
CHANGED
@@ -72,8 +72,8 @@ cs:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Přidat omezení
|
74
74
|
confirm_delete: Opravdu chcete tuto šablonu odstranit?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Chybějící stav
|
76
|
+
proposal_state_id: Vnitřní stav
|
77
77
|
title: Odpovědi na návrh
|
78
78
|
new:
|
79
79
|
title: Nová šablona odpovědi na návrh
|
data/config/locales/de.yml
CHANGED
@@ -72,8 +72,8 @@ de:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Einschränkung hinzufügen
|
74
74
|
confirm_delete: Möchten Sie diese Vorlage wirklich löschen?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Fehlender Status
|
76
|
+
proposal_state_id: Interner Status
|
77
77
|
title: Vorschlagsantworten
|
78
78
|
new:
|
79
79
|
title: Neue Vorlage für Vorschlagsantworten
|
@@ -101,7 +101,7 @@ de:
|
|
101
101
|
preview:
|
102
102
|
current_step: Schritt %{step}
|
103
103
|
of_total_steps: von %{total_steps}
|
104
|
-
tos_agreement:
|
104
|
+
tos_agreement: Mit der Teilnahme stimmen Sie den Nutzungsbedingungen zu
|
105
105
|
admin_log:
|
106
106
|
template:
|
107
107
|
create: "%{user_name} hat die Umfragevorlage %{resource_name} erstellt"
|
data/config/locales/en.yml
CHANGED
@@ -72,8 +72,8 @@ en:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Add constraint
|
74
74
|
confirm_delete: Are you sure you want to delete this template?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Missing state
|
76
|
+
proposal_state_id: Internal state
|
77
77
|
title: Proposal answers
|
78
78
|
new:
|
79
79
|
title: New proposal answer template
|
data/config/locales/es-MX.yml
CHANGED
@@ -63,7 +63,7 @@ es-MX:
|
|
63
63
|
edit:
|
64
64
|
title: Editar la plantilla de respuesta a la propuesta
|
65
65
|
form:
|
66
|
-
component_constraint_help:
|
66
|
+
component_constraint_help: Tenga en cuenta que solo se listarán los espacios de participación que tengan componentes del tipo "propuestas".
|
67
67
|
hint1_html: "<strong>%{organization}</strong> será reemplazado por el nombre de la organización"
|
68
68
|
hint2_html: "<strong>%{name}</strong> será reemplazado por el nombre de la autora"
|
69
69
|
hint3_html: "<strong>%{admin}</strong> será reemplazado por el nombre de la administradora (la que responde a la propuesta)"
|
@@ -72,11 +72,11 @@ es-MX:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Añadir restricción
|
74
74
|
confirm_delete: '¿Seguro que quieres eliminar esta plantilla?'
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Falta el estado
|
76
|
+
proposal_state_id: Estado interno
|
77
77
|
title: Respuestas a propuestas
|
78
78
|
new:
|
79
|
-
title: Nueva plantilla de respuesta a propuesta
|
79
|
+
title: Nueva la plantilla de respuesta a propuesta
|
80
80
|
template_chooser:
|
81
81
|
select_template: Selecciona una plantilla de respuesta
|
82
82
|
questionnaire_templates:
|
data/config/locales/es-PY.yml
CHANGED
@@ -63,7 +63,7 @@ es-PY:
|
|
63
63
|
edit:
|
64
64
|
title: Editar la plantilla de respuesta a la propuesta
|
65
65
|
form:
|
66
|
-
component_constraint_help:
|
66
|
+
component_constraint_help: Tenga en cuenta que solo se listarán los espacios de participación que tengan componentes del tipo "propuestas".
|
67
67
|
hint1_html: "<strong>%{organization}</strong> será reemplazado por el nombre de la organización"
|
68
68
|
hint2_html: "<strong>%{name}</strong> será reemplazado por el nombre de la autora"
|
69
69
|
hint3_html: "<strong>%{admin}</strong> será reemplazado por el nombre de la administradora (la que responde a la propuesta)"
|
@@ -72,11 +72,11 @@ es-PY:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Añadir restricción
|
74
74
|
confirm_delete: '¿Seguro que quieres eliminar esta plantilla?'
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Falta el estado
|
76
|
+
proposal_state_id: Estado interno
|
77
77
|
title: Respuestas a propuestas
|
78
78
|
new:
|
79
|
-
title: Nueva plantilla de respuesta a propuesta
|
79
|
+
title: Nueva la plantilla de respuesta a propuesta
|
80
80
|
template_chooser:
|
81
81
|
select_template: Selecciona una plantilla de respuesta
|
82
82
|
questionnaire_templates:
|
data/config/locales/es.yml
CHANGED
@@ -63,7 +63,7 @@ es:
|
|
63
63
|
edit:
|
64
64
|
title: Editar la plantilla de respuesta a la propuesta
|
65
65
|
form:
|
66
|
-
component_constraint_help:
|
66
|
+
component_constraint_help: Tenga en cuenta que solo se listarán los espacios de participación que tengan componentes del tipo "propuestas".
|
67
67
|
hint1_html: "<strong>%{organization}</strong> será reemplazado por el nombre de la organización"
|
68
68
|
hint2_html: "<strong>%{name}</strong> será reemplazado por el nombre de la autora"
|
69
69
|
hint3_html: "<strong>%{admin}</strong> será reemplazado por el nombre de la administradora (la que responde a la propuesta)"
|
@@ -72,11 +72,11 @@ es:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Añadir restricción
|
74
74
|
confirm_delete: '¿Seguro que quieres eliminar esta plantilla?'
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Falta el estado
|
76
|
+
proposal_state_id: Estado interno
|
77
77
|
title: Respuestas a propuestas
|
78
78
|
new:
|
79
|
-
title: Nueva plantilla de respuesta a propuesta
|
79
|
+
title: Nueva la plantilla de respuesta a propuesta
|
80
80
|
template_chooser:
|
81
81
|
select_template: Selecciona una plantilla de respuesta
|
82
82
|
questionnaire_templates:
|
data/config/locales/eu.yml
CHANGED
@@ -49,14 +49,14 @@ eu:
|
|
49
49
|
admin:
|
50
50
|
block_user_templates:
|
51
51
|
edit:
|
52
|
-
title: Editatu
|
52
|
+
title: Editatu erabiltzailearen kontua blokeatzeko mezuaren txantiloia
|
53
53
|
form:
|
54
54
|
save: Gorde
|
55
55
|
index:
|
56
56
|
confirm_delete: Ziur zaude txantiloi hau ezabatu nahi duzula?
|
57
|
-
title: Blokeatu
|
57
|
+
title: Blokeatu erabiltzailearen mezuak
|
58
58
|
new:
|
59
|
-
title: Txantiloi berria
|
59
|
+
title: Txantiloi berria erabiltzaile-kontua blokeatzeko mezurako
|
60
60
|
template_chooser:
|
61
61
|
select_template: Hautatu txantiloi-fitxategi bat
|
62
62
|
proposal_answer_templates:
|
@@ -72,8 +72,8 @@ eu:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Gehitu hertsapena.
|
74
74
|
confirm_delete: Ziur zaude txantiloi hau ezabatu nahi duzula?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Egoera desagertua
|
76
|
+
proposal_state_id: Barne egoera
|
77
77
|
title: Proposamenen erantzunak
|
78
78
|
new:
|
79
79
|
title: Proposamenaren erantzun-txantilioi berria
|
@@ -104,11 +104,11 @@ eu:
|
|
104
104
|
tos_agreement: Parte hartzean erabilera-irizpideak eta baldintzak onartzen dituzu
|
105
105
|
admin_log:
|
106
106
|
template:
|
107
|
-
create: "%{user_name}
|
108
|
-
delete: "%{user_name}
|
109
|
-
duplicate: "%{user_name}
|
110
|
-
update: "%{user_name}
|
107
|
+
create: "%{user_name} -k %{resource_name} galdetegia eguneratu du"
|
108
|
+
delete: "%{user_name} -k %{resource_name} galdetegia eguneratu du"
|
109
|
+
duplicate: "%{user_name} -k %{resource_name} galdetegia bikoiztu du"
|
110
|
+
update: "%{user_name} -k %{resource_name} galdetegia eguneratu du"
|
111
111
|
template_types:
|
112
|
-
block_user: Blokeatu
|
112
|
+
block_user: Blokeatu erabiltzailearen mezuak
|
113
113
|
proposal_answer_templates: Proposamenen erantzunak
|
114
114
|
questionnaires: Galdetegiak
|
data/config/locales/fi-plain.yml
CHANGED
@@ -27,7 +27,7 @@ fi-pl:
|
|
27
27
|
success: Mallipohjan poisto onnistui.
|
28
28
|
empty: Mallipohjia ei ole vielä lisätty.
|
29
29
|
fetch:
|
30
|
-
error: Mallipohjaa ei löytynyt. Lataa sivu
|
30
|
+
error: Mallipohjaa ei löytynyt. Lataa sivu uudelleen.
|
31
31
|
missing_resource: "(puuttuva resurssi)"
|
32
32
|
update:
|
33
33
|
error: Mallipohjan päivitys epäonnistui.
|
@@ -72,8 +72,8 @@ fi-pl:
|
|
72
72
|
index:
|
73
73
|
component_constraint: Lisää rajaussääntö
|
74
74
|
confirm_delete: Haluatko varmasti poistaa tämän mallipohjan?
|
75
|
-
|
76
|
-
|
75
|
+
missing_state: Puuttuva tila
|
76
|
+
proposal_state_id: Sisäinen tila
|
77
77
|
title: Ehdotusten vastaukset
|
78
78
|
new:
|
79
79
|
title: Uusi ehdotusten vastausten mallipohja
|
@@ -90,14 +90,14 @@ fi-pl:
|
|
90
90
|
edit: Muokkaa
|
91
91
|
empty: Kysymyksiä ei ole vielä.
|
92
92
|
questionnaire: Kysely
|
93
|
-
title: Muokkaa
|
93
|
+
title: Muokkaa kyselylomakkeen mallipohjaa
|
94
94
|
form:
|
95
95
|
title: Kyselylomakemalli %{questionnaire_for}
|
96
96
|
index:
|
97
97
|
confirm_delete: Haluatko varmasti poistaa tämän mallipohjan?
|
98
98
|
title: Kyselymallit
|
99
99
|
new:
|
100
|
-
title: Uusi
|
100
|
+
title: Uusi kyselylomakkeen mallipohja
|
101
101
|
preview:
|
102
102
|
current_step: Vaihe %{step}
|
103
103
|
of_total_steps: / %{total_steps}
|