decidim-templates 0.28.0 → 0.28.1

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/decidim/templates/admin/block_user_templates_controller.rb +2 -0
  3. data/app/controllers/decidim/templates/admin/proposal_answer_templates_controller.rb +5 -1
  4. data/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb +2 -0
  5. data/app/packs/src/decidim/templates/admin/proposal_answer_template_chooser.js +15 -4
  6. data/app/permissions/decidim/templates/admin/permissions.rb +30 -8
  7. data/app/views/decidim/templates/admin/block_user_templates/edit.html.erb +2 -2
  8. data/app/views/decidim/templates/admin/block_user_templates/index.html.erb +2 -2
  9. data/app/views/decidim/templates/admin/block_user_templates/new.html.erb +2 -2
  10. data/app/views/decidim/templates/admin/proposal_answer_templates/edit.html.erb +2 -2
  11. data/app/views/decidim/templates/admin/proposal_answer_templates/index.html.erb +2 -2
  12. data/app/views/decidim/templates/admin/proposal_answer_templates/new.html.erb +2 -2
  13. data/app/views/decidim/templates/admin/questionnaire_templates/_choose.html.erb +2 -2
  14. data/app/views/decidim/templates/admin/questionnaire_templates/_preview.html.erb +1 -1
  15. data/app/views/decidim/templates/admin/questionnaire_templates/edit.html.erb +2 -2
  16. data/app/views/decidim/templates/admin/questionnaire_templates/index.html.erb +2 -2
  17. data/app/views/decidim/templates/admin/questionnaire_templates/new.html.erb +2 -2
  18. data/app/views/decidim/templates/admin/questionnaire_templates/preview.js.erb +1 -1
  19. data/config/locales/bg.yml +111 -0
  20. data/config/locales/ca.yml +2 -1
  21. data/config/locales/cs.yml +2 -1
  22. data/config/locales/de.yml +2 -1
  23. data/config/locales/en.yml +2 -1
  24. data/config/locales/es-MX.yml +2 -1
  25. data/config/locales/es-PY.yml +2 -1
  26. data/config/locales/es.yml +2 -1
  27. data/config/locales/eu.yml +0 -1
  28. data/config/locales/fi-plain.yml +0 -1
  29. data/config/locales/fi.yml +0 -1
  30. data/config/locales/fr-CA.yml +1 -2
  31. data/config/locales/fr.yml +1 -2
  32. data/config/locales/he-IL.yml +1 -0
  33. data/config/locales/hu.yml +8 -0
  34. data/config/locales/ja.yml +16 -1
  35. data/config/locales/pl.yml +4 -0
  36. data/config/locales/pt-BR.yml +3 -0
  37. data/config/locales/tr-TR.yml +2 -0
  38. data/decidim-templates.gemspec +40 -0
  39. data/lib/decidim/templates/admin_engine.rb +1 -4
  40. data/lib/decidim/templates/test/factories.rb +15 -9
  41. data/lib/decidim/templates/test/shared_examples/uses_questionnaire_templates.rb +2 -2
  42. data/lib/decidim/templates/version.rb +1 -1
  43. metadata +46 -18
  44. data/LICENSE-AGPLv3.txt +0 -661
  45. data/config/environment.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76b2a59b600042aee9196e88642ffb5bf77dfdde7fd4c92e7568902ac08af196
4
- data.tar.gz: a9139c561c3b3d18313ec12fa6bccb169e9acd9e83913d615426449e2c9df00f
3
+ metadata.gz: 4a014a416d363441ef2bfc5682c2b069132963795dbbf25099b8347a56195d22
4
+ data.tar.gz: 25234dab78eb65177b52c380541419037a6fd2ae433aa403132ee13ee2735564
5
5
  SHA512:
6
- metadata.gz: 6c59944b7de0550a0e8afa3f53b171cb04e3a2b3c80507e49f673915f995f03447a5f3cecf0849e718439b1e235e1b0118d92ff42644a1d68add6a691f2a145f
7
- data.tar.gz: c8fa6ff066de86c18085612c55e5eb618c792c689f598afebf98e08e30868d34578b218ac48398a3b815924baef998dcd4631806f82ffc5977c4be8ed99cb8c9
6
+ metadata.gz: 61179f335f55af878c96ad6586c823355e7e0f78c08838b31d069c44f58b9efc5ea091a8def531a339da8db8f044fe71f596952e9643f13acf979fa27ca90a6c
7
+ data.tar.gz: 51b833fa9ea3cc1af8b2c142de4d14fa83deb8528989c5f42144bccbe642abf073900ccb7f26e2f6875b595e0486dac60dfa6b45c4875dfc13ac19e09eb2d8c8
@@ -7,6 +7,8 @@ module Decidim
7
7
  include Decidim::TranslatableAttributes
