decidim-action_delegator 0.8.1 → 0.9.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +104 -58
  3. data/Rakefile +2 -2
  4. data/app/commands/decidim/action_delegator/admin/create_delegation.rb +1 -3
  5. data/app/commands/decidim/action_delegator/admin/create_setting.rb +5 -2
  6. data/app/commands/decidim/action_delegator/admin/update_setting.rb +4 -2
  7. data/app/controllers/concerns/decidim/action_delegator/devise/sessions_controller_override.rb +1 -1
  8. data/app/controllers/concerns/decidim/action_delegator/election_per_question_votes_controller_override.rb +65 -0
  9. data/app/controllers/concerns/decidim/action_delegator/election_votes_controller_override.rb +38 -0
  10. data/app/controllers/concerns/decidim/action_delegator/votes_controller_methods.rb +46 -0
  11. data/app/controllers/decidim/action_delegator/admin/application_controller.rb +11 -5
  12. data/app/controllers/decidim/action_delegator/admin/delegations_controller.rb +3 -11
  13. data/app/controllers/decidim/action_delegator/admin/invite_participants_controller.rb +0 -8
  14. data/app/controllers/decidim/action_delegator/admin/manage_delegations_controller.rb +13 -21
  15. data/app/controllers/decidim/action_delegator/admin/manage_participants_controller.rb +11 -20
  16. data/app/controllers/decidim/action_delegator/admin/participants_controller.rb +1 -9
  17. data/app/controllers/decidim/action_delegator/admin/permissions_controller.rb +1 -24
  18. data/app/controllers/decidim/action_delegator/admin/ponderations_controller.rb +0 -8
  19. data/app/controllers/decidim/action_delegator/admin/settings_controller.rb +12 -12
  20. data/app/controllers/decidim/action_delegator/application_controller.rb +3 -3
  21. data/app/controllers/decidim/action_delegator/elections/admin/results_controller.rb +58 -0
  22. data/app/controllers/decidim/action_delegator/elections/results_controller.rb +36 -0
  23. data/app/controllers/decidim/action_delegator/user_delegations_controller.rb +1 -1
  24. data/app/controllers/decidim/action_delegator/verifications/delegations_verifier/authorizations_controller.rb +14 -18
  25. data/app/forms/decidim/action_delegator/admin/action_delegator_census_form.rb +44 -0
  26. data/app/forms/decidim/action_delegator/admin/csv_import_form.rb +17 -0
  27. data/app/forms/decidim/action_delegator/admin/delegation_form.rb +6 -2
  28. data/app/forms/decidim/action_delegator/admin/ponderation_form.rb +2 -1
  29. data/app/forms/decidim/action_delegator/admin/setting_form.rb +16 -10
  30. data/app/forms/decidim/action_delegator/censuses/internal_users_form.rb +32 -0
  31. data/app/forms/decidim/action_delegator/verifications/delegations_verifier_form.rb +41 -25
  32. data/app/helpers/decidim/action_delegator/admin/{delegation_helper.rb → settings_helper.rb} +3 -16
  33. data/app/helpers/decidim/action_delegator/settings_helper.rb +124 -0
  34. data/app/jobs/decidim/action_delegator/admin/invite_participants_job.rb +1 -1
  35. data/app/jobs/decidim/action_delegator/send_sms_job.rb +2 -2
  36. data/app/jobs/decidim/action_delegator/twilio_send_sms_job.rb +2 -2
  37. data/app/models/decidim/action_delegator/delegation.rb +35 -9
  38. data/app/models/decidim/action_delegator/participant.rb +15 -9
  39. data/app/models/decidim/action_delegator/ponderation.rb +0 -2
  40. data/app/models/decidim/action_delegator/setting.rb +14 -32
  41. data/app/overrides/decidim/elections/admin/dashboard/_results/_add_results_contents.html.erb.deface +10 -0
  42. data/app/overrides/decidim/elections/admin/dashboard/_results/_add_results_tabs.html.erb.deface +3 -0
  43. data/app/overrides/decidim/elections/elections/_election_aside/add_delegation_buttons.html.erb.deface +3 -0
  44. data/app/overrides/decidim/elections/elections/_vote_results/replace_results_div.html.erb.deface +8 -0
  45. data/app/overrides/decidim/elections/per_question_votes/show/add_delegation_hidden_input.html.erb.deface +3 -0
  46. data/app/overrides/decidim/elections/per_question_votes/show/add_delegation_id_to_links.html.erb.deface +3 -0
  47. data/app/overrides/decidim/elections/per_question_votes/waiting/add_delegation_buttons.html.erb.deface +3 -0
  48. data/app/overrides/decidim/elections/votes/receipt/add_delegation_buttons.html.erb.deface +3 -0
  49. data/app/packs/entrypoints/decidim_action_delegator_elections.js +1 -0
  50. data/app/packs/src/decidim/action_delegator/elections_live_results.js +160 -0
  51. data/app/permissions/decidim/action_delegator/admin/permissions.rb +29 -0
  52. data/app/permissions/decidim/action_delegator/permissions.rb +6 -30
  53. data/app/presenters/decidim/action_delegator/setting_presenter.rb +33 -0
  54. data/app/queries/decidim/action_delegator/action_delegator_census_users.rb +51 -0
  55. data/app/queries/decidim/action_delegator/authorized_resources.rb +28 -0
  56. data/app/queries/decidim/action_delegator/election_settings.rb +23 -0
  57. data/app/queries/decidim/action_delegator/{delegated_votes_versions.rb → elections_delegated_votes_versions.rb} +8 -8
  58. data/app/queries/decidim/action_delegator/elections_question_responses_by_type.rb +33 -0
  59. data/app/queries/decidim/action_delegator/elections_question_weighted_responses.rb +28 -0
  60. data/app/queries/decidim/action_delegator/elections_votes_with_ponderations.rb +62 -0
  61. data/app/services/decidim/action_delegator/delegations_csv_importer.rb +3 -3
  62. data/app/services/decidim/action_delegator/participants_csv_importer.rb +1 -1
  63. data/app/services/decidim/action_delegator/sms_gateway.rb +2 -2
  64. data/app/views/decidim/action_delegator/admin/censuses/_action_delegator_census_form.html.erb +44 -0
  65. data/app/views/decidim/action_delegator/admin/censuses/_action_delegator_census_options_form.html.erb +25 -0
  66. data/app/views/decidim/action_delegator/admin/delegations/index.html.erb +12 -13
  67. data/app/views/decidim/action_delegator/admin/delegations/new.html.erb +29 -27
  68. data/app/views/decidim/action_delegator/admin/manage_delegations/new.html.erb +36 -24
  69. data/app/views/decidim/action_delegator/admin/manage_participants/new.html.erb +47 -33
  70. data/app/views/decidim/action_delegator/admin/participants/_form.html.erb +14 -8
  71. data/app/views/decidim/action_delegator/admin/participants/edit.html.erb +11 -13
  72. data/app/views/decidim/action_delegator/admin/participants/index.html.erb +20 -25
  73. data/app/views/decidim/action_delegator/admin/participants/new.html.erb +11 -13
  74. data/app/views/decidim/action_delegator/admin/ponderations/_form.html.erb +13 -7
  75. data/app/views/decidim/action_delegator/admin/ponderations/edit.html.erb +11 -13
  76. data/app/views/decidim/action_delegator/admin/ponderations/index.html.erb +8 -11
  77. data/app/views/decidim/action_delegator/admin/ponderations/new.html.erb +11 -13
  78. data/app/views/decidim/action_delegator/admin/settings/_form.html.erb +26 -12
  79. data/app/views/decidim/action_delegator/admin/settings/_participants_sync_check.html.erb +1 -1
  80. data/app/views/decidim/action_delegator/admin/settings/_setting_checks.html.erb +11 -16
  81. data/app/views/decidim/action_delegator/admin/settings/edit.html.erb +11 -12
  82. data/app/views/decidim/action_delegator/admin/settings/index.html.erb +22 -19
  83. data/app/views/decidim/action_delegator/admin/settings/new.html.erb +11 -12
  84. data/app/views/decidim/action_delegator/admin/shared/_tabs_menu.html.erb +15 -0
  85. data/app/views/decidim/action_delegator/censuses/_internal_users_form.html.erb +61 -0
  86. data/app/views/decidim/action_delegator/elections/_delegation_buttons.html.erb +10 -0
  87. data/app/views/decidim/action_delegator/elections/_normal_election_buttons.html.erb +13 -0
  88. data/app/views/decidim/action_delegator/elections/_per_question_buttons.html.erb +9 -0
  89. data/app/views/decidim/action_delegator/elections/_per_question_waiting_buttons.html.erb +19 -0
  90. data/app/views/decidim/action_delegator/elections/_vote_results.html.erb +10 -0
  91. data/app/views/decidim/action_delegator/elections/_vote_results_question.html.erb +13 -0
  92. data/app/views/decidim/action_delegator/elections/admin/dashboard/_by_type_and_weight.html.erb +45 -0
  93. data/app/views/decidim/action_delegator/elections/admin/dashboard/_results_tabs.html.erb +5 -0
  94. data/app/views/decidim/action_delegator/elections/admin/dashboard/_results_type_info.html.erb +4 -0
  95. data/app/views/decidim/action_delegator/elections/admin/dashboard/_sum_of_weights.html.erb +43 -0
  96. data/app/views/decidim/action_delegator/elections/admin/dashboard/_totals.html.erb +27 -0
  97. data/app/views/decidim/action_delegator/user_delegations/index.html.erb +13 -14
  98. data/app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/edit.html.erb +19 -29
  99. data/app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/new.html.erb +42 -40
  100. data/config/assets.rb +3 -35
  101. data/config/i18n-tasks.yml +27 -5
  102. data/config/locales/ca.yml +70 -56
  103. data/config/locales/cs.yml +161 -145
  104. data/config/locales/en.yml +110 -67
  105. data/config/locales/es.yml +70 -56
  106. data/db/migrate/20200824113801_create_settings.rb +1 -1
  107. data/db/migrate/20250729104037_add_title_to_action_delegator_settings.rb +31 -0
  108. data/lib/decidim/action_delegator/admin_engine.rb +72 -45
  109. data/lib/decidim/action_delegator/common_rake.rb +13 -0
  110. data/lib/decidim/action_delegator/engine.rb +49 -19
  111. data/lib/decidim/action_delegator/test/delegation_examples.rb +144 -0
  112. data/lib/decidim/action_delegator/test/factories.rb +11 -6
  113. data/lib/decidim/action_delegator/verifications/delegations_authorizer.rb +80 -47
  114. data/lib/decidim/action_delegator/version.rb +3 -3
  115. data/lib/decidim/action_delegator.rb +8 -26
  116. data/lib/tasks/migrate_consultations.rake +382 -0
  117. data/lib/tasks/upgrade_tasks.rake +5 -0
  118. data/package.json +10 -27
  119. metadata +72 -112
  120. data/app/commands/concerns/decidim/action_delegator/consultations/multiple_vote_question_override.rb +0 -31
  121. data/app/commands/concerns/decidim/action_delegator/consultations/vote_question_override.rb +0 -44
  122. data/app/commands/decidim/action_delegator/admin/fix_resource_permissions.rb +0 -46
  123. data/app/commands/decidim/action_delegator/vote_delegation.rb +0 -28
  124. data/app/controllers/concerns/decidim/action_delegator/consultations/consultations_controller_override.rb +0 -16
  125. data/app/controllers/concerns/decidim/action_delegator/consultations/question_multiple_votes_controller_override.rb +0 -29
  126. data/app/controllers/concerns/decidim/action_delegator/consultations/question_votes_controller_override.rb +0 -57
  127. data/app/controllers/concerns/decidim/action_delegator/consultations/questions_controller_override.rb +0 -16
  128. data/app/controllers/concerns/decidim/action_delegator/needs_consultation_styles.rb +0 -24
  129. data/app/controllers/decidim/action_delegator/admin/consultations/exports_controller.rb +0 -27
  130. data/app/controllers/decidim/action_delegator/admin/consultations_controller.rb +0 -47
  131. data/app/controllers/decidim/action_delegator/admin/exports/_sum_of_weights_controller.rb +0 -15
  132. data/app/forms/concerns/decidim/action_delegator/consultations/vote_form_override.rb +0 -15
  133. data/app/helpers/decidim/action_delegator/delegation_helper.rb +0 -13
  134. data/app/jobs/decidim/action_delegator/export_consultation_results_job.rb +0 -51
  135. data/app/models/concerns/decidim/action_delegator/consultations/question_override.rb +0 -18
  136. data/app/models/concerns/decidim/action_delegator/consultations/vote_override.rb +0 -15
  137. data/app/models/decidim/action_delegator/unversioned_vote.rb +0 -19
  138. data/app/models/decidim/action_delegator/whodunnit_vote.rb +0 -28
  139. data/app/overrides/decidim/consultations/admin/consultations/results/add_ongoing_warning.html.erb.deface +0 -3
  140. data/app/overrides/decidim/consultations/consultations/_question/add_delegation_link.html.erb.deface +0 -3
  141. data/app/overrides/decidim/consultations/consultations/_regular_questions/prevent_empty_questions.html.erb.deface +0 -10
  142. data/app/overrides/decidim/consultations/consultations/_regular_questions/remove_highlighted_scopes.html.erb.deface +0 -5
  143. data/app/overrides/decidim/consultations/question_multiple_votes/_form/add_delegation_notice.html.erb.deface +0 -8
  144. data/app/overrides/decidim/consultations/questions/_vote_button/add_delegations_link.html.erb.deface +0 -3
  145. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal.html.erb.deface +0 -3
  146. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal_javascript.html.erb.deface +0 -4
  147. data/app/overrides/decidim/consultations/questions/_vote_button/replace_delegation_to_multivote_link.html.erb.deface +0 -8
  148. data/app/overrides/decidim/consultations/questions/_vote_modal/add_delegation_callout.html.erb.deface +0 -3
  149. data/app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_delegation_callout.html.erb.deface +0 -3
  150. data/app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_hidden_field.html.erb.deface +0 -3
  151. data/app/overrides/layouts/decidim/admin/remove_deprecation.rb +0 -10
  152. data/app/packs/entrypoints/decidim_action_delegator.scss +0 -1
  153. data/app/packs/entrypoints/decidim_action_delegator_questions.js +0 -5
  154. data/app/packs/src/decidim/action_delegator/questions.js +0 -33
  155. data/app/packs/stylesheets/decidim/action_delegator/questions.scss +0 -26
  156. data/app/permissions/concerns/decidim/action_delegator/consultations/permissions_override.rb +0 -35
  157. data/app/presenters/decidim/action_delegator/question_with_totals.rb +0 -24
  158. data/app/queries/decidim/action_delegator/consultation_delegations.rb +0 -25
  159. data/app/queries/decidim/action_delegator/delegates_votes_by_consultation.rb +0 -24
  160. data/app/queries/decidim/action_delegator/delegates_votes_by_question.rb +0 -26
  161. data/app/queries/decidim/action_delegator/delegation_votes.rb +0 -30
  162. data/app/queries/decidim/action_delegator/grantee_delegations.rb +0 -24
  163. data/app/queries/decidim/action_delegator/organization_delegations.rb +0 -26
  164. data/app/queries/decidim/action_delegator/organization_settings.rb +0 -31
  165. data/app/queries/decidim/action_delegator/responses.rb +0 -24
  166. data/app/queries/decidim/action_delegator/responses_by_membership.rb +0 -58
  167. data/app/queries/decidim/action_delegator/scrutiny.rb +0 -87
  168. data/app/queries/decidim/action_delegator/setting_delegations.rb +0 -19
  169. data/app/queries/decidim/action_delegator/sum_of_membership_weight.rb +0 -44
  170. data/app/queries/decidim/action_delegator/sum_of_weights.rb +0 -25
  171. data/app/queries/decidim/action_delegator/type_and_weight.rb +0 -26
  172. data/app/queries/decidim/action_delegator/voted_with_ponderations.rb +0 -30
  173. data/app/queries/decidim/action_delegator/votes_count_aggregation.rb +0 -34
  174. data/app/serializers/decidim/action_delegator/consultation_results_serializer.rb +0 -19
  175. data/app/views/decidim/action_delegator/admin/consultations/_ongoing_consultation_warning.html.erb +0 -3
  176. data/app/views/decidim/action_delegator/admin/consultations/results.html.erb +0 -65
  177. data/app/views/decidim/action_delegator/admin/consultations/weighted_results.html.erb +0 -66
  178. data/app/views/decidim/action_delegator/consultations/_link_to_question.html.erb +0 -11
  179. data/app/views/decidim/action_delegator/consultations/questions/_callout.html.erb +0 -5
  180. data/app/views/decidim/action_delegator/consultations/questions/_delegations_modal.html.erb +0 -34
  181. data/app/views/decidim/action_delegator/consultations/questions/_link_to_delegations.html.erb +0 -11
  182. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_active.html.erb +0 -32
  183. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_finished.html.erb +0 -9
  184. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_upcoming.html.erb +0 -8
  185. data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +0 -82
  186. data/lib/tasks/import_direct_verification.rake +0 -30
