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.

Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/templates/admin/apply_questionnaire_template.rb +1 -1
  3. data/app/commands/decidim/templates/admin/copy_questionnaire_template.rb +8 -5
  4. data/app/commands/decidim/templates/admin/create_questionnaire_template.rb +1 -1
  5. data/app/commands/decidim/templates/admin/destroy_template.rb +1 -1
  6. data/app/commands/decidim/templates/admin/questionnaire_copier.rb +2 -1
  7. data/app/commands/decidim/templates/admin/update_template.rb +1 -1
  8. data/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb +1 -1
  9. data/app/models/decidim/templates/template.rb +6 -0
  10. data/app/packs/entrypoints/decidim_templates.js +1 -0
  11. data/app/packs/src/decidim/templates/admin/choose_template.js +30 -0
  12. data/app/presenters/decidim/templates/admin_log/template_presenter.rb +36 -0
  13. data/app/views/decidim/templates/admin/questionnaire_templates/_choose.html.erb +13 -3
  14. data/config/locales/ar.yml +1 -0
  15. data/config/locales/ca.yml +7 -0
  16. data/config/locales/cs.yml +7 -0
  17. data/config/locales/de.yml +8 -0
  18. data/config/locales/en.yml +6 -0
  19. data/config/locales/es-MX.yml +7 -0
  20. data/config/locales/es-PY.yml +7 -0
  21. data/config/locales/es.yml +7 -0
  22. data/config/locales/eu.yml +1 -0
  23. data/config/locales/fi-plain.yml +7 -0
  24. data/config/locales/fi.yml +7 -0
  25. data/config/locales/fr-CA.yml +7 -0
  26. data/config/locales/fr.yml +7 -0
  27. data/config/locales/ga-IE.yml +1 -0
  28. data/config/locales/gl.yml +1 -0
  29. data/config/locales/hu.yml +73 -0
  30. data/config/locales/it.yml +1 -0
  31. data/config/locales/ja.yml +7 -0
  32. data/config/locales/lt.yml +73 -0
  33. data/config/locales/nl.yml +1 -0
  34. data/config/locales/no.yml +1 -0
  35. data/config/locales/pl.yml +1 -0
  36. data/config/locales/pt-BR.yml +1 -0
  37. data/config/locales/pt.yml +1 -0
  38. data/config/locales/ro-RO.yml +1 -0
  39. data/config/locales/sv.yml +5 -0
  40. data/config/locales/tr-TR.yml +1 -0
  41. data/config/locales/zh-CN.yml +1 -0
  42. data/db/seeds.rb +1 -1
  43. data/lib/decidim/templates/test/shared_examples/uses_questionnaire_templates.rb +9 -8
  44. data/lib/decidim/templates/version.rb +1 -1
  45. metadata +16 -15
  46. 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: 66cab5d91cbe751cfd6224c0c70cec92c0e4e23a881b21e690c024756d38be50
4
- data.tar.gz: 9f9c3eea9bb5ed2ccc9c20f3f7aff351559e57fd842d1e2d6f364c9bd2b9d7bc
3
+ metadata.gz: e95bae92cbcb5a9ea9c38b3cbcc3d5fc6e02657193a5a93f5f9f5bcd1eb3f580
4
+ data.tar.gz: 18b92b7051161f75f7295e45b8ebb39d62873554378d9c74be93479d655ef790
5
5
  SHA512:
6
- metadata.gz: f8e4d2e3dce2d8f1f2e7b1f85df2dad8630440ec79b5268ba9f8bb5f49769a272d253cf6dad60c00f64719a8dcb51c817810f33b6dc742ea3c0301162c8bfdb8
7
- data.tar.gz: e982bc8d5322e8274aec1d19cf29f82909a7b4edbbc2c99fa1b8d64aee7bae3160ad9712bcf1045c3abaf168861b41f5b01590ed4cec6a01dd3522796513a441
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 < Rectify::Command
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 < Rectify::Command
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
- Template.transaction do
27
- copy_template
28
- copy_questionnaire_questions(@template.templatable, @copied_template.templatable)
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 < Rectify::Command
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 < Rectify::Command
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).load
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
 
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Templates
5
5
  module Admin
6
6
  # Updates the questionnaire template given form data.
7
- class UpdateTemplate < Rectify::Command
7
+ class UpdateTemplate < Decidim::Command
8
8
  # Initializes the command.
9
9
  #
10
10
  # template - The Template to update.
@@ -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
@@ -1,3 +1,4 @@
1
+ import "src/decidim/templates/admin/choose_template"
1
2
  import "entrypoints/decidim_templates.scss";
2
3
 
3
4
  // Images
@@ -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
- <div class="row column">
16
- <%= select_template form, templates %>
17
- </div>
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" %>
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
4
  attributes:
@@ -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
@@ -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
@@ -1,4 +1,12 @@
1
+ ---
1
2
  de:
3
+ activemodel:
4
+ attributes:
5
+ questionnaire:
6
+ title: Titel
7
+ template:
8
+ description: Beschreibung
9
+ name: Name
2
10
  decidim:
3
11
  admin:
4
12
  menu:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,3 +1,4 @@
1
+ ---
1
2
  eu:
2
3
  activemodel:
3
4
  attributes:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ga:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  gl:
2
3
  activemodel:
3
4
  attributes:
@@ -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
@@ -1,3 +1,4 @@
1
+ ---
1
2
  it:
2
3
  activemodel:
3
4
  attributes:
@@ -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: アンケート
@@ -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
@@ -1,3 +1,4 @@
1
+ ---
1
2
  nl:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  "no":
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pl:
2
3
  decidim:
3
4
  admin:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pt-BR:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pt:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ro:
2
3
  activemodel:
3
4
  attributes:
@@ -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
@@ -1,3 +1,4 @@
1
+ ---
1
2
  tr:
2
3
  decidim:
3
4
  admin:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  zh-CN:
2
3
  decidim:
3
4
  admin:
data/db/seeds.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- if !Rails.env.production? || ENV["SEED"]
3
+ if !Rails.env.production? || ENV.fetch("SEED", nil)
4
4
  print "Creating seeds for decidim-templates...\n" unless Rails.env.test?
5
5
 
6
6
  require "decidim/faker/localized"
@@ -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: Time.zone.now - 1.day,
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: Time.zone.now - 1.day,
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 last 5 templates in the select" do
57
- page.find(".Select-control").click
56
+ it "loads the templates in the select" do
57
+ page.find("input[name='select-template']").click
58
58
 
59
- within ".Select-menu" do
60
- expect(page).to have_selector(".Select-option:not(.is-focused)", count: 5)
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
- autocomplete_select template.name["en"], from: :questionnaire_template_id
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
- autocomplete_select template.name["en"], from: :questionnaire_template_id
92
+ select(template.name["en"], from: "select-template")
92
93
 
93
94
  within ".create-from-template" do
94
95
  find("*[type=submit]").click
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-templates version.
5
5
  module Templates
6
6
  def self.version
7
- "0.26.2"
7
+ "0.27.0.rc2"
8
8
  end
9
9
  end
10
10
  end
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.26.2
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-06-14 00:00:00.000000000 Z
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.26.2
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.2
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.26.2
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.26.2
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.26.2
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.26.2
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.26.2
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.26.2
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: '2.7'
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: '0'
197
+ version: 1.3.1
197
198
  requirements: []
198
- rubygems_version: 3.1.6
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