decidim-initiatives 0.29.2 → 0.30.0.rc1

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