decidim-templates 0.26.0 → 0.27.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-templates might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/commands/decidim/templates/admin/apply_questionnaire_template.rb +1 -1
- data/app/commands/decidim/templates/admin/copy_questionnaire_template.rb +8 -5
- data/app/commands/decidim/templates/admin/create_questionnaire_template.rb +1 -1
- data/app/commands/decidim/templates/admin/destroy_template.rb +1 -1
- data/app/commands/decidim/templates/admin/questionnaire_copier.rb +2 -1
- data/app/commands/decidim/templates/admin/update_template.rb +1 -1
- data/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb +1 -1
- data/app/models/decidim/templates/template.rb +6 -0
- data/app/packs/entrypoints/decidim_templates.js +1 -0
- data/app/packs/src/decidim/templates/admin/choose_template.js +30 -0
- data/app/presenters/decidim/templates/admin_log/template_presenter.rb +36 -0
- data/app/views/decidim/templates/admin/questionnaire_templates/_choose.html.erb +13 -3
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +5 -0
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +7 -0
- data/config/locales/cs.yml +7 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +1 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en.yml +6 -0
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +7 -0
- data/config/locales/es-PY.yml +7 -0
- data/config/locales/es.yml +7 -0
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +1 -0
- data/config/locales/fi-plain.yml +7 -0
- data/config/locales/fi.yml +7 -0
- data/config/locales/fr-CA.yml +1 -0
- data/config/locales/fr.yml +1 -0
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +1 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +1 -0
- data/config/locales/id-ID.yml +1 -0
- data/config/locales/is-IS.yml +2 -1
- data/config/locales/it.yml +1 -0
- data/config/locales/ja.yml +7 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/lv.yml +1 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +1 -0
- data/config/locales/no.yml +1 -0
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +1 -0
- data/config/locales/pt-BR.yml +2 -1
- data/config/locales/pt.yml +1 -0
- data/config/locales/ro-RO.yml +1 -0
- data/config/locales/ru.yml +1 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +1 -0
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +5 -0
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +1 -0
- data/config/locales/uk.yml +1 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +1 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/seeds.rb +1 -1
- data/lib/decidim/templates/test/shared_examples/uses_questionnaire_templates.rb +9 -8
- data/lib/decidim/templates/version.rb +1 -1
- metadata +16 -15
- data/app/helpers/decidim/templates/admin/templates_helper.rb +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00fb7813ca553dfef2aa7b56f41da97804c6d27e0e62bc2d616842c4eff820a5
|
4
|
+
data.tar.gz: 37d4edffba55c81d5826439eb6a4b75549f3f891b9fd7d1d6fd482bbb47d4748
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b8eb0373fbb853f099283f3dc52a86b69426954ee1dd92fbf2cceeefe67d836c71f2b26e832a14b1fd098d861f226663e457b1ffb6d8a5894282ce3f55ceb75
|
7
|
+
data.tar.gz: 882db5f20769282c34c7065d941a2d65decaa7de86883226eb0f05f5bd2b197a81299b80157349bee87058f7543f496ca30b12b469d9cc083e276c36647af784
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Templates
|
5
5
|
# A command with all the business logic when duplicating a questionnaire template
|
6
6
|
module Admin
|
7
|
-
class ApplyQuestionnaireTemplate <
|
7
|
+
class ApplyQuestionnaireTemplate < Decidim::Command
|
8
8
|
include Decidim::Templates::Admin::QuestionnaireCopier
|
9
9
|
|
10
10
|
# Public: Initializes the command.
|
@@ -4,14 +4,15 @@ module Decidim
|
|
4
4
|
module Templates
|
5
5
|
# A command with all the business logic when duplicating a questionnaire template
|
6
6
|
module Admin
|
7
|
-
class CopyQuestionnaireTemplate <
|
7
|
+
class CopyQuestionnaireTemplate < Decidim::Command
|
8
8
|
include Decidim::Templates::Admin::QuestionnaireCopier
|
9
9
|
|
10
10
|
# Public: Initializes the command.
|
11
11
|
#
|
12
12
|
# template - A template we want to duplicate
|
13
|
-
def initialize(template)
|
13
|
+
def initialize(template, user)
|
14
14
|
@template = template
|
15
|
+
@user = user
|
15
16
|
end
|
16
17
|
|
17
18
|
# Executes the command. Broadcasts these events:
|
@@ -23,9 +24,11 @@ module Decidim
|
|
23
24
|
def call
|
24
25
|
return broadcast(:invalid) unless @template.valid?
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
Decidim.traceability.perform_action!("duplicate", @template, @user) do
|
28
|
+
Template.transaction do
|
29
|
+
copy_template
|
30
|
+
copy_questionnaire_questions(@template.templatable, @copied_template.templatable)
|
31
|
+
end
|
29
32
|
end
|
30
33
|
|
31
34
|
broadcast(:ok, @copied_template)
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Templates
|
5
5
|
module Admin
|
6
6
|
# Creates a QuestionnaireTemplate.
|
7
|
-
class CreateQuestionnaireTemplate <
|
7
|
+
class CreateQuestionnaireTemplate < Decidim::Command
|
8
8
|
# Initializes the command.
|
9
9
|
#
|
10
10
|
# form - The source for this QuestionnaireTemplate.
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Templates
|
5
5
|
module Admin
|
6
6
|
# This command deals with destroying a template from the admin panel.
|
7
|
-
class DestroyTemplate <
|
7
|
+
class DestroyTemplate < Decidim::Command
|
8
8
|
# Public: Initializes the command.
|
9
9
|
#
|
10
10
|
# template - The Template to be destroyed.
|
@@ -7,7 +7,7 @@ module Decidim
|
|
7
7
|
module QuestionnaireCopier
|
8
8
|
def copy_questionnaire_questions(original_questionnaire, new_questionnaire)
|
9
9
|
# start by copying the questions so that they already exist when cross referencing them in the conditions
|
10
|
-
original_questionnaire.questions.includes(:answer_options, :matrix_rows, :display_conditions)
|
10
|
+
original_questionnaire.reload.questions.includes(:answer_options, :matrix_rows, :display_conditions)
|
11
11
|
original_questionnaire.questions.each do |original_question|
|
12
12
|
new_question = original_question.dup
|
13
13
|
new_question.questionnaire = new_questionnaire
|
@@ -49,6 +49,7 @@ module Decidim
|
|
49
49
|
new_display_condition.answer_option = find_answer_option_by_body(destination_question_to_be_checked.answer_options, original_display_condition.answer_option.body)
|
50
50
|
end
|
51
51
|
new_display_condition.save!
|
52
|
+
destination_question.display_conditions << new_display_condition
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
@@ -54,7 +54,7 @@ module Decidim
|
|
54
54
|
def copy
|
55
55
|
enforce_permission_to :copy, :template
|
56
56
|
|
57
|
-
CopyQuestionnaireTemplate.call(template) do
|
57
|
+
CopyQuestionnaireTemplate.call(template, current_user) do
|
58
58
|
on(:ok) do
|
59
59
|
flash[:notice] = I18n.t("templates.copy.success", scope: "decidim.admin")
|
60
60
|
redirect_to action: :index
|
@@ -11,6 +11,8 @@
|
|
11
11
|
module Decidim
|
12
12
|
module Templates
|
13
13
|
class Template < ApplicationRecord
|
14
|
+
include Decidim::Traceable
|
15
|
+
|
14
16
|
belongs_to :organization,
|
15
17
|
foreign_key: "decidim_organization_id",
|
16
18
|
class_name: "Decidim::Organization"
|
@@ -28,6 +30,10 @@ module Decidim
|
|
28
30
|
def destroy_templatable
|
29
31
|
templatable.destroy
|
30
32
|
end
|
33
|
+
|
34
|
+
def self.log_presenter_class_for(_log)
|
35
|
+
Decidim::Templates::AdminLog::TemplatePresenter
|
36
|
+
end
|
31
37
|
end
|
32
38
|
end
|
33
39
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { datalistSelect } from "src/decidim/datalist_select";
|
2
|
+
|
3
|
+
$(() => {
|
4
|
+
const wrapper = document.querySelector("#choose-template");
|
5
|
+
if (!wrapper) {
|
6
|
+
return;
|
7
|
+
}
|
8
|
+
|
9
|
+
const preview = (id) => {
|
10
|
+
const options = wrapper.dataset;
|
11
|
+
const previewURL = options.previewurl;
|
12
|
+
if (!previewURL) {
|
13
|
+
return;
|
14
|
+
}
|
15
|
+
const params = new URLSearchParams({ id: id });
|
16
|
+
fetch(`${previewURL}?${params.toString()}`, {
|
17
|
+
method: "GET",
|
18
|
+
headers: { "Content-Type": "application/json" }
|
19
|
+
}).then((response) => response.text()).then((data) => {
|
20
|
+
const script = document.createElement("script");
|
21
|
+
script.type = "text/javascript";
|
22
|
+
script.innerHTML = data;
|
23
|
+
document.getElementsByTagName("head")[0].appendChild(script);
|
24
|
+
}).catch((error) => {
|
25
|
+
console.error(error); // eslint-disable-line no-console
|
26
|
+
});
|
27
|
+
}
|
28
|
+
|
29
|
+
datalistSelect(wrapper, preview)
|
30
|
+
})
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Templates
|
5
|
+
module AdminLog
|
6
|
+
# This class holds the logic to present a `Decidim::Template`
|
7
|
+
# for the `AdminLog` log.
|
8
|
+
#
|
9
|
+
# Usage should be automatic and you shouldn't need to call this class
|
10
|
+
# directly, but here's an example:
|
11
|
+
#
|
12
|
+
# action_log = Decidim::ActionLog.last
|
13
|
+
# view_helpers # => this comes from the views
|
14
|
+
# TemplatePresenter.new(action_log, view_helpers).present
|
15
|
+
class TemplatePresenter < Decidim::Log::BasePresenter
|
16
|
+
private
|
17
|
+
|
18
|
+
def diff_fields_mapping
|
19
|
+
{
|
20
|
+
name: :i18n,
|
21
|
+
description: :i18n
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def action_string
|
26
|
+
case action
|
27
|
+
when "create", "update", "delete", "duplicate"
|
28
|
+
"decidim.templates.admin_log.template.#{action}"
|
29
|
+
else
|
30
|
+
super
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -12,9 +12,18 @@
|
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<%= decidim_form_for([questionnaire], url: decidim_admin_templates.apply_questionnaire_templates_url(questionnaire_id: questionnaire, url: request.url), method: :post, html: { class: "form choose_questionnaire_templates" }) do |form| %>
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
<%= datalist_select(templates,
|
16
|
+
{
|
17
|
+
id: "choose-template",
|
18
|
+
list: "template-list",
|
19
|
+
label: t(".label"),
|
20
|
+
name: "select-template",
|
21
|
+
placeholder: t("placeholder", scope: "decidim.templates.admin.questionnaire_templates.choose"),
|
22
|
+
data: {
|
23
|
+
previewurl: decidim_admin_templates.preview_questionnaire_templates_url(format: :js)
|
24
|
+
}
|
25
|
+
}
|
26
|
+
) { form.hidden_field :questionnaire_template_id } %>
|
18
27
|
|
19
28
|
<div class="card-section questionnaire-template-preview">
|
20
29
|
<h3 class="template-name"></h3>
|
@@ -32,4 +41,5 @@
|
|
32
41
|
</div>
|
33
42
|
</div>
|
34
43
|
|
44
|
+
<%= javascript_pack_tag "decidim_templates" %>
|
35
45
|
<%= stylesheet_pack_tag "decidim_templates", media: "all" %>
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
ca:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ ca:
|
|
63
64
|
current_step: Pas %{step}
|
64
65
|
of_total_steps: de %{total_steps}
|
65
66
|
tos_agreement: En participar acceptes els Termes i condicions d'ús
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} ha actualitzat la plantilla del qüestionari %{resource_name}"
|
70
|
+
delete: "%{user_name} ha esborrat la plantilla del qüestionari %{resource_name}"
|
71
|
+
duplicate: "%{user_name} ha duplicat la plantilla del qüestionari %{resource_name}"
|
72
|
+
update: "%{user_name} ha actualitzat la plantilla del qüestionari %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Qüestionari
|
data/config/locales/cs.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
cs:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ cs:
|
|
63
64
|
current_step: Krok %{step}
|
64
65
|
of_total_steps: z %{total_steps}
|
65
66
|
tos_agreement: Zúčastněním souhlasíte s podmínkami služby
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} vytvořil šablonu dotazníku %{resource_name}"
|
70
|
+
delete: "%{user_name} odstranil šablonu dotazníku %{resource_name}"
|
71
|
+
duplicate: "%{user_name} zkopíroval šablonu dotazníku %{resource_name}"
|
72
|
+
update: "%{user_name} aktualizoval šablonu dotazníku %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Dotazníky
|
data/config/locales/da.yml
CHANGED
data/config/locales/de.yml
CHANGED
data/config/locales/el.yml
CHANGED
data/config/locales/en.yml
CHANGED
@@ -64,5 +64,11 @@ en:
|
|
64
64
|
current_step: Step %{step}
|
65
65
|
of_total_steps: of %{total_steps}
|
66
66
|
tos_agreement: By participating you accept its Terms of Service
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} created the %{resource_name} questionnaire template"
|
70
|
+
delete: "%{user_name} deleted the %{resource_name} questionnaire template"
|
71
|
+
duplicate: "%{user_name} duplicated the %{resource_name} questionnaire template"
|
72
|
+
update: "%{user_name} updated the %{resource_name} questionnaire template"
|
67
73
|
template_types:
|
68
74
|
questionnaires: Questionnaires
|
data/config/locales/eo.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
es-MX:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ es-MX:
|
|
63
64
|
current_step: Paso %{step}
|
64
65
|
of_total_steps: de %{total_steps}
|
65
66
|
tos_agreement: Al participar aceptas los Términos y condiciones de uso
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} ha creado la plantilla del cuestionario %{resource_name}"
|
70
|
+
delete: "%{user_name} ha eliminado la plantilla del cuestionario %{resource_name}"
|
71
|
+
duplicate: "%{user_name} ha duplicado la plantilla del cuestionario %{resource_name}"
|
72
|
+
update: "%{user_name} ha actualizado la platilla del cuestionario %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Cuestionarios
|
data/config/locales/es-PY.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
es-PY:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ es-PY:
|
|
63
64
|
current_step: Paso %{step}
|
64
65
|
of_total_steps: de %{total_steps}
|
65
66
|
tos_agreement: Al participar aceptas los Términos y condiciones de uso
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} ha creado la plantilla del cuestionario %{resource_name}"
|
70
|
+
delete: "%{user_name} ha eliminado la plantilla del cuestionario %{resource_name}"
|
71
|
+
duplicate: "%{user_name} ha duplicado la plantilla del cuestionario %{resource_name}"
|
72
|
+
update: "%{user_name} ha actualizado la platilla del cuestionario %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Cuestionarios
|
data/config/locales/es.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
es:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ es:
|
|
63
64
|
current_step: Paso %{step}
|
64
65
|
of_total_steps: de %{total_steps}
|
65
66
|
tos_agreement: Al participar aceptas los Términos y condiciones de uso
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} ha creado la plantilla del cuestionario %{resource_name}"
|
70
|
+
delete: "%{user_name} ha eliminado la plantilla del cuestionario %{resource_name}"
|
71
|
+
duplicate: "%{user_name} ha duplicado la plantilla del cuestionario %{resource_name}"
|
72
|
+
update: "%{user_name} ha actualizado la platilla del cuestionario %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Cuestionarios
|
data/config/locales/et.yml
CHANGED
data/config/locales/eu.yml
CHANGED
data/config/locales/fi-plain.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
fi-pl:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ fi-pl:
|
|
63
64
|
current_step: Vaihe %{step}
|
64
65
|
of_total_steps: / %{total_steps}
|
65
66
|
tos_agreement: Osallistumalla hyväksyt käyttöehdot
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} loi kyselymallin %{resource_name}"
|
70
|
+
delete: "%{user_name} poisti kyselymallin %{resource_name}"
|
71
|
+
duplicate: "%{user_name} kopioi kyselymallin %{resource_name}"
|
72
|
+
update: "%{user_name} päivitti kyselymallia %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Kyselyt
|
data/config/locales/fi.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
fi:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ fi:
|
|
63
64
|
current_step: Vaihe %{step}
|
64
65
|
of_total_steps: / %{total_steps}
|
65
66
|
tos_agreement: Osallistumalla hyväksyt käyttöehdot
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} loi kyselymallin %{resource_name}"
|
70
|
+
delete: "%{user_name} poisti kyselymallin %{resource_name}"
|
71
|
+
duplicate: "%{user_name} kopioi kyselymallin %{resource_name}"
|
72
|
+
update: "%{user_name} päivitti kyselymallia %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Kyselyt
|
data/config/locales/fr-CA.yml
CHANGED
data/config/locales/fr.yml
CHANGED
data/config/locales/ga-IE.yml
CHANGED
data/config/locales/gl.yml
CHANGED
data/config/locales/hr.yml
CHANGED
data/config/locales/hu.yml
CHANGED
data/config/locales/id-ID.yml
CHANGED
data/config/locales/is-IS.yml
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
---
|
2
|
+
is:
|
data/config/locales/it.yml
CHANGED
data/config/locales/ja.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
ja:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ ja:
|
|
63
64
|
current_step: ステップ %{step}
|
64
65
|
of_total_steps: / %{total_steps}
|
65
66
|
tos_agreement: 参加することにより、利用規約に同意します。
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} が %{resource_name} アンケートテンプレートを作成しました"
|
70
|
+
delete: "%{user_name} が %{resource_name} アンケートテンプレートを削除しました"
|
71
|
+
duplicate: "%{user_name} が %{resource_name} アンケートテンプレートを複製しました"
|
72
|
+
update: "%{user_name} が %{resource_name} アンケートテンプレートを更新しました"
|
66
73
|
template_types:
|
67
74
|
questionnaires: アンケート
|
data/config/locales/ko.yml
CHANGED
data/config/locales/lb.yml
CHANGED
data/config/locales/lt.yml
CHANGED
data/config/locales/lv.yml
CHANGED
data/config/locales/mt.yml
CHANGED
data/config/locales/nl.yml
CHANGED
data/config/locales/no.yml
CHANGED
data/config/locales/om-ET.yml
CHANGED
data/config/locales/pl.yml
CHANGED
data/config/locales/pt-BR.yml
CHANGED
data/config/locales/pt.yml
CHANGED
data/config/locales/ro-RO.yml
CHANGED
data/config/locales/ru.yml
CHANGED
data/config/locales/si-LK.yml
CHANGED
data/config/locales/sk.yml
CHANGED
data/config/locales/sl.yml
CHANGED
data/config/locales/so-SO.yml
CHANGED
data/config/locales/sr-CS.yml
CHANGED
data/config/locales/sv.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
sv:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -21,6 +22,8 @@ sv:
|
|
21
22
|
admin:
|
22
23
|
questionnaire_templates:
|
23
24
|
choose:
|
25
|
+
label: Välj mall
|
26
|
+
placeholder: Välj mall
|
24
27
|
skip_template: Hoppa över
|
25
28
|
edit:
|
26
29
|
edit: Redigera
|
@@ -29,3 +32,5 @@ sv:
|
|
29
32
|
save: Spara
|
30
33
|
preview:
|
31
34
|
current_step: Steg %{step} av
|
35
|
+
template_types:
|
36
|
+
questionnaires: Enkäter
|
data/config/locales/sw-KE.yml
CHANGED
data/config/locales/ti-ER.yml
CHANGED
data/config/locales/tr-TR.yml
CHANGED
data/config/locales/uk.yml
CHANGED
data/config/locales/val-ES.yml
CHANGED
data/config/locales/vi.yml
CHANGED
data/config/locales/zh-CN.yml
CHANGED
data/config/locales/zh-TW.yml
CHANGED
data/db/seeds.rb
CHANGED
@@ -9,7 +9,7 @@ shared_examples_for "uses questionnaire templates" do |_questionnaire_for|
|
|
9
9
|
context "when there are no templates" do
|
10
10
|
before do
|
11
11
|
questionnaire.update_columns(
|
12
|
-
created_at:
|
12
|
+
created_at: 1.day.ago,
|
13
13
|
updated_at: Time.zone.now
|
14
14
|
)
|
15
15
|
end
|
@@ -27,7 +27,7 @@ shared_examples_for "uses questionnaire templates" do |_questionnaire_for|
|
|
27
27
|
context "when it is an existing questionnaire" do
|
28
28
|
before do
|
29
29
|
questionnaire.update_columns(
|
30
|
-
created_at:
|
30
|
+
created_at: 1.day.ago,
|
31
31
|
updated_at: Time.zone.now
|
32
32
|
)
|
33
33
|
end
|
@@ -53,16 +53,17 @@ shared_examples_for "uses questionnaire templates" do |_questionnaire_for|
|
|
53
53
|
expect(page).to have_content("Choose template")
|
54
54
|
end
|
55
55
|
|
56
|
-
it "loads the
|
57
|
-
page.find("
|
56
|
+
it "loads the templates in the select" do
|
57
|
+
page.find("input[name='select-template']").click
|
58
58
|
|
59
|
-
within "
|
60
|
-
expect(page).to have_selector("
|
59
|
+
within "#template-list", visible: :hidden do
|
60
|
+
expect(page).to have_selector("option", visible: :hidden, count: 6)
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
64
|
it "displays the preview when a template is selected" do
|
65
|
-
|
65
|
+
select(template.name["en"], from: "select-template")
|
66
|
+
|
66
67
|
within ".questionnaire-template-preview" do
|
67
68
|
expect(page).to have_i18n_content(template.name)
|
68
69
|
expect(page).to have_i18n_content(question.body)
|
@@ -88,7 +89,7 @@ shared_examples_for "uses questionnaire templates" do |_questionnaire_for|
|
|
88
89
|
)
|
89
90
|
visit questionnaire_edit_path
|
90
91
|
|
91
|
-
|
92
|
+
select(template.name["en"], from: "select-template")
|
92
93
|
|
93
94
|
within ".create-from-template" do
|
94
95
|
find("*[type=submit]").click
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-templates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vera Rojman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-core
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.27.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.27.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: decidim-forms
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.27.0.rc1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.27.0.rc1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: decidim-admin
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.27.0.rc1
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.27.0.rc1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: decidim-dev
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.27.0.rc1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.27.0.rc1
|
69
69
|
description: This module provides a solution to create templates for different Decidim
|
70
70
|
models, such as Proposals and Questionnaires..
|
71
71
|
email:
|
@@ -89,7 +89,6 @@ files:
|
|
89
89
|
- app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb
|
90
90
|
- app/controllers/decidim/templates/application_controller.rb
|
91
91
|
- app/forms/decidim/templates/admin/template_form.rb
|
92
|
-
- app/helpers/decidim/templates/admin/templates_helper.rb
|
93
92
|
- app/helpers/decidim/templates/application_helper.rb
|
94
93
|
- app/models/concerns/decidim/templates/templatable.rb
|
95
94
|
- app/models/decidim/templates/application_record.rb
|
@@ -97,8 +96,10 @@ files:
|
|
97
96
|
- app/packs/entrypoints/decidim_templates.js
|
98
97
|
- app/packs/entrypoints/decidim_templates.scss
|
99
98
|
- app/packs/images/decidim/templates/decidim_templates.svg
|
99
|
+
- app/packs/src/decidim/templates/admin/choose_template.js
|
100
100
|
- app/packs/stylesheets/decidim/templates/templates.scss
|
101
101
|
- app/permissions/decidim/templates/admin/permissions.rb
|
102
|
+
- app/presenters/decidim/templates/admin_log/template_presenter.rb
|
102
103
|
- app/views/decidim/templates/admin/questionnaire_templates/_choose.html.erb
|
103
104
|
- app/views/decidim/templates/admin/questionnaire_templates/_form.html.erb
|
104
105
|
- app/views/decidim/templates/admin/questionnaire_templates/_preview.html.erb
|
@@ -188,14 +189,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
188
189
|
requirements:
|
189
190
|
- - ">="
|
190
191
|
- !ruby/object:Gem::Version
|
191
|
-
version: '
|
192
|
+
version: '3.0'
|
192
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
194
|
requirements:
|
194
|
-
- - "
|
195
|
+
- - ">"
|
195
196
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
197
|
+
version: 1.3.1
|
197
198
|
requirements: []
|
198
|
-
rubygems_version: 3.
|
199
|
+
rubygems_version: 3.2.22
|
199
200
|
signing_key:
|
200
201
|
specification_version: 4
|
201
202
|
summary: A decidim templates module
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Templates
|
5
|
-
module Admin
|
6
|
-
# Custom helpers, scoped to the templates engine.
|
7
|
-
#
|
8
|
-
module TemplatesHelper
|
9
|
-
def select_template(form, templates)
|
10
|
-
prompt_options = {
|
11
|
-
url: decidim_admin_templates.questionnaire_templates_url(format: :json),
|
12
|
-
change_url: decidim_admin_templates.preview_questionnaire_templates_url(format: :js),
|
13
|
-
placeholder: t("placeholder", scope: "decidim.templates.admin.questionnaire_templates.choose")
|
14
|
-
}
|
15
|
-
|
16
|
-
default_options = templates.last(5).map { |questionnaire_template| { value: questionnaire_template.id, label: translated_attribute(questionnaire_template.name) } }
|
17
|
-
|
18
|
-
form.autocomplete_select(
|
19
|
-
:questionnaire_template_id,
|
20
|
-
false,
|
21
|
-
{
|
22
|
-
multiple: false,
|
23
|
-
label: t("label", scope: "decidim.templates.admin.questionnaire_templates.choose"),
|
24
|
-
default_options: default_options
|
25
|
-
},
|
26
|
-
prompt_options
|
27
|
-
)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|