8
8
  include Decidim::Paginable
9
9
 
10
+ add_breadcrumb_item_from_menu :admin_template_types_menu
11
+
10
12
  def fetch
11
13
  enforce_permission_to(:read, :template, template:)
12
14
 
@@ -9,6 +9,8 @@ module Decidim
9
9
 
10
10
  helper_method :availability_option_as_text, :availability_options_for_select
11
11
 
12
+ add_breadcrumb_item_from_menu :admin_template_types_menu
13
+
12
14
  def new
13
15
  enforce_permission_to :create, :template
14
16
  @form = form(ProposalAnswerTemplateForm).instance
@@ -49,7 +51,9 @@ module Decidim
49
51
  end
50
52
 
51
53
  def fetch
52
- enforce_permission_to(:read, :template, template:)
54
+ enforce_permission_to(:read, :template, template:, proposal:)
55
+
56
+ return render json: { msg: I18n.t("templates.fetch.error", scope: "decidim.admin") }, status: :unprocessable_entity if template.blank?
53
57
 
54
58
  response_object = {
55
59
  state: template.field_values["internal_state"],
@@ -10,6 +10,8 @@ module Decidim
10
10
 
11
11
  helper_method :template
12
12
 
13
+ add_breadcrumb_item_from_menu :admin_template_types_menu
14
+
13
15
  def index
14
16
  enforce_permission_to :index, :templates
15
17
  @templates = collection
@@ -2,7 +2,6 @@
2
2
  document.addEventListener("DOMContentLoaded", () => {
3
3
  const proposalAnswerTemplateChooser = document.getElementById("proposal_answer_template_chooser");
4
4
  if (proposalAnswerTemplateChooser) {
5
-
6
5
  proposalAnswerTemplateChooser.addEventListener("change", () => {
7
6
  const dropdown = document.getElementById("proposal_answer_template_chooser");
8
7
  const url = dropdown.getAttribute("data-url");
@@ -13,7 +12,12 @@ document.addEventListener("DOMContentLoaded", () => {
13
12
  return;
14
13
  }
15
14
  fetch(`${new URL(url).pathname}?${new URLSearchParams({ id: templateId, proposalId: proposalId })}`).
16
- then((response) => response.json()).
15
+ then((response) => {
16
+ if (response.ok) {
17
+ return response.json();
18
+ }
19
+ return Promise.reject(response);
20
+ }).
17
21
  then((data) => {
18
22
  document.getElementById(`proposal_answer_internal_state_${data.state}`).click();
19
23
 
@@ -24,8 +28,15 @@ document.addEventListener("DOMContentLoaded", () => {
24
28
 
25
29
  editor.commands.setContent(value, true);
26
30
  }
27
- })
31
+ }).
32
+ catch((response) => {
33
+ response.json().then((data) => {
34
+ const el = document.createElement("p");
35
+ el.classList.add("text-alert");
36
+ el.textContent = data.msg;
37
+ dropdown.after(el);
38
+ });
39
+ });
28
40
  });
29
-
30
41
  }
31
42
  });
@@ -5,21 +5,43 @@ module Decidim
5
5
  module Admin
6
6
  class Permissions < Decidim::DefaultPermissions
7
7
  def permissions
8
- return permission_action unless user
9
- return permission_action unless user.admin?
10
8
  return permission_action if permission_action.scope != :admin
9
+ return permission_action unless user
10
+ return permission_action if context[:current_organization] != user.organization
11
11
 
12
- case permission_action.subject
13
- when :template
14
- allow! if [:read, :create, :update, :destroy, :copy].include? permission_action.action
15
- when :templates
16
- allow! if permission_action.action == :index
17
- when :questionnaire
12
+ if user_has_a_role? && (permission_action.subject == :template && permission_action.action == :read)
18
13
  allow!
14
+ else
15
+ return permission_action unless user.admin?
16
+
17
+ case permission_action.subject
18
+ when :template
19
+ allow! if [:read, :create, :update, :destroy, :copy].include? permission_action.action
20
+ when :templates
21
+ allow! if permission_action.action == :index
22
+ when :questionnaire
23
+ allow!
24
+ end
19
25
  end
20
26
 
21
27
  permission_action
22
28
  end
29
+
30
+ private
31
+
32
+ def participatory_space
33
+ @participatory_space ||= context[:proposal].try(:participatory_space)
34
+ end
35
+
36
+ def user_roles
37
+ @user_roles ||= participatory_space.try(:user_roles)
38
+ end
39
+
40
+ def user_has_a_role?
41
+ return unless user_roles
42
+
43
+ user_roles.exists?(user:)
44
+ end
23
45
  end
24
46
  end
25
47
  end
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
- <h2 class="item_show__header-title">
3
+ <h1 class="item_show__header-title">
4
4
  <%= t(".title") %>
5
- </h2>
5
+ </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
8
8
  <div class="item__edit-form">
@@ -1,12 +1,12 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="card">
3
3
  <div class="item_show__header">
4
- <h2 class="item_show__header-title">
4
+ <h1 class="item_show__header-title">
5
5
  <%= t ".title" %>
6
6
  <% if allowed_to?(:create, :template) %>
7
7
  <%= link_to t("actions.new_template", scope: "decidim.admin.templates"), [:new, :block_user_template], class: "button button__sm button__secondary new" %>
8
8
  <% end %>
9
- </h2>
9
+ </h1>
10
10
  </div>
11
11
  <% if @templates.any? %>
12
12
  <div class="table-scroll">
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
- <h2 class="item_show__header-title">
3
+ <h1 class="item_show__header-title">
4
4
  <%= t(".title") %>
5
- </h2>
5
+ </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
8
8
  <div class="item__edit-form">
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
- <h2 class="item_show__header-title">
3
+ <h1 class="item_show__header-title">
4
4
  <%= t(".title") %>
5
- </h2>
5
+ </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
8
8
  <div class="item__edit-form">
@@ -2,12 +2,12 @@
2
2
 
3
3
  <div class="card">
4
4
  <div class="item_show__header">
5
- <h2 class="item_show__header-title">
5
+ <h1 class="item_show__header-title">
6
6
  <%= t ".title" %>
7
7
  <% if allowed_to?(:create, :template) %>
8
8
  <%= link_to t("actions.new_template", scope: "decidim.admin.templates"), [:new, :proposal_answer_template], class: "button button__sm button__secondary new" %>
9
9
  <% end %>
10
- </h2>
10
+ </h1>
11
11
  </div>
12
12
  <% if @templates.any? %>
13
13
  <div class="table-scroll">
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
- <h2 class="item_show__header-title">
3
+ <h1 class="item_show__header-title">
4
4
  <%= t(".title") %>
5
- </h2>
5
+ </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
8
8
  <div class="item__edit-form">
@@ -1,10 +1,10 @@
1
1
  <div class="item_show__header">
2
- <h2 class="item_show__header-title">
2
+ <h1 class="item_show__header-title">
3
3
  <%= form_title %>
4
4
  <div class="ml-auto">
5
5
  <%= link_to t(".skip_template"), decidim_admin_templates.skip_questionnaire_templates_path(questionnaire_id: questionnaire, url: request.url), class: "button button__sm button__secondary", method: :post %>
6
6
  </div>
7
- </h2>
7
+ </h1>
8
8
  </div>
9
9
  <div class="item__edit item__edit-1col">
10
10
  <div class="item__edit-form">
@@ -6,7 +6,7 @@
6
6
  </div>
7
7
 
8
8
  <div class="row columns">
9
- <%= decidim_form_for(@preview_form, url: "", method: :post, html: { class: "form form-defaults answer-questionnaire" }, data: { "safe-path" => "" }) do |form| %>
9
+ <%= decidim_form_for(@preview_form, url: "", method: :post, authenticity_token: !defined?(skip_authenticity_token), html: { class: "form form-defaults answer-questionnaire" }, data: { "safe-path" => "" }) do |form| %>
10
10
  <%= invisible_captcha %>
11
11
  <% answer_idx = 0 %>
12
12
  <% cleaned_answer_idx = 0 %>
@@ -1,8 +1,8 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="item_show__header">
3
- <h2 class="item_show__header-title">
3
+ <h1 class="item_show__header-title">
4
4
  <%= t(".title") %>
5
- </h2>
5
+ </h1>
6
6
  </div>
7
7
  <div class="item__edit item__edit-1col">
8
8
  <div class="item__edit-form">
@@ -1,12 +1,12 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <div class="card">
3
3
  <div class="item_show__header">
4
- <h2 class="item_show__header-title">
4
+ <h1 class="item_show__header-title">
5
5
  <%= t ".title" %>
6
6
  <% if allowed_to?(:create, :template) %>
7
7
  <%= link_to t("actions.new_template", scope: "decidim.admin.templates"), [:new, :questionnaire_template], class: "button button__sm button__secondary new" %>
8
8
  <% end %>
9
- </h2>
9
+ </h1>
10
10
  </div>
11
11
  <% if @templates.any? %>
12
12
  <div class="table-scroll">
@@ -1,9 +1,9 @@
1
1
  <% add_decidim_page_title(t(".title")) %>
2
2
  <% add_decidim_page_title(t("templates", scope: "decidim.admin.titles")) %>
3
3
  <div class="item_show__header">
4
- <h2 class="item_show__header-title">
4
+ <h1 class="item_show__header-title">
5
5
  <%= t(".title") %>
6
- </h2>
6
+ </h1>
7
7
  </div>
8
8
  <div class="item__edit item__edit-1col">
9
9
  <div class="item__edit-form">
@@ -7,7 +7,7 @@
7
7
  $templateName.html("<%= translated_attribute @template.name %>");
8
8
  $templateDescription.html("<%= translated_attribute @template.description %>");
9
9
 
10
- $preview.html("<%= j(render partial: "preview", locals: { questionnaire: @questionnaire }) %>");
10
+ $preview.html("<%= j(render partial: "preview", locals: { skip_authenticity_token: true, questionnaire: @questionnaire }) %>");
11
11
 
12
12
  var $container = $(".questionnaire-template-preview");
13
13
  $container.removeClass("hide");
@@ -1 +1,112 @@
1
+ ---
1
2
  bg:
3
+ activemodel:
4
+ attributes:
5
+ questionnaire:
6
+ title: Заглавие
7
+ template:
8
+ description: Описание
9
+ name: Име
10
+ decidim:
11
+ admin:
12
+ menu:
13
+ templates: Шаблони
14
+ templates:
15
+ actions:
16
+ new_template: Нов шаблон
17
+ apply:
18
+ error: Възникна проблем при прилагането на този шаблон.
19
+ success: Шаблонът е приложен успешно.
20
+ copy:
21
+ error: Възникна проблем при копирането на този шаблон.
22
+ success: Шаблонът е копиран успешно.
23
+ create:
24
+ error: Възникна проблем при създаването на този шаблон.
25
+ success: Шаблонът е създаден успешно.
26
+ destroy:
27
+ success: Шаблонът е изтрит успешно.
28
+ empty: Все още няма шаблони.
29
+ missing_resource: "(липсващ ресурс)"
30
+ update:
31
+ error: Възникна проблем при обновяването на този шаблон.
32
+ success: Шаблонът е обновен успешно.
33
+ titles:
34
+ template_types:
35
+ questionnaires: Шаблони за въпросници
36
+ templates: Шаблони
37
+ models:
38
+ questionnaire_template:
39
+ fields:
40
+ questions: Брой въпроси
41
+ title: Заглавие на въпросник
42
+ template:
43
+ fields:
44
+ created_at: Създаден на
45
+ name: Шаблон
46
+ templates:
47
+ admin:
48
+ block_user_templates:
49
+ edit:
50
+ title: Редактиране на шаблон за блокиране на потребителско съобщение
51
+ form:
52
+ save: Запази
53
+ index:
54
+ confirm_delete: Сигурни ли сте, че желаете да изтриете този шаблон?
55
+ title: Блокиране на потребителски съобщения
56
+ new:
57
+ title: Нов шаблон за блокиране на потребителско съобщение
58
+ template_chooser:
59
+ select_template: Изберете шаблонен отговор
60
+ proposal_answer_templates:
61
+ edit:
62
+ title: Редактиране на шаблон за отговор на предложение
63
+ form:
64
+ component_constraint_help: Обърнете внимание, че ще бъдат изброени само пространства за участие, които имат компоненти от типа „предложения“.
65
+ hint1_html: "<strong>%{organization}</strong> ще бъде заменено от името на организацията"
66
+ hint2_html: "<strong>%{name}</strong> ще бъде заменено с името на автора"
67
+ hint3_html: "<strong>%{admin}</strong> ще бъде заменено от името на администратора (този, който отговаря на предложението)"
68
+ hint_html: "<strong>Съвет:</strong> Можете да използвате тези променливи навсякъде в шаблонния отговор, които ще бъдат заменени при използване на шаблона"
69
+ save: Запази
70
+ index:
71
+ component_constraint: Добавяне на ограничение
72
+ confirm_delete: Сигурни ли сте, че желаете да изтриете този шаблон?
73
+ global_scope: Глобално (достъпно навсякъде)
74
+ internal_state: Вътрешно състояние
75
+ title: Отговори на предложенията
76
+ new:
77
+ title: Нов шаблон за отговор на предложение
78
+ template_chooser:
79
+ select_template: Изберете шаблонен отговор
80
+ questionnaire_templates:
81
+ choose:
82
+ create_from_template: Създайте от шаблон
83
+ description: На път сте да създадете нов въпросник. Можете да изберете предварително дефиниран шаблон и да го промените след това.
84
+ label: Избор на шаблон
85
+ placeholder: Избор на шаблон
86
+ skip_template: Пропусни
87
+ edit:
88
+ edit: Редактирай
89
+ empty: Все още няма въпроси.
90
+ questionnaire: Въпросник
91
+ title: Редактиране на шаблон на въпросник
92
+ form:
93
+ title: Шаблон за въпросник %{questionnaire_for}
94
+ index:
95
+ confirm_delete: Сигурни ли сте, че желаете да изтриете този шаблон?
96
+ title: Шаблони за въпросници
97
+ new:
98
+ title: Нов шаблон за въпросник
99
+ preview:
100
+ current_step: Стъпка %{step}
101
+ of_total_steps: от %{total_steps}
102
+ tos_agreement: С участието си приемате Условията на услугата
103
+ admin_log:
104
+ template:
105
+ create: "%{user_name} създаде шаблона на въпросника %{resource_name}"
106
+ delete: "%{user_name} изтри шаблона на въпросника %{resource_name}"
107
+ duplicate: "%{user_name} дублира шаблона на въпросника %{resource_name}"
108
+ update: "%{user_name} актуализира шаблона на въпросника %{resource_name}"
109
+ template_types:
110
+ block_user: Блокиране на потребителски съобщения
111
+ proposal_answer_templates: Отговори на предложенията
112
+ questionnaires: Въпросници
@@ -10,7 +10,6 @@ ca:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gestionar
14
13
  templates: Plantilles
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ ca:
27
26
  destroy:
28
27
  success: La plantilla s'ha eliminat correctament.
29
28
  empty: Encara no hi ha plantilles.
29
+ fetch:
30
+ error: No s'ha pogut trobar aquesta plantilla. Si us plau, torna a carregar la pàgina.
30
31
  missing_resource: "(recurs absent)"
31
32
  update:
32
33
  error: S'ha produït un error en actualitzar aquesta plantilla.
@@ -10,7 +10,6 @@ cs:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Spravovat
14
13
  templates: Šablony
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ cs:
27
26
  destroy:
28
27
  success: Šablona byla úspěšně odstraněna.
29
28
  empty: Zatím nejsou žádné šablony.
29
+ fetch:
30
+ error: Nelze najít tuto šablonu. Prosím obnovte stránku.
30
31
  missing_resource: "(chybějící zdroj)"
31
32
  update:
32
33
  error: Při aktualizaci této šablony došlo k chybě.
@@ -10,7 +10,6 @@ de:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Verwalten
14
13
  templates: Vorlagen
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ de:
27
26
  destroy:
28
27
  success: Vorlage erfolgreich gelöscht.
29
28
  empty: Es gibt noch keine Vorlagen.
29
+ fetch:
30
+ error: Diese Vorlage konnte nicht gefunden werden. Bitte Seite neu laden.
30
31
  missing_resource: "(fehlende Ressource)"
31
32
  update:
32
33
  error: Bei der Aktualisierung dieser Vorlage ist ein Problem aufgetreten.
@@ -10,7 +10,6 @@ en:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Manage
14
13
  templates: Templates
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ en:
27
26
  destroy:
28
27
  success: Template deleted successfully.
29
28
  empty: There are no templates yet.
29
+ fetch:
30
+ error: Could not find this template. Please reload the page.
30
31
  missing_resource: "(missing resource)"
31
32
  update:
32
33
  error: There was a problem updating this template.
@@ -10,7 +10,6 @@ es-MX:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gestionar
14
13
  templates: Plantillas
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ es-MX:
27
26
  destroy:
28
27
  success: Plantilla eliminada correctamente.
29
28
  empty: Todavía no hay plantillas.
29
+ fetch:
30
+ error: No se ha podido encontrar esta plantilla. Por favor, vuelve a cargar la página.
30
31
  missing_resource: "(recurso ausente)"
31
32
  update:
32
33
  error: Se ha producido un error al actualizar esta plantilla.
@@ -10,7 +10,6 @@ es-PY:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gestionar
14
13
  templates: Plantillas
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ es-PY:
27
26
  destroy:
28
27
  success: Plantilla eliminada correctamente.
29
28
  empty: Todavía no hay plantillas.
29
+ fetch:
30
+ error: No se ha podido encontrar esta plantilla. Por favor, vuelve a cargar la página.
30
31
  missing_resource: "(recurso ausente)"
31
32
  update:
32
33
  error: Se ha producido un error al actualizar esta plantilla.
@@ -10,7 +10,6 @@ es:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gestionar
14
13
  templates: Plantillas
15
14
  templates:
16
15
  actions:
@@ -27,6 +26,8 @@ es:
27
26
  destroy:
28
27
  success: Plantilla eliminada correctamente.
29
28
  empty: Todavía no hay plantillas.
29
+ fetch:
30
+ error: No se ha podido encontrar esta plantilla. Por favor, vuelve a cargar la página.
30
31
  missing_resource: "(recurso ausente)"
31
32
  update:
32
33
  error: Se ha producido un error al actualizar esta plantilla.
@@ -10,7 +10,6 @@ eu:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Kudeatu
14
13
  templates: Txantiloiak
15
14
  templates:
16
15
  actions:
@@ -10,7 +10,6 @@ fi-pl:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Hallinnoi
14
13
  templates: Mallipohjat
15
14
  templates:
16
15
  actions:
@@ -10,7 +10,6 @@ fi:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Hallinnoi
14
13
  templates: Mallipohjat
15
14
  templates:
16
15
  actions:
@@ -10,7 +10,6 @@ fr-CA:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gérer
14
13
  templates: Modèles 
15
14
  templates:
16
15
  actions:
@@ -72,7 +71,7 @@ fr-CA:
72
71
  component_constraint: Ajouter une contrainte
73
72
  confirm_delete: Êtes-vous sûr de vouloir supprimer ce modèle ?
74
73
  global_scope: Global (disponible partout)
75
- internal_state: État interne
74
+ internal_state: Etat interne
76
75
  title: Réponses à la proposition
77
76
  new:
78
77
  title: Nouveau modèle de réponse à proposition
@@ -10,7 +10,6 @@ fr:
10
10
  decidim:
11
11
  admin:
12
12
  menu:
13
- manage: Gérer
14
13
  templates: Modèles de questionnaire
15
14
  templates:
16
15
  actions:
@@ -72,7 +71,7 @@ fr:
72
71
  component_constraint: Ajouter une contrainte
73
72
  confirm_delete: Êtes-vous sûr de vouloir supprimer ce modèle ?
74
73
  global_scope: Global (disponible partout)
75
- internal_state: État interne
74
+ internal_state: Etat interne
76
75
  title: Réponses à la proposition
77
76
  new:
78
77
  title: Nouveau modèle de réponse à proposition
@@ -0,0 +1 @@
1
+ he:
@@ -12,6 +12,8 @@ hu:
12
12
  menu:
13
13
  templates: Sablonok
14
14
  templates:
15
+ actions:
16
+ new_template: Új sablon
15
17
  apply:
16
18
  error: Probléma merült fel a sablon alkalmazása során.
17
19
  copy:
@@ -37,9 +39,14 @@ hu:
37
39
  block_user_templates:
38
40
  form:
39
41
  save: Mentés
42
+ new:
43
+ title: Új felhasználó blokkolás üzenet sablon
40
44
  proposal_answer_templates:
41
45
  form:
42
46
  save: Mentés
47
+ index:
48
+ global_scope: Globális
49
+ title: Javaslat válaszok
43
50
  questionnaire_templates:
44
51
  choose:
45
52
  create_from_template: Létrehozás sablonból
@@ -66,4 +73,5 @@ hu:
66
73
  duplicate: "%{user_name} duplikálta a(z) %{resource_name} kérdőív sablont"
67
74
  update: "%{user_name} frissítette a(z) %{resource_name} kérdőív sablont"
68
75
  template_types:
76
+ proposal_answer_templates: Javaslat válaszok
69
77
  questionnaires: Kérdőívek