@@ -1,49 +1,51 @@
1
- <div class="wrapper">
2
- <div class="row collapse">
3
- <div class="row collapse">
4
- <div class="columns large-8 large-centered text-center page-title">
5
- <h1><%= t(".title") %></h1>
6
- </div>
7
- </div>
8
-
9
- <div class="row">
10
- <div class="columns large-6 medium-centered">
11
- <div class="card">
12
- <div class="card__content">
13
- <%= decidim_form_for(@form, url: authorization_path(redirect_url: redirect_url)) do |form| %>
14
- <%= form_required_explanation %>
1
+ <%= render layout: "layouts/decidim/shared/layout_center" do %>
2
+ <div class="text-center py-12">
3
+ <h1 class="h1 decorator inline-block text-left">
4
+ <%= t("title", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new") %>
5
+ </h1>
6
+ </div>
7
+ <div class="page__container page__container-open_data">
8
+ <div class="editor-content">
9
+ <%= decidim_form_for(@form, url: authorization_path(redirect_url: redirect_url), html: { class: "form" }) do |form| %>
10
+ <div class="form__wrapper">
11
+ <%= form_required_explanation %>
12
+ <% if @form.setting&.email_required? %>
13
+ <% unless @form.participant.present? %>
14
+ <%= cell("decidim/announcement", t("not_in_census", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new")) %>
15
+ <% end %>
15
16
 
16
- <% if setting&.email_required? %>
17
- <% unless @form.participant.present? %>
18
- <div class="callout announcement mb-sm alert cell-announcement">
19
- <p><%= t(".not_in_census") %></p>
20
- </div>
21
- <% end %>
22
- <div class="field">
23
- <%= form.text_field :email, readonly: true %>
24
- </div>
25
- <% end %>
17
+ <%= form.text_field :email, readonly: true %>
18
+ <% end %>
26
19
 
27
- <% if setting&.phone_required? %>
28
- <div class="field">
29
- <%= form.text_field :phone, readonly: setting&.verify_with_both? %>
30
- </div>
31
- <% if setting&.verify_with_both? %>
32
- <div class="callout announcement mb-sm warning cell-announcement">
33
- <p><%= t(".phone_warning") %></p>
34
- </div>
35
- <% end %>
36
- <% end %>
20
+ <% if @form.setting&.phone_required? %>
21
+ <%= form.text_field :phone, readonly: @form.setting&.verify_with_both? %>
37
22
 
38
- <p><%= t(".participate_in", consultations: "<b>#{translated_attribute(@form.setting.title)}</b>").html_safe %></p>
23
+ <% if @form.setting&.verify_with_both? %>
24
+ <%= cell("decidim/announcement", t("phone_warning", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new")) %>
25
+ <% end %>
26
+ <% end %>
39
27
 
40
- <div class="actions">
41
- <%= form.submit t(setting&.phone_required? ? ".send_code": ".authorize"), class: "button expanded", "data-disable-with" => "#{t('.send_code')}...", disabled: (setting&.email_required? && (!@form.participant || (@form.phone.blank? && setting&.verify_with_both?))) %>
42
- </div>
28
+ <% if active_settings.any? %>
29
+ <h3><%= t("participate_in", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new") %></h3>
30
+ <% active_settings.each do |setting| %>
31
+ <h4 class="pb-0 mb-0"><%= translated_attribute(setting.presenter.translated_title) %></h4>
32
+ <div><%= translated_attribute(setting.presenter.translated_description) %></div>
33
+ <% if setting.presenter.translated_resources_list.any? %>
34
+ <ul class="pt-0 mt-0">
35
+ <% setting.presenter.translated_resources_list.each do |resource| %>
36
+ <li><%= resource.title %></li>
37
+ <% end %>
38
+ </ul>
39
+ <% end %>
43
40
  <% end %>
41
+ <% else %>
42
+ <p class="text-alert"><%= t("no_resources_found", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new") %></p>
43
+ <% end %>
44
+ <div class="form__wrapper-block">
45
+ <%= form.submit t(@form.setting&.phone_required? ? "send_code" : "authorize", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new"), :class => "button button__lg button__secondary", "data-disable-with" => "#{t("send_code", scope: "decidim.action_delegator.verifications.delegations_verifier.authorizations.new")}...", :disabled => (@form.setting&.email_required? && (!@form.participant || (@form.phone.blank? && @form.setting&.verify_with_both?))) %>
44
46
  </div>
45
47
  </div>
46
- </div>
48
+ <% end %>
47
49
  </div>
48
50
  </div>
49
- </div>
51
+ <% end %>
data/config/assets.rb CHANGED
@@ -1,40 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This file is located at `config/assets.rb` of your module.
4
-
5
- # Define the base path of your module. Please note that `Rails.root` may not be
6
- # used because we are not inside the Rails environment when this file is loaded.
7
3
  base_path = File.expand_path("..", __dir__)
8
4
 
9
- # Register an additional load path for webpack. All the assets within these
10
- # directories will be available for inclusion within the Decidim assets. For
11
- # example, if you have `app/packs/src/decidim/foo.js`, you can include that file
12
- # in your JavaScript entrypoints (or other JavaScript files within Decidim)
13
- # using `import "src/decidim/foo"` after you have registered the additional path
14
- # as follows.
15
- Decidim::Webpacker.register_path("#{base_path}/app/packs")
16
-
17
- # Register the entrypoints for your module. These entrypoints can be included
18
- # within your application using `javascript_pack_tag` and if you include any
19
- # SCSS files within the entrypoints, they become available for inclusion using
20
- # `stylesheet_pack_tag`.
21
- Decidim::Webpacker.register_entrypoints(
22
- decidim_action_delegator_questions: "#{base_path}/app/packs/entrypoints/decidim_action_delegator_questions.js"
5
+ Decidim::Shakapacker.register_path("#{base_path}/app/packs")
6
+ Decidim::Shakapacker.register_entrypoints(
7
+ decidim_action_delegator_elections: "#{base_path}/app/packs/entrypoints/decidim_action_delegator_elections.js"
23
8
  )
24
-
25
- # If you want to import some extra SCSS files in the Decidim main SCSS file
26
- # without adding any extra stylesheet inclusion tags, you can use the following
27
- # method to register the stylesheet import for the main application.
28
- # Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/app")
29
-
30
- # If you want to do the same but include the SCSS file for the admin panel's
31
- # main SCSS file, you can use the following method.
32
- # Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/admin", group: :admin)
33
-
34
- # If you want to override some SCSS variables/settings for Foundation from the
35
- # module, you can add the following registered import.
36
- # Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/settings", type: :settings)
37
-
38
- # If you want to do the same but override the SCSS variables of the admin
39
- # panel's styles, you can use the following method.
40
- # Decidim::Webpacker.register_stylesheet_import("stylesheets/decidim/foo/admin_settings", type: :settings, group: :admin)
@@ -8,11 +8,33 @@ data:
8
8
  - "<%= %x[bundle info decidim-core --path].chomp %>/config/locales/%{locale}.yml"
9
9
  - "<%= %x[bundle info decidim-admin --path].chomp %>/config/locales/%{locale}.yml"
10
10
  - "<%= %x[bundle info decidim-participatory_processes --path].chomp %>/config/locales/%{locale}.yml"
11
- - "<%= %x[bundle info decidim-consultations --path].chomp %>/config/locales/%{locale}.yml"
11
+ - "<%= %x[bundle info decidim-elections --path].chomp %>/config/locales/%{locale}.yml"
12
12
  - "<%= %x[bundle info decidim-verifications --path].chomp %>/config/locales/%{locale}.yml"
13
13
 
14
14
  ignore_unused:
15
- - "decidim.components.action_delegator.name"
16
-
17
- ignore_missing:
18
- - decidim.participatory_processes.scopes.global
15
+ - "layouts.decidim.user_profile.vote_delegations"
16
+ - "devise.mailer.*"
17
+ - "decidim.verifications.authorizations.first_login.*"
18
+ - "decidim.authorization_handlers.*"
19
+ - "decidim.admin.actions.invite_all"
20
+ - "activemodel.attributes.*"
21
+ - "activemodel.errors.*"
22
+ - "decidim.action_delegator.participants_csv_importer.import.*"
23
+ - "decidim.action_delegator.admin.settings.authorization_method.*"
24
+ - "decidim.action_delegator.admin.invite_participants.*"
25
+ - "decidim.action_delegator.invite_participants_mailer.*"
26
+ - "decidim.action_delegator.admin.delegations.csv_imports.*"
27
+ - "decidim.action_delegator.admin.menu.*"
28
+ - "decidim.action_delegator.verification.admin.members.index.*"
29
+ - "decidim.action_delegator.verifications.delegations_verifier*"
30
+ - "decidim.action_delegator.import_mailer.*"
31
+ - "decidim.action_delegator.delegations_authorizer.*"
32
+ - "decidim.action_delegator.admin.manage*"
33
+ - "decidim.action_delegator.admin.participants.*"
34
+ - "decidim.action_delegator.admin.permissions.*"
35
+ - "decidim.action_delegator.admin.ponderations.index.*"
36
+ - "decidim.action_delegator.admin.settings.*"
37
+ - "decidim.action_delegator.admin.weighted_results.title"
38
+ - "decidim.action_delegator.authorizations.*"
39
+ - "decidim.action_delegator.delegations.*"
40
+ - "decidim.elections.censuses.action_delegator_census.label"
@@ -2,6 +2,8 @@
2
2
  ca:
3
3
  activemodel:
4
4
  attributes:
5
+ csv_import:
6
+ csv_file: Arxiu CSV
5
7
  delegations_verifier:
6
8
  email: Correu electrònic
7
9
  phone: Número de telèfon mòbil
@@ -13,11 +15,13 @@ ca:
13
15
  name: Tipus d'associat
14
16
  name_help: Tipus d'associat
15
17
  setting:
16
- decidim_consultation_id: Consulta
18
+ active: Actiu
17
19
  max_grants: Màxim nombre de delegacions que pot rebre una participant
18
20
  phone_freezed: Usa el número de telèfon del cens. No permet als participants editar-lo.
19
21
  verify_with_sms: Verifica amb SMS
20
22
  errors:
23
+ messages:
24
+ only_one_active_setting_per_phone_required: Només hi pot haver una configuració activa amb la verificació telefònica alhora.
21
25
  models:
22
26
  delegations_verifier:
23
27
  attributes:
@@ -28,11 +32,8 @@ ca:
28
32
  decidim:
29
33
  action_delegator:
30
34
  admin:
31
- consultations:
32
- results:
33
- title: Resultats per resposta, tipus d'associat i pes
34
- weighted_results:
35
- title: Resultats per resposta sumant ponderació de vot
35
+ census:
36
+ setting_group: Grup de configuració
36
37
  delegations:
37
38
  create:
38
39
  error: S'ha produït un error en crear aquesta delegació
@@ -45,27 +46,22 @@ ca:
45
46
  destroy:
46
47
  error: S'ha produït un error en eliminar aquesta delegació
47
48
  success: S'ha eliminat la delegació amb èxit
48
- grantee_missing: L'atorgant no està registrada a la plataforma
49
+ grantee_missing: La persona atorgada no està registrada a la plataforma
49
50
  granter_missing: L'atorgant no està registrada a la plataforma
50
51
  index:
51
52
  actions:
52
53
  csv_import: Importa un arxiu CSV
53
54
  new_delegation: Nou participant
54
- consultation: Consulta
55
55
  created_at: Creat el
56
- delete: Eliminar
57
56
  description_html: Aquestes són les delegacions actuals per a aquesta consulta
58
57
  grantee: Receptora (a)
59
58
  grantee_voted: S'ha utilitzat la delegació?
60
59
  granter: Atorgant
61
- granter_voted: Ha votat l'atorgant?
62
- title: Participants
63
60
  new:
64
61
  grantee: Receptora (a)
65
62
  granter: Atorgant
66
63
  save: Crear
67
64
  select_member: Selecciona un membre
68
- title: Nova delegació
69
65
  invite_participants:
70
66
  invite_all_users:
71
67
  error: S'ha produït un error al convidar aquestes participants
@@ -87,6 +83,8 @@ ca:
87
83
  required_fields: 'Camps obligatoris: Email de l''atorgant, email de la receptora'
88
84
  title: Importa les delegacions
89
85
  title_example: 'Exemple:'
86
+ upload_button: Carrega un arxiu CSV
87
+ upload_help: 'Ha de ser un fitxer en format CSV amb una capçalera. Columnes obligatòries: from, to.'
90
88
  upload_instructions: Ha de ser un fitxer en format CSV amb una capçalera.
91
89
  manage_participants:
92
90
  create:
@@ -102,13 +100,22 @@ ca:
102
100
  required_fields: 'Camps obligatoris: %{authorization_method}'
103
101
  title: Importar participants
104
102
  title_example: 'Exemple:'
103
+ upload_button: Carrega un arxiu CSV
104
+ upload_help: Ha de ser un fitxer en format CSV amb una capçalera.
105
105
  upload_instructions: Ha de ser un fitxer en format CSV amb una capçalera.
106
106
  menu:
107
- consultations_submenu:
107
+ action_delegator_menu:
108
+ delegations: Delegacions
109
+ main: General
110
+ participants: Participants
111
+ ponderations: Ponderacions
112
+ settings: Configuració
113
+ delegations: Governança societària
114
+ elections_submenu:
108
115
  by_answer: Per resposta
109
116
  by_type_and_weight: Per tipus i ponderació
110
117
  sum_of_weights: Per suma ponderada
111
- delegations: Governança societària
118
+ totals: Total
112
119
  participants: Participants
113
120
  participants:
114
121
  create:
@@ -119,7 +126,6 @@ ca:
119
126
  success: Participant eliminada correctament
120
127
  edit:
121
128
  save: Desa
122
- title: Edita la participant
123
129
  index:
124
130
  actions:
125
131
  csv_import: Importa CSV
@@ -136,12 +142,10 @@ ca:
136
142
  phone: Telèfon
137
143
  ponderation: Tipus de ponderació
138
144
  send_invitation_link: Feu clic aquí per enviar-lis una invitació
139
- title: Cens
140
145
  user: Nom
141
146
  voted: Ha votat?
142
147
  new:
143
148
  save: Crea
144
- title: Nova participant
145
149
  remove_census:
146
150
  confirm: Esteu segur que voleu suprimir aquest cens? Aquesta operació no es pot desfer
147
151
  success: "%{participants_count} entrades s'han suprimit correctament del cens"
@@ -163,7 +167,6 @@ ca:
163
167
  success: Ponderació eliminada correctament
164
168
  edit:
165
169
  save: Desa
166
- title: Edita el tipus d'afiliació
167
170
  form:
168
171
  name_help: Tipus d'associat, per exemple "soci col·laborador", "soci", "patró". Ha de ser únic.
169
172
  name_placeholder: 'Proveu, per exemple: "membre", "soci", "simpatitzant", "usuari base"...'
@@ -174,7 +177,6 @@ ca:
174
177
  created_at: Creada el
175
178
  name: Tipus d'associat
176
179
  num_users: Cens total
177
- title: Tipus d'afiliacions
178
180
  weight: Pes del vot
179
181
  new:
180
182
  save: Crea
@@ -187,8 +189,9 @@ ca:
187
189
  both: Correu electrònic i número de telèfon mòbil
188
190
  email: Només correu electrònic
189
191
  phone: Només telèfon mòbil
190
- authorization_method_help: |
192
+ authorization_method_help_html: |
191
193
  Les opcions disponibles són:
194
+ <br><br>
192
195
  <ul>
193
196
  <li><b>Només el número de telèfon:</b> Utilitza la verificació per SMS. Les participants han d'introduir el seu número de telèfon que coincideixi amb el cens.</li>
194
197
  <li><b>Només correu electrònic:</b> el correu electrònic de la participant ha de coincidir amb el cens.</li>
@@ -205,7 +208,6 @@ ca:
205
208
  success: Configuració eliminada correctament
206
209
  edit:
207
210
  save: Desa
208
- title: Edita la configuració
209
211
  form:
210
212
  max_grants: Màxim de delegacions rebudes per persona
211
213
  index:
@@ -214,9 +216,9 @@ ca:
214
216
  delegations: Edita les delegacions
215
217
  new_setting: Nova configuració
216
218
  ponderate: Estableix els pesos per les ponderacions de vot
219
+ active: Actiu
217
220
  authorization_method: Mètode de verificació de la condició d'associat
218
221
  census: Cens total
219
- consultation: Consulta
220
222
  created_at: Creat el
221
223
  delegations: Delegacions totals
222
224
  description_html: |
@@ -224,9 +226,9 @@ ca:
224
226
  <br>
225
227
  Cada grup es pot configurar amb un nombre diferent de delegacions màximes per receptora i diferents tipus de ponderació.
226
228
  max_grants: Màx. delegacions/persona
229
+ name: Nom
227
230
  open: Oberta
228
231
  ponderations: Tipus de ponderacions
229
- state: Estat
230
232
  title: Governança societària
231
233
  new:
232
234
  save: Desa
@@ -234,22 +236,18 @@ ca:
234
236
  setting_checks:
235
237
  all_users_authorized_html: Totes les participants són verficades pel <i>Verificador de Governança societària</i>.
236
238
  all_users_registered_html: Totes les participants estan registrades a la plataforma.
239
+ applies_to: S'aplica als següents espais de votació
237
240
  click_to_fix: Feu clic aquí per solucionar-ho automàticament
238
- consultation_questions_all_verified_html: Totes les preguntes estan restringides pel <i>Verificador de Governança societària</i>.
239
- consultation_questions_missing_verifier_html: Hi ha %{count} preguntes que no estan restringides pel <i>Verificador de Governança societària</i>. <b>Sense això, tothom podrà votar-hi.</b> <em>Això és correcte si utilitzeu altres mètodes d'autorització o si tothom té permís per votar.</em>
240
241
  missing_authorizations_html: Hi ha %{count} participants que no estan verificats pel <i>Verificador de Governança societària</i>. <em>Això està bé si aquestes participants tenen els seus vots delegats a altres persones o si utilitzeu altres mètodes de verificació (o cap).</em>
241
242
  missing_emails: El mètode d'autorització no requereix un correu electrònic. Per això, %{count} s'han de registrar elles mateixes a la plataforma
242
243
  missing_registered_users_html: Hi ha %{count} participants que no estan registrats a la plataforma.
243
244
  no_delegations_html: No hi ha delegacions de vot.
244
245
  no_participants_html: No hi ha cens! <b>Afegiu participants o ningú podrà votar si el <i>Verificador de Governança societària</i> està actiu.</b> <em>Això és correcte si feu servir altres mètodes d'autorització o si tothom té permís per votar.</em>
245
246
  no_ponderations_html: No hi ha ponderacions de vot. <b>Totes les participants tindran el mateix pes en els seus vots</b>
247
+ no_resources_found: Cap espai de votació utilitza aquesta configuració!
246
248
  participant: participant
247
249
  user: usuària
248
250
  users_need_sync_html: Cal sincronitzar la llista de participants. <b>Els resultats de la consulta poden ser incorrectes!</b>
249
- state:
250
- closed: Tancat
251
- ongoing: En curs
252
- pending: Pendent
253
251
  update:
254
252
  error: S'ha produït un error en actualitzar la configuració
255
253
  success: Configuració guardada amb èxit
@@ -261,23 +259,47 @@ ca:
261
259
  phone_warning: Aquest número de telèfon s'ha importat per l'administrador. Si us plau, poseu-vos-hi en contacte si no és correcte.
262
260
  delegations:
263
261
  has_delegations: Vot delegat realitzat
264
- link: Tens delegacions disponibles
262
+ link: "\U0001F449 Tens delegacions disponibles"
265
263
  delegations_authorizer:
266
264
  email: Estem utilitzant el correu electrònic %{email} per verificar la vostra identitat. Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
267
- no_setting: No s'ha trobat cap grup de delegació per a aquesta consulta. Poseu-vos en contacte amb l'administrador per solucionar-ho.
268
- not_in_census: No ets al cens
265
+ inactive_setting_html: El cens "%{census}" no està actiu. Podeu intentar <a href="%{renew_path}" class="underline">renovar la vostra verificació</a>. Si no, poseu-vos en contacte amb l'administrador si creieu que es tracta d'un error.
266
+ no_setting_html: Sembla que no pertanys al cens actual. Pots intentar <a href="%{renew_path}" class="underline">renovar la teva verificació</a>. Si no, contacta amb l'administrador si creus que es tracta d'un error.
267
+ not_in_census_html: Sembla que no pertanys al cens "%{census}". Pots intentar <a href="%{renew_path}" class="underline">renovar la teva verificació</a>. Si no, contacta amb l'administrador si creus que es tracta d'un error.
269
268
  phone: Estem utilitzant el telèfon %{phone} per verificar la vostra identitat. Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
270
- delegations_modal:
271
- callout: Recorda, estàs votant en nom de
272
- contextual_help: 'Has estat autoritzat a votar en nom de:'
273
- title: 'Consulta: delegacions atorgades'
269
+ elections:
270
+ admin:
271
+ dashboard:
272
+ questions_table:
273
+ delegated_votes: Vots delegats
274
+ participants: Participants
275
+ participants_count:
276
+ one: 1 participant
277
+ other: "%{count} participants"
278
+ unweighted_votes: Vots sense ponderació
279
+ weight: Ponderació
280
+ weighted_votes: Vots amb ponderació
281
+ results_type_info:
282
+ by_type_and_weight_html: <p>Els resultats que es mostren a continuació es desglossen per tipus de pertinença i es ponderen segons els pesos de pertinença definits a la configuració de Governança Societària</p> <p>Cada opció de resposta mostra el nombre de vots que ha rebut de cada tipus de pertinença, però no s'aplica cap pes en aquesta vista.</p> <p>Per exemple, si l'opció A ha rebut 2 vots de membres amb pes "3.0" i 1 vot d'un membre amb pes "1.0", els resultats mostraran 2 vots de membres amb pes "3.0" i 1 vot de membres amb pes "1.0".</p> <p>⚠️ Aquests resultats no es mostren al públic.</p>
283
+ normal_count_html: "<p>Aquests resultats es calculen comptant cada vot per igual, independentment de la ponderació del participant que l'ha emès.</p> <p>⚠️ Aquests resultats no es mostren al públic.</p>"
284
+ sum_of_weights_html: <p>Els resultats que es mostren a continuació es ponderen segons les ponderacions definides a la configuració de Governança Societària.</p> <p>Cada vot es multiplica pel pes del membre que l'ha emès.</p> <p>Per exemple, si un membre amb un pes "3.0" vota per l'opció A i un membre amb un pes "1.0" vota per l'opció B, els resultats mostraran 3 vots per l'opció A i 1 vot per l'opció B.</p> <p><strong>⚠️ Aquests són els resultats que es mostren al públic.</strong></p>
285
+ title: Com interpretar aquests resultats?
286
+ totals_html: "<p>Els resultats que es mostren a continuació mostren els totals de cada pregunta, sumant tots els vots rebuts per cada opció de resposta aplicant i sense aplicar les ponderacions.</p> <p>A més, podeu veure el nombre de participants i quants vots delegats es van emetre per a cada opció.</p> <p>⚠️ Aquests resultats no es mostren al públic.</p>"
287
+ delegation_buttons:
288
+ delegations_active: Teniu vots delegats.
289
+ per_question_delegations: 'Podeu votar en nom dels següents participants en aquesta elecció:'
290
+ vote_for: Vota en nom de %{name}
291
+ votes:
292
+ delegated_voting: Esteu votant en nom de %{name}
293
+ edit_vote_for: Edita el vot per a %{name}
294
+ self_voting: Estàs votant per tu mateix (%{name}).
295
+ waiting_for: Continua votant en nom de %{name}
274
296
  import_mailer:
275
297
  import:
276
298
  errors_present: Hi ha hagut errors en la importació
277
299
  errors_title: "<b>S'han trobat:</b> %{errors_count} errors"
278
300
  greeting: Hola %{name},
279
301
  info_messages: Motiu d'omissió
280
- instructions: "<p>S'adjunta un fitxer amb els detalls de la importació, conté les files que no s'han importat.</p>\n<p>Si voleu continuar important, corregiu les files especificades, suprimiu l'última columna del fitxer, deseu el fitxer i torna a importar.</p>\n"
302
+ instructions: "<p>S'adjunta un fitxer amb els detalls de la importació, conté les files que no s'han importat.</p>\n<p>Si voleu continuar important, corregiu les files especificades, suprimiu l'última columna del fitxer, deseu el fitxer i torna a importar.</p>"
281
303
  result: "<b>Importat:</b> %{rows_count} files de %{total_rows_count}."
282
304
  row_number: Número de fila
283
305
  skipped_rows: "<b>S'han omès:</b> %{skipped_rows} files."
@@ -289,7 +311,6 @@ ca:
289
311
  body: Us han convidat a participar en la consulta. Feu clic a l'enllaç següent per confirmar la vostra participació.
290
312
  confirm: Confirmar la participació
291
313
  greeting: Hola %{recipient},
292
- name: Mòdul Decidim ActionDelegator per a cooperatives
293
314
  participants_csv_importer:
294
315
  import:
295
316
  error: S'ha produït un error en importar les participants
@@ -322,39 +343,36 @@ ca:
322
343
  new:
323
344
  authorize: Autoritza el meu compte
324
345
  missing_phone_error: Falta el telèfon de l'associat
346
+ no_resources_found: No s'han trobat recursos. Si creieu que es tracta d'un error, poseu-vos en contacte amb l'administrador (és possible que no hi hagi res actiu ara mateix).
325
347
  not_in_census: Ho sentim, però no pots estar autoritzat perquè el teu correu electrònic no està al cens. Poseu-vos en contacte amb l'administrador si creieu que es tracta d'un error.
326
348
  participate_in: 'Aquesta autorització us permet participar en les consultes següents: %{consultations}'
327
349
  phone_warning: Aquest número de telèfon ha estat importat per l'administrador. Si us plau, poseu-vos en contacte si no és correcte.
328
350
  send_code: Envia el codi de verificació
329
351
  title: Autoritza amb el Verificador de Governança societària
352
+ not_active: No es pot verificar amb Governança societària perquè actualment no hi ha cap espai de vot actiu.
330
353
  admin:
331
354
  actions:
332
355
  invite: Enviar invitació
333
356
  invite_all: Envia invitacions a participants que no existeixen
334
357
  resend: Reenviar la invitació
335
- consultations:
336
- results:
337
- default_metadata: "(dades de l'associat no disponibles)"
338
- export: Exporta
339
- export_filename: consulta_resultats
340
- membership_type: Tipus d'associat
341
- membership_weight: Ponderació
342
- total_delegates: "%{count} vots delegats"
343
358
  authorization_handlers:
344
359
  admin:
345
360
  delegations_verifier:
346
361
  help:
347
- - Mètode de verificació per la delegació de vot
362
+ -
363
+ - cens.
348
364
  delegations_verifier:
349
365
  explanation: Els usuaris verificats per aquest mètode poden delegar els seus vots a altres usuaris
350
366
  fields:
351
367
  phone: Número de telèfon
368
+ setting: Setting
369
+ setting_ids: Configuració
352
370
  name: Governança societària
353
- resources:
354
- question:
355
- actions:
356
- comment: Comentari
357
- vote: Vota
371
+ elections:
372
+ censuses:
373
+ action_delegator_census:
374
+ authorizer_handler_admin_callout_html: Trieu el mètode d'autorització "Governança societària" si voleu utilitzar la llista de participants del grup de configuració escollit per validar qui pot votar.<br> També podeu utilitzar un altre mètode d'autorització si la vostra font de cens és externa o si no voleu utilitzar cap cens (i tothom registrat pot votar).
375
+ label: Cens de Governança societària
358
376
  verifications:
359
377
  authorizations:
360
378
  first_login:
@@ -366,9 +384,5 @@ ca:
366
384
  subject: Us han convidat a participar en la consulta
367
385
  layouts:
368
386
  decidim:
369
- admin:
370
- question:
371
- attachments: Adjunts
372
- categories: Categories
373
387
  user_profile:
374
388
  vote_delegations: Delegacions de vot