decidim-initiatives 0.29.2 → 0.30.0.rc2

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/initiatives/content_blocks/highlighted_initiatives_settings_form/show.erb +1 -1
  3. data/app/commands/decidim/initiatives/create_initiative.rb +16 -4
  4. data/app/commands/decidim/initiatives/update_initiative.rb +23 -9
  5. data/app/controllers/concerns/decidim/initiatives/needs_initiative.rb +1 -1
  6. data/app/controllers/decidim/initiatives/admin/application_controller.rb +2 -0
  7. data/app/controllers/decidim/initiatives/admin/component_share_tokens_controller.rb +18 -0
  8. data/app/controllers/decidim/initiatives/admin/initiative_share_tokens_controller.rb +18 -0
  9. data/app/controllers/decidim/initiatives/admin/initiatives_controller.rb +8 -8
  10. data/app/controllers/decidim/initiatives/create_initiative_controller.rb +3 -2
  11. data/app/controllers/decidim/initiatives/initiative_types_controller.rb +1 -1
  12. data/app/controllers/decidim/initiatives/initiatives_controller.rb +3 -0
  13. data/app/forms/decidim/initiatives/admin/initiative_answer_form.rb +1 -1
  14. data/app/forms/decidim/initiatives/vote_form.rb +1 -1
  15. data/app/helpers/decidim/initiatives/initiative_helper.rb +1 -39
  16. data/app/helpers/decidim/initiatives/initiatives_helper.rb +8 -5
  17. data/app/helpers/decidim/initiatives/scopes_helper.rb +43 -0
  18. data/app/jobs/decidim/initiatives/export_initiatives_job.rb +5 -1
  19. data/app/models/decidim/initiative.rb +40 -27
  20. data/app/models/decidim/initiatives_type_scope.rb +9 -0
  21. data/app/permissions/decidim/initiatives/admin/permissions.rb +7 -0
  22. data/app/permissions/decidim/initiatives/permissions.rb +10 -3
  23. data/app/queries/decidim/initiatives/outdated_validating_initiatives.rb +1 -1
  24. data/app/queries/decidim/initiatives/support_period_finished_initiatives.rb +2 -2
  25. data/app/serializers/decidim/initiatives/download_your_data_initiative_serializer.rb +15 -0
  26. data/app/serializers/decidim/initiatives/initiative_serializer.rb +5 -24
  27. data/app/serializers/decidim/initiatives/open_data_initiative_serializer.rb +54 -0
  28. data/app/services/decidim/initiatives/data_encryptor.rb +1 -1
  29. data/app/services/decidim/initiatives/pdf_signature_example.rb +0 -2
  30. data/app/views/decidim/initiatives/admin/initiatives/edit.html.erb +1 -2
  31. data/app/views/decidim/initiatives/admin/initiatives/index.html.erb +7 -0
  32. data/app/views/decidim/initiatives/committee_requests/new.html.erb +1 -2
  33. data/app/views/decidim/initiatives/create_initiative/fill_data.html.erb +3 -3
  34. data/app/views/decidim/initiatives/create_initiative/select_initiative_type.html.erb +10 -2
  35. data/app/views/decidim/initiatives/initiatives/_form.html.erb +3 -3
  36. data/app/views/decidim/initiatives/initiatives/_new_initiative_button.html.erb +16 -13
  37. data/app/views/decidim/initiatives/initiatives/_vote_button.html.erb +9 -3
  38. data/app/views/decidim/initiatives/initiatives/_vote_cabin.html.erb +0 -1
  39. data/app/views/decidim/initiatives/initiatives/show.html.erb +7 -8
  40. data/app/views/layouts/decidim/admin/_manage_initiatives.html.erb +11 -0
  41. data/app/views/layouts/decidim/admin/initiatives.html.erb +1 -9
  42. data/config/assets.rb +1 -3
  43. data/config/locales/ar.yml +7 -8
  44. data/config/locales/bg.yml +2 -22
  45. data/config/locales/ca.yml +55 -21
  46. data/config/locales/cs.yml +55 -21
  47. data/config/locales/de.yml +55 -21
  48. data/config/locales/el.yml +2 -9
  49. data/config/locales/en.yml +53 -19
  50. data/config/locales/es-MX.yml +55 -21
  51. data/config/locales/es-PY.yml +55 -21
  52. data/config/locales/es.yml +55 -21
  53. data/config/locales/eu.yml +55 -21
  54. data/config/locales/fi-plain.yml +55 -21
  55. data/config/locales/fi.yml +55 -21
  56. data/config/locales/fr-CA.yml +9 -22
  57. data/config/locales/fr.yml +9 -22
  58. data/config/locales/ga-IE.yml +0 -3
  59. data/config/locales/gl.yml +2 -10
  60. data/config/locales/hu.yml +2 -20
  61. data/config/locales/id-ID.yml +2 -8
  62. data/config/locales/is-IS.yml +0 -9
  63. data/config/locales/it.yml +2 -11
  64. data/config/locales/ja.yml +55 -21
  65. data/config/locales/lb.yml +2 -7
  66. data/config/locales/lt.yml +2 -22
  67. data/config/locales/lv.yml +2 -9
  68. data/config/locales/nl.yml +2 -11
  69. data/config/locales/no.yml +2 -13
  70. data/config/locales/pl.yml +2 -21
  71. data/config/locales/pt-BR.yml +2 -27
  72. data/config/locales/pt.yml +2 -11
  73. data/config/locales/ro-RO.yml +2 -19
  74. data/config/locales/ru.yml +0 -9
  75. data/config/locales/sk.yml +2 -8
  76. data/config/locales/sl.yml +0 -1
  77. data/config/locales/sv.yml +13 -21
  78. data/config/locales/tr-TR.yml +2 -11
  79. data/config/locales/uk.yml +0 -9
  80. data/config/locales/zh-CN.yml +2 -10
  81. data/config/locales/zh-TW.yml +2 -21
  82. data/db/migrate/20241127104718_add_taxonomy_to_initiatives_type_scope.rb +7 -0
  83. data/decidim-initiatives.gemspec +1 -3
  84. data/lib/decidim/api/initiative_api_type.rb +9 -10
  85. data/lib/decidim/api/initiative_committee_member_type.rb +3 -4
  86. data/lib/decidim/api/initiative_type.rb +15 -21
  87. data/lib/decidim/api/initiative_type_interface.rb +1 -5
  88. data/lib/decidim/exporters/initiative_votes_pdf.rb +163 -0
  89. data/lib/decidim/initiatives/admin_engine.rb +68 -49
  90. data/lib/decidim/initiatives/application_form_pdf.rb +181 -0
  91. data/lib/decidim/initiatives/engine.rb +6 -0
  92. data/lib/decidim/initiatives/menu.rb +8 -0
  93. data/lib/decidim/initiatives/participatory_space.rb +8 -1
  94. data/lib/decidim/initiatives/test/factories.rb +5 -8
  95. data/lib/decidim/initiatives/version.rb +1 -1
  96. data/lib/decidim/initiatives.rb +7 -1
  97. metadata +25 -59
  98. data/app/cells/decidim/initiatives_votes/vote/show.erb +0 -39
  99. data/app/cells/decidim/initiatives_votes/vote_cell.rb +0 -58
  100. data/app/packs/entrypoints/decidim_initiatives_initiatives_votes.js +0 -1
  101. data/app/packs/entrypoints/decidim_initiatives_initiatives_votes.scss +0 -1
  102. data/app/packs/entrypoints/decidim_initiatives_print.js +0 -1
  103. data/app/packs/entrypoints/decidim_initiatives_print.scss +0 -1
  104. data/app/packs/stylesheets/decidim/initiatives/initiatives-votes.scss +0 -96
  105. data/app/packs/stylesheets/decidim/initiatives/print-initiative.scss +0 -172
  106. data/app/views/decidim/initiatives/admin/initiatives/_signatures.html.erb +0 -87
  107. data/app/views/decidim/initiatives/admin/initiatives/export_pdf_signatures.html.erb +0 -8
  108. data/app/views/decidim/initiatives/admin/initiatives/export_pdf_signatures.pdf.erb +0 -5
  109. data/app/views/decidim/initiatives/initiatives/_linked_initiatives.html.erb +0 -0
  110. data/app/views/decidim/initiatives/initiatives/print.html.erb +0 -161
  111. data/app/views/layouts/decidim/admin/initiatives_votes.pdf.erb +0 -11
  112. data/config/initializers/wicked_pdf.rb +0 -22
