decidim-forms 0.16.0

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 (75) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +65 -0
  3. data/Rakefile +3 -0
  4. data/app/assets/config/admin/decidim_forms_manifest.js +1 -0
  5. data/app/assets/config/decidim_forms_manifest.js +1 -0
  6. data/app/assets/images/decidim/surveys/icon.svg +19 -0
  7. data/app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6 +25 -0
  8. data/app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6 +23 -0
  9. data/app/assets/javascripts/decidim/forms/admin/forms.js.es6 +188 -0
  10. data/app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6 +65 -0
  11. data/app/assets/javascripts/decidim/forms/forms.js.es6 +20 -0
  12. data/app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6 +32 -0
  13. data/app/commands/decidim/forms/admin/update_questionnaire.rb +86 -0
  14. data/app/commands/decidim/forms/answer_questionnaire.rb +54 -0
  15. data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +95 -0
  16. data/app/controllers/decidim/forms/concerns/has_questionnaire.rb +84 -0
  17. data/app/forms/decidim/forms/admin/answer_option_form.rb +23 -0
  18. data/app/forms/decidim/forms/admin/question_form.rb +35 -0
  19. data/app/forms/decidim/forms/admin/questionnaire_form.rb +27 -0
  20. data/app/forms/decidim/forms/answer_choice_form.rb +15 -0
  21. data/app/forms/decidim/forms/answer_form.rb +69 -0
  22. data/app/forms/decidim/forms/questionnaire_form.rb +22 -0
  23. data/app/helpers/decidim/forms/admin/application_helper.rb +19 -0
  24. data/app/models/concerns/decidim/forms/has_questionnaire.rb +20 -0
  25. data/app/models/decidim/forms/answer.rb +45 -0
  26. data/app/models/decidim/forms/answer_choice.rb +15 -0
  27. data/app/models/decidim/forms/answer_option.rb +11 -0
  28. data/app/models/decidim/forms/application_record.rb +10 -0
  29. data/app/models/decidim/forms/question.rb +36 -0
  30. data/app/models/decidim/forms/questionnaire.rb +23 -0
  31. data/app/queries/decidim/forms/questionnaire_user_answers.rb +28 -0
  32. data/app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb +44 -0
  33. data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +51 -0
  34. data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +115 -0
  35. data/app/views/decidim/forms/admin/questionnaires/edit.html.erb +7 -0
  36. data/app/views/decidim/forms/questionnaires/_answer.html.erb +94 -0
  37. data/app/views/decidim/forms/questionnaires/show.html.erb +84 -0
  38. data/config/locales/ca.yml +79 -0
  39. data/config/locales/de.yml +79 -0
  40. data/config/locales/en.yml +79 -0
  41. data/config/locales/es-PY.yml +79 -0
  42. data/config/locales/es.yml +79 -0
  43. data/config/locales/eu.yml +79 -0
  44. data/config/locales/fi-pl.yml +79 -0
  45. data/config/locales/fi.yml +79 -0
  46. data/config/locales/fr.yml +79 -0
  47. data/config/locales/gl.yml +79 -0
  48. data/config/locales/hu.yml +79 -0
  49. data/config/locales/id-ID.yml +1 -0
  50. data/config/locales/it.yml +79 -0
  51. data/config/locales/nl.yml +79 -0
  52. data/config/locales/pl.yml +79 -0
  53. data/config/locales/pt-BR.yml +79 -0
  54. data/config/locales/pt.yml +79 -0
  55. data/config/locales/ru.yml +1 -0
  56. data/config/locales/sv.yml +79 -0
  57. data/config/locales/tr-TR.yml +1 -0
  58. data/config/locales/uk.yml +1 -0
  59. data/db/migrate/20170511092231_create_decidim_forms_questionnaires.rb +15 -0
  60. data/db/migrate/20170515090916_create_decidim_forms_questions.rb +17 -0
  61. data/db/migrate/20170515144119_create_decidim_forms_answers.rb +15 -0
  62. data/db/migrate/20180405015012_create_decidim_forms_answer_options.rb +11 -0
  63. data/db/migrate/20180405015147_create_decidim_forms_answer_choices.rb +13 -0
  64. data/lib/decidim/forms.rb +13 -0
  65. data/lib/decidim/forms/admin.rb +9 -0
  66. data/lib/decidim/forms/admin_engine.rb +21 -0
  67. data/lib/decidim/forms/data_portability_user_answers_serializer.rb +37 -0
  68. data/lib/decidim/forms/engine.rb +14 -0
  69. data/lib/decidim/forms/test.rb +4 -0
  70. data/lib/decidim/forms/test/factories.rb +55 -0
  71. data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +524 -0
  72. data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +626 -0
  73. data/lib/decidim/forms/user_answers_serializer.rb +29 -0
  74. data/lib/decidim/forms/version.rb +10 -0
  75. metadata +165 -0
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Forms
5
+ # This class serializes the answers given by a User for questionnaire so can be
6
+ # exported to CSV, JSON or other formats.
7
+ class UserAnswersSerializer < Decidim::Exporters::Serializer
8
+ include Decidim::TranslationsHelper
9
+
10
+ # Public: Initializes the serializer with a collection of Answers.
11
+ def initialize(answers)
12
+ @answers = answers
13
+ end
14
+
15
+ # Public: Exports a hash with the serialized data for the user answers.
16
+ def serialize
17
+ @answers.each_with_index.inject({}) do |serialized, (answer, idx)|
18
+ serialized.update("#{idx + 1}. #{translated_attribute(answer.question.body)}" => normalize_body(answer))
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def normalize_body(answer)
25
+ answer.body || answer.choices.pluck(:body)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # This holds the decidim-forms version.
5
+ module Forms
6
+ def self.version
7
+ "0.16.0"
8
+ end
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,165 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: decidim-forms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.16.0
5
+ platform: ruby
6
+ authors:
7
+ - Josep Jaume Rey Peroy
8
+ - Marc Riera Casals
9
+ - Oriol Gual Oliva
10
+ - Rubén González Valero
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2019-01-09 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: decidim-core
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - '='
21
+ - !ruby/object:Gem::Version
22
+ version: 0.16.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.16.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: decidim-admin
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - '='
35
+ - !ruby/object:Gem::Version
36
+ version: 0.16.0
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '='
42
+ - !ruby/object:Gem::Version
43
+ version: 0.16.0
44
+ - !ruby/object:Gem::Dependency
45
+ name: decidim-dev
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - '='
49
+ - !ruby/object:Gem::Version
50
+ version: 0.16.0
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - '='
56
+ - !ruby/object:Gem::Version
57
+ version: 0.16.0
58
+ description: A forms gem for decidim.
59
+ email:
60
+ - josepjaume@gmail.com
61
+ - mrc2407@gmail.com
62
+ - oriolgual@gmail.com
63
+ - rbngzlv@gmail.com
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - README.md
69
+ - Rakefile
70
+ - app/assets/config/admin/decidim_forms_manifest.js
71
+ - app/assets/config/decidim_forms_manifest.js
72
+ - app/assets/images/decidim/surveys/icon.svg
73
+ - app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6
74
+ - app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6
75
+ - app/assets/javascripts/decidim/forms/admin/forms.js.es6
76
+ - app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6
77
+ - app/assets/javascripts/decidim/forms/forms.js.es6
78
+ - app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
79
+ - app/commands/decidim/forms/admin/update_questionnaire.rb
80
+ - app/commands/decidim/forms/answer_questionnaire.rb
81
+ - app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb
82
+ - app/controllers/decidim/forms/concerns/has_questionnaire.rb
83
+ - app/forms/decidim/forms/admin/answer_option_form.rb
84
+ - app/forms/decidim/forms/admin/question_form.rb
85
+ - app/forms/decidim/forms/admin/questionnaire_form.rb
86
+ - app/forms/decidim/forms/answer_choice_form.rb
87
+ - app/forms/decidim/forms/answer_form.rb
88
+ - app/forms/decidim/forms/questionnaire_form.rb
89
+ - app/helpers/decidim/forms/admin/application_helper.rb
90
+ - app/models/concerns/decidim/forms/has_questionnaire.rb
91
+ - app/models/decidim/forms/answer.rb
92
+ - app/models/decidim/forms/answer_choice.rb
93
+ - app/models/decidim/forms/answer_option.rb
94
+ - app/models/decidim/forms/application_record.rb
95
+ - app/models/decidim/forms/question.rb
96
+ - app/models/decidim/forms/questionnaire.rb
97
+ - app/queries/decidim/forms/questionnaire_user_answers.rb
98
+ - app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb
99
+ - app/views/decidim/forms/admin/questionnaires/_form.html.erb
100
+ - app/views/decidim/forms/admin/questionnaires/_question.html.erb
101
+ - app/views/decidim/forms/admin/questionnaires/edit.html.erb
102
+ - app/views/decidim/forms/questionnaires/_answer.html.erb
103
+ - app/views/decidim/forms/questionnaires/show.html.erb
104
+ - config/locales/ca.yml
105
+ - config/locales/de.yml
106
+ - config/locales/en.yml
107
+ - config/locales/es-PY.yml
108
+ - config/locales/es.yml
109
+ - config/locales/eu.yml
110
+ - config/locales/fi-pl.yml
111
+ - config/locales/fi.yml
112
+ - config/locales/fr.yml
113
+ - config/locales/gl.yml
114
+ - config/locales/hu.yml
115
+ - config/locales/id-ID.yml
116
+ - config/locales/it.yml
117
+ - config/locales/nl.yml
118
+ - config/locales/pl.yml
119
+ - config/locales/pt-BR.yml
120
+ - config/locales/pt.yml
121
+ - config/locales/ru.yml
122
+ - config/locales/sv.yml
123
+ - config/locales/tr-TR.yml
124
+ - config/locales/uk.yml
125
+ - db/migrate/20170511092231_create_decidim_forms_questionnaires.rb
126
+ - db/migrate/20170515090916_create_decidim_forms_questions.rb
127
+ - db/migrate/20170515144119_create_decidim_forms_answers.rb
128
+ - db/migrate/20180405015012_create_decidim_forms_answer_options.rb
129
+ - db/migrate/20180405015147_create_decidim_forms_answer_choices.rb
130
+ - lib/decidim/forms.rb
131
+ - lib/decidim/forms/admin.rb
132
+ - lib/decidim/forms/admin_engine.rb
133
+ - lib/decidim/forms/data_portability_user_answers_serializer.rb
134
+ - lib/decidim/forms/engine.rb
135
+ - lib/decidim/forms/test.rb
136
+ - lib/decidim/forms/test/factories.rb
137
+ - lib/decidim/forms/test/shared_examples/has_questionnaire.rb
138
+ - lib/decidim/forms/test/shared_examples/manage_questionnaires.rb
139
+ - lib/decidim/forms/user_answers_serializer.rb
140
+ - lib/decidim/forms/version.rb
141
+ homepage: https://github.com/decidim/decidim
142
+ licenses:
143
+ - AGPL-3.0
144
+ metadata: {}
145
+ post_install_message:
146
+ rdoc_options: []
147
+ require_paths:
148
+ - lib
149
+ required_ruby_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '2.3'
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ requirements: []
160
+ rubyforge_project:
161
+ rubygems_version: 2.7.6
162
+ signing_key:
163
+ specification_version: 4
164
+ summary: Decidim forms
165
+ test_files: []