decidim-forms 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
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: []