@@ -1,87 +0,0 @@
1
- <% cell_small_width = collect_user_extra_fields ? "9.4%" : "15.6%" %>
2
- <% style_initiative_title = "border: 1pt solid black; margin: 15pt 0; font-size: 12pt; font-weight: bold; text-transform: uppercase; text-align: center;" %>
3
- <% style_initiatives_votes_table = "width: 100%; display: block; border: 1pt solid black;" %>
4
- <% style_initiatives_votes_table_header = "background-color: lightgray; display: inline-block; width: 100%; font-size: 12pt; font-weight: bold; border-bottom: 1pt solid black;" %>
5
- <% style_initiatives_votes_table_row = "width: 100%; display: inline-block; min-height: 33pt;" %>
6
- <% style_initiatives_votes_table_cell = "width: 19%; padding-left: 5pt; word-wrap: break-word; display: inline-block; float: left; min-height: 36pt;" %>
7
- <% style_initiatives_votes_table_cell_small = "width: #{cell_small_width}; padding-left: 5pt; word-wrap: break-word; display: inline-block; float: left; min-height: 36pt;" %>
8
- <div class="initiative-title" style="<%= style_initiative_title %>">
9
- <%= translated_attribute(initiative.title) %>
10
- </div>
11
- <div class="initiatives-votes-table" style="<%= style_initiatives_votes_table %>">
12
- <div class="initiatives-votes-table-header" style="<%= style_initiatives_votes_table_header %>">
13
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
14
- <%= t("models.initiatives_votes.fields.initiative_id", scope: "decidim.admin") %>
15
- </div>
16
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
17
- <%= t("models.initiatives_votes.fields.initiative_title", scope: "decidim.admin") %>
18
- </div>
19
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
20
- <%= t("models.initiatives_votes.fields.initiative_start_date", scope: "decidim.admin") %>
21
- </div>
22
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
23
- <%= t("models.initiatives_votes.fields.initiative_end_date", scope: "decidim.admin") %>
24
- </div>
25
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
26
- <%= t("models.initiatives_votes.fields.initiative_signatures_count", scope: "decidim.admin") %>
27
- </div>
28
- </div>
29
- <div class="initiatives-votes-table-row" style="<%= style_initiatives_votes_table_row %>">
30
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
31
- <%= initiative.reference %>
32
- </div>
33
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
34
- <%= translated_attribute(initiative.title) %>
35
- </div>
36
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
37
- <%= initiative.signature_start_date %>
38
- </div>
39
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
40
- <%= initiative.signature_end_date %>
41
- </div>
42
- <div class="initiatives-votes-table-cell w20" style="<%= style_initiatives_votes_table_cell %>">
43
- <%= votes.count %>
44
- </div>
45
- </div>
46
- </div>
47
- <br>
48
- <br>
49
- <div class="initiatives-votes-table" style="<%= style_initiatives_votes_table %>">
50
- <div class="initiatives-votes-table-header" style="<%= style_initiatives_votes_table_header %>">
51
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
52
- <%= t("models.initiatives_votes.fields.initiative_id", scope: "decidim.admin") %>
53
- </div>
54
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
55
- <%= t("models.initiatives_votes.fields.initiative_title", scope: "decidim.admin") %>
56
- </div>
57
- <% if collect_user_extra_fields %>
58
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
59
- <%= t("models.initiatives_votes.fields.name_and_surname", scope: "decidim.admin") %>
60
- </div>
61
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
62
- <%= t("models.initiatives_votes.fields.document_number", scope: "decidim.admin") %>
63
- </div>
64
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
65
- <%= t("models.initiatives_votes.fields.date_of_birth", scope: "decidim.admin") %>
66
- </div>
67
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
68
- <%= t("models.initiatives_votes.fields.postal_code", scope: "decidim.admin") %>
69
- </div>
70
- <% end %>
71
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
72
- <%= t("models.initiatives_votes.fields.time_and_date", scope: "decidim.admin") %>
73
- </div>
74
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
75
- <%= t("models.initiatives_votes.fields.timestamp", scope: "decidim.admin") %>
76
- </div>
77
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
78
- <%= t("models.initiatives_votes.fields.hash", scope: "decidim.admin") %>
79
- </div>
80
- <div class="initiatives-votes-table-cell w11" style="<%= style_initiatives_votes_table_cell_small %>">
81
- <%= t("models.initiatives_votes.fields.scope", scope: "decidim.admin") %>
82
- </div>
83
- </div>
84
- <% votes.each do |vote| %>
85
- <%= cell "decidim/initiatives_votes/vote", vote %>
86
- <% end %>
87
- </div>
@@ -1,8 +0,0 @@
1
- <%# This page is for PDF signatures, but we have the HTML version so it is possible to
2
- test without adding new dependencies just for this.
3
- If there is a new API or method to test the PDF format then this HTML version can be deleted. %>
4
- <%= render partial: "signatures", locals: {
5
- collect_user_extra_fields: current_initiative.type.collect_user_extra_fields,
6
- votes: @votes,
7
- initiative: current_initiative
8
- } %>
@@ -1,5 +0,0 @@
1
- <%= render partial: "signatures", formats: [:html], locals: {
2
- collect_user_extra_fields: current_initiative.type.collect_user_extra_fields,
3
- votes: @votes,
4
- initiative: current_initiative
5
- } %>
@@ -1,161 +0,0 @@
1
- <%= render layout: "layouts/decidim/shared/layout_center", locals: { columns: 10 } do %>
2
- <div class="pt-10">
3
- <div class="initiative-letterhead">
4
- <% if current_organization.logo.present? %>
5
- <%= image_tag current_organization.attached_uploader(:logo).variant_url(:medium), title: current_organization_name %>
6
- <% end %>
7
-
8
- <%= current_organization_name %>
9
- </div>
10
- <h3 class="print-section-title"><%= t "section", scope: "decidim.initiatives.initiatives.print" %></h3>
11
- <div class="initiative-print-title">
12
- <%= t "general_title", scope: "decidim.initiatives.initiatives.print" %>
13
- </div>
14
-
15
- <div class="print-table">
16
- <div class="print-table-header">
17
- <%= t "author_title", scope: "decidim.initiatives.initiatives.print" %>
18
- </div>
19
-
20
- <div class="print-table-row">
21
- <div class="print-table-cell">
22
- <div class="cell-header"><%= t "id_number", scope: "decidim.initiatives.initiatives.print" %></div>
23
- <div class="cell-content"></div>
24
- </div>
25
- </div>
26
-
27
- <div class="print-table-row">
28
- <div class="print-table-cell">
29
- <div class="cell-header"><%= t "full_name", scope: "decidim.initiatives.initiatives.print" %></div>
30
- <div class="cell-content"></div>
31
- </div>
32
- </div>
33
-
34
- <div class="print-table-row">
35
- <div class="print-table-cell">
36
- <div class="cell-header"><%= t "address", scope: "decidim.initiatives.initiatives.print" %></div>
37
- <div class="cell-content"></div>
38
- </div>
39
- </div>
40
-
41
- <div class="print-table-row">
42
- <div class="print-table-cell w33">
43
- <div class="cell-header"><%= t "city", scope: "decidim.initiatives.initiatives.print" %></div>
44
- <div class="cell-content"></div>
45
- </div>
46
- <div class="print-table-cell w33">
47
- <div class="cell-header"><%= t "province", scope: "decidim.initiatives.initiatives.print" %></div>
48
- <div class="cell-content"></div>
49
- </div>
50
- <div class="print-table-cell w33">
51
- <div class="cell-header"><%= t "postal_code", scope: "decidim.initiatives.initiatives.print" %></div>
52
- <div class="cell-content"></div>
53
- </div>
54
- </div>
55
-
56
- <div class="print-table-row">
57
- <div class="print-table-cell w33">
58
- <div class="cell-header"><%= t "phone_number", scope: "decidim.initiatives.initiatives.print" %></div>
59
- <div class="cell-content"></div>
60
- </div>
61
-
62
- <div class="print-table-cell">
63
- <div class="cell-header"><%= t "email", scope: "decidim.initiatives.initiatives.print" %></div>
64
- <div class="cell-content"></div>
65
- </div>
66
- </div>
67
- </div>
68
- <br><br>
69
- <div class="print-table">
70
- <div class="print-table-header">
71
- <%= t "members_header", scope: "decidim.initiatives.initiatives.print" %>
72
- </div>
73
-
74
- <div class="print-table-row">
75
- <div class="print-table-cell w33"><%= t "full_name", scope: "decidim.initiatives.initiatives.print" %></div>
76
- <div class="print-table-cell w33"><%= t "id_number", scope: "decidim.initiatives.initiatives.print" %></div>
77
- <div class="print-table-cell w33"><%= t "address", scope: "decidim.initiatives.initiatives.print" %></div>
78
- </div>
79
-
80
- <% 4.times do %>
81
- <div class="print-table-row">
82
- <div class="print-table-cell w33"></div>
83
- <div class="print-table-cell w33"></div>
84
- <div class="print-table-cell w33"></div>
85
- </div>
86
- <% end %>
87
- </div>
88
-
89
- <h2 class="print-section-title"><%= t "initiative.type", scope: "decidim.initiatives.initiatives.print" %></h2>
90
- <%= translated_attribute(current_initiative.type.title) %>
91
-
92
- <h2 class="print-section-title"><%= t "initiative.title", scope: "decidim.initiatives.initiatives.print" %></h2>
93
- <%= translated_attribute(current_initiative.title) %>
94
-
95
- <h2 class="print-section-title"><%= t "initiative.description", scope: "decidim.initiatives.initiatives.print" %></h2>
96
- <%= decidim_sanitize_editor translated_attribute(current_initiative.description) %>
97
-
98
- <div class="print-table">
99
- <div class="print-table-header">
100
- <%= t "initiative.attachments", scope: "decidim.initiatives.initiatives.print" %>
101
- </div>
102
-
103
- <div class="print-table-row">
104
- <div class="print-table-cell checkbox-cell"></div>
105
- <div class="print-table-cell">
106
- <div class="cell-content"></div>
107
- </div>
108
- </div>
109
-
110
- <div class="print-table-row">
111
- <div class="print-table-cell checkbox-cell"></div>
112
- <div class="print-table-cell">
113
- <div class="cell-content"><div class="cell-content"></div></div>
114
- </div>
115
- </div>
116
-
117
- <div class="print-table-row">
118
- <div class="print-table-cell checkbox-cell"></div>
119
- <div class="print-table-cell">
120
- <div class="cell-content"></div>
121
- </div>
122
- </div>
123
-
124
- <div class="print-table-row">
125
- <div class="print-table-cell checkbox-cell"></div>
126
- <div class="print-table-cell">
127
- <div class="cell-content"></div>
128
- </div>
129
- </div>
130
-
131
- <div class="print-table-row">
132
- <div class="print-table-cell checkbox-cell"></div>
133
- <div class="print-table-cell">
134
- <div class="cell-content"></div>
135
- </div>
136
- </div>
137
-
138
- <div class="print-table-row">
139
- <div class="print-table-cell checkbox-cell"></div>
140
- <div class="print-table-cell">
141
- <div class="cell-content"></div>
142
- </div>
143
- </div>
144
- </div>
145
- <br>
146
- <div class="print-table no-border">
147
- <div class="print-table-row no-border">
148
- <div class="print-table-cell w50 no-border" style="font-weight: bold"><%= t "place_date", scope: "decidim.initiatives.initiatives.print" %></div>
149
- <div class="print-table-cell w50 no-border" style="font-weight: bold"><%= t "signature", scope: "decidim.initiatives.initiatives.print" %></div>
150
- </div>
151
- </div>
152
-
153
- <p class="print-initiative-legal-text">
154
- <%= t "legal_text", scope: "decidim.initiatives.initiatives.print" %>
155
- </p>
156
-
157
- <a href="#" onclick="window.print();return false;" class="button button__lg button__secondary mt-4 print-button"><%= t "print", scope: "decidim.initiatives.initiatives.print" %></a>
158
- <%= append_stylesheet_pack_tag "decidim_initiatives_print" %>
159
-
160
- </div>
161
- <% end %>
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="<%= I18n.locale %>" class="no-js">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
- <meta name="viewport" content="width=device-width">
6
- <%= wicked_pdf_stylesheet_pack_tag "decidim_initiatives_initiatives_votes" %>
7
- </head>
8
- <body>
9
- <%= yield %>
10
- </body>
11
- </html>
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # WickedPDF Global Configuration
4
- #
5
- # Use this to set up shared configuration options for your entire application.
6
- # Any of the configuration options shown here can also be applied to single
7
- # models by passing arguments to the `render :pdf` call.
8
- #
9
- # To learn more, check out the README:
10
- #
11
- # https://github.com/mileszs/wicked_pdf/blob/master/README.md
12
-
13
- WickedPdf.configure do |config|
14
- # Path to the wkhtmltopdf executable: This usually is not needed if using
15
- # one of the wkhtmltopdf-binary family of gems.
16
- # or
17
- # config.exe_path = '/usr/local/bin/wkhtmltopdf',
18
-
19
- # Layout file to be used for all PDFs
20
- # (but can be overridden in `render :pdf` calls)
21
- # config.layout = 'pdf.html'
22
- end