decidim-templates 0.26.2 → 0.27.0.rc2
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/ar.yml +1 -0
- data/config/locales/ca.yml +7 -0
- data/config/locales/cs.yml +7 -0
- data/config/locales/de.yml +8 -0
- data/config/locales/en.yml +6 -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/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 +7 -0
- data/config/locales/fr.yml +7 -0
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +1 -0
- data/config/locales/hu.yml +73 -0
- data/config/locales/it.yml +1 -0
- data/config/locales/ja.yml +7 -0
- data/config/locales/lt.yml +73 -0
- data/config/locales/nl.yml +1 -0
- data/config/locales/no.yml +1 -0
- data/config/locales/pl.yml +1 -0
- data/config/locales/pt-BR.yml +1 -0
- data/config/locales/pt.yml +1 -0
- data/config/locales/ro-RO.yml +1 -0
- data/config/locales/sv.yml +5 -0
- data/config/locales/tr-TR.yml +1 -0
- data/config/locales/zh-CN.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: e95bae92cbcb5a9ea9c38b3cbcc3d5fc6e02657193a5a93f5f9f5bcd1eb3f580
|
4
|
+
data.tar.gz: 18b92b7051161f75f7295e45b8ebb39d62873554378d9c74be93479d655ef790
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6add0aa5a05fa3d04ab9839163df4d69d760e15e4cb8fa1257bf0d13f8b4ec545f1b37602ff1fddda51a6de1e42bbd4fb68b2b6bc9d9cea0267688b489b14782
|
7
|
+
data.tar.gz: 9ea51620c67c5a2e2eb924774cfa4425a3a1e1388c7865907c927b4780e73b997563234bfa963f462cbc78b831f6fb681973018cbee0b28e8a194ed688ff438c
|
@@ -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/ar.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/de.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/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/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
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
fr-CA:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ fr-CA:
|
|
63
64
|
current_step: Étape %{step}
|
64
65
|
of_total_steps: de %{total_steps}
|
65
66
|
tos_agreement: En participant, vous acceptez ses conditions d'utilisation
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} a créé le modèle de questionnaire %{resource_name}"
|
70
|
+
delete: "%{user_name} a supprimé le modèle de questionnaire %{resource_name}"
|
71
|
+
duplicate: "%{user_name} a dupliqué le modèle de questionnaire %{resource_name}"
|
72
|
+
update: "%{user_name} a modifié le modèle de questionnaire %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Questionnaires
|
data/config/locales/fr.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
fr:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -63,5 +64,11 @@ fr:
|
|
63
64
|
current_step: Étape %{step}
|
64
65
|
of_total_steps: sur %{total_steps}
|
65
66
|
tos_agreement: En participant, vous acceptez ces conditions d'utilisation
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} a créé le modèle de questionnaire %{resource_name}"
|
70
|
+
delete: "%{user_name} a supprimé le modèle de questionnaire %{resource_name}"
|
71
|
+
duplicate: "%{user_name} a dupliqué le modèle de questionnaire %{resource_name}"
|
72
|
+
update: "%{user_name} a modifié le modèle de questionnaire %{resource_name}"
|
66
73
|
template_types:
|
67
74
|
questionnaires: Questionnaires
|
data/config/locales/ga-IE.yml
CHANGED
data/config/locales/gl.yml
CHANGED
data/config/locales/hu.yml
CHANGED
@@ -1 +1,74 @@
|
|
1
|
+
---
|
1
2
|
hu:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
questionnaire:
|
6
|
+
title: Cím
|
7
|
+
template:
|
8
|
+
description: Leírás
|
9
|
+
name: Név
|
10
|
+
decidim:
|
11
|
+
admin:
|
12
|
+
menu:
|
13
|
+
templates: Sablonok
|
14
|
+
templates:
|
15
|
+
apply:
|
16
|
+
error: Probléma merült fel a sablon alkalmazása során.
|
17
|
+
success: Sablon sikeresen alkalmazva
|
18
|
+
copy:
|
19
|
+
error: Probléma merült fel a sablon másolása során.
|
20
|
+
success: Sablon sikeresen másolva
|
21
|
+
create:
|
22
|
+
error: Probléma történt az sablon létrehozásakor.
|
23
|
+
success: Sablon létrhehozása sikeres
|
24
|
+
destroy:
|
25
|
+
success: Sablon törlése sikeres
|
26
|
+
empty: Nincsenek még sablonok.
|
27
|
+
update:
|
28
|
+
error: Probléma merült fel a sablon frissítése során.
|
29
|
+
success: A sablon sikeresen frissült
|
30
|
+
titles:
|
31
|
+
template_types:
|
32
|
+
questionnaires: Kérdőív-sablonok
|
33
|
+
templates: Sablonok
|
34
|
+
models:
|
35
|
+
questionnaire_template:
|
36
|
+
fields:
|
37
|
+
questions: Kérdések száma
|
38
|
+
title: Kérdõív címe
|
39
|
+
template:
|
40
|
+
fields:
|
41
|
+
created_at: 'Létrehozva:'
|
42
|
+
name: Sablon
|
43
|
+
templates:
|
44
|
+
admin:
|
45
|
+
questionnaire_templates:
|
46
|
+
choose:
|
47
|
+
create_from_template: Létrehozás sablonból
|
48
|
+
description: Egy új kérdőív létrehozására készült. Választhatsz előre létrehozott sablonok közül amelyeket később módosíthatsz.
|
49
|
+
label: Válassz egy sablont
|
50
|
+
placeholder: Válassz egy sablont
|
51
|
+
skip_template: Átugrás
|
52
|
+
edit:
|
53
|
+
edit: Szerkesztés
|
54
|
+
empty: Még nincsenek kérdések
|
55
|
+
questionnaire: Kérdőív
|
56
|
+
form:
|
57
|
+
save: Mentés
|
58
|
+
template_title: Sablon információi
|
59
|
+
title: Kérdőív sablon %{questionnaire_for}
|
60
|
+
index:
|
61
|
+
confirm_delete: Biztos törölni szeretné a sablont?
|
62
|
+
title: Kérdőív-sablonok
|
63
|
+
preview:
|
64
|
+
current_step: Lépés %{step}
|
65
|
+
of_total_steps: 'ennyiből: %{total_steps}'
|
66
|
+
tos_agreement: A részvétellel elfogadja az Általános Szerződési Feltételeket
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} létrehozta a(z) %{resource_name} kérdőív sablont"
|
70
|
+
delete: "%{user_name} törölte a(z) %{resource_name} kérdőív sablont"
|
71
|
+
duplicate: "%{user_name} duplikálta a(z) %{resource_name} kérdőív sablont"
|
72
|
+
update: "%{user_name} frissítette a(z) %{resource_name} kérdőív sablont"
|
73
|
+
template_types:
|
74
|
+
questionnaires: Kérdőívek
|
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/lt.yml
CHANGED
@@ -1 +1,74 @@
|
|
1
|
+
---
|
1
2
|
lt:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
questionnaire:
|
6
|
+
title: Pavadinimas
|
7
|
+
template:
|
8
|
+
description: Aprašymas
|
9
|
+
name: Pavadinimas
|
10
|
+
decidim:
|
11
|
+
admin:
|
12
|
+
menu:
|
13
|
+
templates: Šablonai
|
14
|
+
templates:
|
15
|
+
apply:
|
16
|
+
error: Pritaikant šį šabloną iškilo problema.
|
17
|
+
success: Šablonas sėkmingai pritaikytas
|
18
|
+
copy:
|
19
|
+
error: Kopijuojant šį šabloną iškilo problema.
|
20
|
+
success: Šablonas pritaikytas nukopijuotas
|
21
|
+
create:
|
22
|
+
error: Kuriant šį šabloną iškilo problema.
|
23
|
+
success: Šablonas sukurtas sėkmingai
|
24
|
+
destroy:
|
25
|
+
success: Šablonas ištrintas sėkmingai
|
26
|
+
empty: Dar nėra šablonų.
|
27
|
+
update:
|
28
|
+
error: Atnaujinant šį šabloną kilo problema.
|
29
|
+
success: Šablonas atnaujintas sėkmingai
|
30
|
+
titles:
|
31
|
+
template_types:
|
32
|
+
questionnaires: Klausimyno šablonai
|
33
|
+
templates: Šablonai
|
34
|
+
models:
|
35
|
+
questionnaire_template:
|
36
|
+
fields:
|
37
|
+
questions: Klausimų skaičius
|
38
|
+
title: Klausimyno pavadinimas
|
39
|
+
template:
|
40
|
+
fields:
|
41
|
+
created_at: Sukurta
|
42
|
+
name: Šablonas
|
43
|
+
templates:
|
44
|
+
admin:
|
45
|
+
questionnaire_templates:
|
46
|
+
choose:
|
47
|
+
create_from_template: Kurti iš šablono
|
48
|
+
description: Tuojaus sukursite naują klausimyną. Galite jį kurti iš šablono ir jį pakeisti vėliau.
|
49
|
+
label: Pasirinkti šabloną
|
50
|
+
placeholder: Pasirinkti šabloną
|
51
|
+
skip_template: Praleisti
|
52
|
+
edit:
|
53
|
+
edit: Redaguoti
|
54
|
+
empty: Dar nėra klausimų
|
55
|
+
questionnaire: Klausimynas
|
56
|
+
form:
|
57
|
+
save: Išsaugoti
|
58
|
+
template_title: Šablono informacija
|
59
|
+
title: Klausimyno šablonas %{questionnaire_for}
|
60
|
+
index:
|
61
|
+
confirm_delete: Ar tikrai norite ištrinti šį šabloną?
|
62
|
+
title: Klausimyno šablonai
|
63
|
+
preview:
|
64
|
+
current_step: Žingsnis %{step}
|
65
|
+
of_total_steps: iš%{total_steps}
|
66
|
+
tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis
|
67
|
+
admin_log:
|
68
|
+
template:
|
69
|
+
create: "%{user_name} atnaujino %{resource_name} klausimyno šabloną"
|
70
|
+
delete: "%{user_name} ištrynė %{resource_name} klausimyno šabloną"
|
71
|
+
duplicate: "%{user_name} dublikavo %{resource_name} klausimyno šabloną"
|
72
|
+
update: "%{user_name} atnaujino %{resource_name} klausimyno šabloną"
|
73
|
+
template_types:
|
74
|
+
questionnaires: Klausimynai
|
data/config/locales/nl.yml
CHANGED
data/config/locales/no.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/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/tr-TR.yml
CHANGED
data/config/locales/zh-CN.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.rc2
|
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-09-19 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.rc2
|
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.rc2
|
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.rc2
|
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.rc2
|
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.rc2
|
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.rc2
|
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.rc2
|
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.rc2
|
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
|