decidim-action_delegator 0.8.2 → 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 (194) 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 +2 -10
  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 -20
  15. data/app/controllers/decidim/action_delegator/admin/manage_participants_controller.rb +11 -19
  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/ponderation_form.rb +2 -1
  28. data/app/forms/decidim/action_delegator/admin/setting_form.rb +16 -10
  29. data/app/forms/decidim/action_delegator/censuses/internal_users_form.rb +32 -0
  30. data/app/forms/decidim/action_delegator/verifications/delegations_verifier_form.rb +41 -25
  31. data/app/helpers/decidim/action_delegator/admin/{delegation_helper.rb → settings_helper.rb} +3 -16
  32. data/app/helpers/decidim/action_delegator/settings_helper.rb +124 -0
  33. data/app/jobs/decidim/action_delegator/admin/invite_participants_job.rb +1 -1
  34. data/app/jobs/decidim/action_delegator/send_sms_job.rb +2 -2
  35. data/app/jobs/decidim/action_delegator/twilio_send_sms_job.rb +2 -2
  36. data/app/models/decidim/action_delegator/delegation.rb +15 -14
  37. data/app/models/decidim/action_delegator/participant.rb +7 -10
  38. data/app/models/decidim/action_delegator/ponderation.rb +0 -2
  39. data/app/models/decidim/action_delegator/setting.rb +14 -32
  40. data/app/overrides/decidim/elections/admin/dashboard/_results/_add_results_contents.html.erb.deface +10 -0
  41. data/app/overrides/decidim/elections/admin/dashboard/_results/_add_results_tabs.html.erb.deface +3 -0
  42. data/app/overrides/decidim/elections/elections/_election_aside/add_delegation_buttons.html.erb.deface +3 -0
  43. data/app/overrides/decidim/elections/elections/_vote_results/replace_results_div.html.erb.deface +8 -0
  44. data/app/overrides/decidim/elections/per_question_votes/show/add_delegation_hidden_input.html.erb.deface +3 -0
  45. data/app/overrides/decidim/elections/per_question_votes/show/add_delegation_id_to_links.html.erb.deface +3 -0
  46. data/app/overrides/decidim/elections/per_question_votes/waiting/add_delegation_buttons.html.erb.deface +3 -0
  47. data/app/overrides/decidim/elections/votes/receipt/add_delegation_buttons.html.erb.deface +3 -0
  48. data/app/packs/entrypoints/decidim_action_delegator_elections.js +1 -0
  49. data/app/packs/src/decidim/action_delegator/elections_live_results.js +160 -0
  50. data/app/permissions/decidim/action_delegator/admin/permissions.rb +29 -0
  51. data/app/permissions/decidim/action_delegator/permissions.rb +6 -30
  52. data/app/presenters/decidim/action_delegator/setting_presenter.rb +33 -0
  53. data/app/queries/decidim/action_delegator/action_delegator_census_users.rb +51 -0
  54. data/app/queries/decidim/action_delegator/authorized_resources.rb +28 -0
  55. data/app/queries/decidim/action_delegator/election_settings.rb +23 -0
  56. data/app/queries/decidim/action_delegator/{delegated_votes_versions.rb → elections_delegated_votes_versions.rb} +8 -8
  57. data/app/queries/decidim/action_delegator/elections_question_responses_by_type.rb +33 -0
  58. data/app/queries/decidim/action_delegator/elections_question_weighted_responses.rb +28 -0
  59. data/app/queries/decidim/action_delegator/elections_votes_with_ponderations.rb +62 -0
  60. data/app/services/decidim/action_delegator/participants_csv_importer.rb +1 -1
  61. data/app/services/decidim/action_delegator/sms_gateway.rb +2 -2
  62. data/app/views/decidim/action_delegator/admin/censuses/_action_delegator_census_form.html.erb +44 -0
  63. data/app/views/decidim/action_delegator/admin/censuses/_action_delegator_census_options_form.html.erb +25 -0
  64. data/app/views/decidim/action_delegator/admin/delegations/index.html.erb +12 -13
  65. data/app/views/decidim/action_delegator/admin/delegations/new.html.erb +29 -27
  66. data/app/views/decidim/action_delegator/admin/manage_delegations/new.html.erb +36 -24
  67. data/app/views/decidim/action_delegator/admin/manage_participants/new.html.erb +47 -33
  68. data/app/views/decidim/action_delegator/admin/participants/_form.html.erb +14 -8
  69. data/app/views/decidim/action_delegator/admin/participants/edit.html.erb +11 -13
  70. data/app/views/decidim/action_delegator/admin/participants/index.html.erb +20 -25
  71. data/app/views/decidim/action_delegator/admin/participants/new.html.erb +11 -13
  72. data/app/views/decidim/action_delegator/admin/ponderations/_form.html.erb +13 -7
  73. data/app/views/decidim/action_delegator/admin/ponderations/edit.html.erb +11 -13
  74. data/app/views/decidim/action_delegator/admin/ponderations/index.html.erb +8 -11
  75. data/app/views/decidim/action_delegator/admin/ponderations/new.html.erb +11 -13
  76. data/app/views/decidim/action_delegator/admin/settings/_form.html.erb +26 -12
  77. data/app/views/decidim/action_delegator/admin/settings/_participants_sync_check.html.erb +1 -1
  78. data/app/views/decidim/action_delegator/admin/settings/_setting_checks.html.erb +11 -16
  79. data/app/views/decidim/action_delegator/admin/settings/edit.html.erb +11 -12
  80. data/app/views/decidim/action_delegator/admin/settings/index.html.erb +22 -19
  81. data/app/views/decidim/action_delegator/admin/settings/new.html.erb +11 -12
  82. data/app/views/decidim/action_delegator/admin/shared/_tabs_menu.html.erb +15 -0
  83. data/app/views/decidim/action_delegator/censuses/_internal_users_form.html.erb +61 -0
  84. data/app/views/decidim/action_delegator/elections/_delegation_buttons.html.erb +10 -0
  85. data/app/views/decidim/action_delegator/elections/_normal_election_buttons.html.erb +13 -0
  86. data/app/views/decidim/action_delegator/elections/_per_question_buttons.html.erb +9 -0
  87. data/app/views/decidim/action_delegator/elections/_per_question_waiting_buttons.html.erb +19 -0
  88. data/app/views/decidim/action_delegator/elections/_vote_results.html.erb +10 -0
  89. data/app/views/decidim/action_delegator/elections/_vote_results_question.html.erb +13 -0
  90. data/app/views/decidim/action_delegator/elections/admin/dashboard/_by_type_and_weight.html.erb +45 -0
  91. data/app/views/decidim/action_delegator/elections/admin/dashboard/_results_tabs.html.erb +5 -0
  92. data/app/views/decidim/action_delegator/elections/admin/dashboard/_results_type_info.html.erb +4 -0
  93. data/app/views/decidim/action_delegator/elections/admin/dashboard/_sum_of_weights.html.erb +43 -0
  94. data/app/views/decidim/action_delegator/elections/admin/dashboard/_totals.html.erb +27 -0
  95. data/app/views/decidim/action_delegator/user_delegations/index.html.erb +13 -14
  96. data/app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/edit.html.erb +19 -29
  97. data/app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/new.html.erb +42 -40
  98. data/config/assets.rb +3 -36
  99. data/config/i18n-tasks.yml +27 -5
  100. data/config/locales/ca.yml +103 -146
  101. data/config/locales/cs.yml +161 -145
  102. data/config/locales/en.yml +110 -75
  103. data/config/locales/es.yml +108 -154
  104. data/db/migrate/20200824113801_create_settings.rb +1 -1
  105. data/db/migrate/20250729104037_add_title_to_action_delegator_settings.rb +31 -0
  106. data/lib/decidim/action_delegator/admin_engine.rb +72 -45
  107. data/lib/decidim/action_delegator/common_rake.rb +13 -0
  108. data/lib/decidim/action_delegator/engine.rb +48 -19
  109. data/lib/decidim/action_delegator/test/delegation_examples.rb +144 -0
  110. data/lib/decidim/action_delegator/test/factories.rb +11 -6
  111. data/lib/decidim/action_delegator/verifications/delegations_authorizer.rb +80 -47
  112. data/lib/decidim/action_delegator/version.rb +3 -3
  113. data/lib/decidim/action_delegator.rb +8 -26
  114. data/lib/tasks/migrate_consultations.rake +382 -0
  115. data/lib/tasks/upgrade_tasks.rake +5 -0
  116. data/package.json +10 -27
  117. metadata +72 -122
  118. data/app/commands/concerns/decidim/action_delegator/consultations/multiple_vote_question_override.rb +0 -31
  119. data/app/commands/concerns/decidim/action_delegator/consultations/vote_question_override.rb +0 -44
  120. data/app/commands/decidim/action_delegator/admin/fix_resource_permissions.rb +0 -46
  121. data/app/commands/decidim/action_delegator/vote_delegation.rb +0 -28
  122. data/app/controllers/concerns/decidim/action_delegator/consultations/consultations_controller_override.rb +0 -16
  123. data/app/controllers/concerns/decidim/action_delegator/consultations/question_multiple_votes_controller_override.rb +0 -29
  124. data/app/controllers/concerns/decidim/action_delegator/consultations/question_votes_controller_override.rb +0 -57
  125. data/app/controllers/concerns/decidim/action_delegator/consultations/questions_controller_override.rb +0 -16
  126. data/app/controllers/concerns/decidim/action_delegator/needs_consultation_styles.rb +0 -24
  127. data/app/controllers/decidim/action_delegator/admin/consultations/exports_controller.rb +0 -27
  128. data/app/controllers/decidim/action_delegator/admin/consultations_controller.rb +0 -47
  129. data/app/controllers/decidim/action_delegator/admin/exports/_sum_of_weights_controller.rb +0 -15
  130. data/app/controllers/decidim/action_delegator/questions_summary_controller.rb +0 -14
  131. data/app/forms/concerns/decidim/action_delegator/consultations/vote_form_override.rb +0 -15
  132. data/app/helpers/decidim/action_delegator/delegation_helper.rb +0 -13
  133. data/app/jobs/decidim/action_delegator/export_consultation_results_job.rb +0 -51
  134. data/app/models/concerns/decidim/action_delegator/consultations/question_override.rb +0 -36
  135. data/app/models/concerns/decidim/action_delegator/consultations/vote_override.rb +0 -15
  136. data/app/models/decidim/action_delegator/unversioned_vote.rb +0 -19
  137. data/app/models/decidim/action_delegator/whodunnit_vote.rb +0 -28
  138. data/app/overrides/decidim/consultations/admin/consultations/results/add_ongoing_warning.html.erb.deface +0 -3
  139. data/app/overrides/decidim/consultations/consultations/_question/add_delegation_link.html.erb.deface +0 -3
  140. data/app/overrides/decidim/consultations/consultations/_question/replace_vote_info.html.erb.deface +0 -4
  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/_results/replace_results.html.erb.deface +0 -3
  145. data/app/overrides/decidim/consultations/questions/_vote_button/add_delegations_link.html.erb.deface +0 -3
  146. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal.html.erb.deface +0 -3
  147. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal_javascript.html.erb.deface +0 -3
  148. data/app/overrides/decidim/consultations/questions/_vote_button/replace_delegation_to_multivote_link.html.erb.deface +0 -8
  149. data/app/overrides/decidim/consultations/questions/_vote_modal/add_delegation_callout.html.erb.deface +0 -3
  150. data/app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_delegation_callout.html.erb.deface +0 -3
  151. data/app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_hidden_field.html.erb.deface +0 -3
  152. data/app/overrides/layouts/decidim/_consultation_header/add_consultation_callout.html.erb.deface +0 -9
  153. data/app/overrides/layouts/decidim/_question_header/add_consultation_callout.html.erb.deface +0 -9
  154. data/app/overrides/layouts/decidim/admin/remove_deprecation.rb +0 -10
  155. data/app/packs/entrypoints/decidim_action_delegator.scss +0 -1
  156. data/app/packs/entrypoints/decidim_action_delegator_questions.js +0 -5
  157. data/app/packs/entrypoints/decidim_action_delegator_questions_summary.js +0 -1
  158. data/app/packs/src/decidim/action_delegator/questions.js +0 -33
  159. data/app/packs/src/decidim/action_delegator/summary.js +0 -24
  160. data/app/packs/stylesheets/decidim/action_delegator/questions.scss +0 -26
  161. data/app/permissions/concerns/decidim/action_delegator/consultations/permissions_override.rb +0 -35
  162. data/app/presenters/decidim/action_delegator/question_with_totals.rb +0 -24
  163. data/app/queries/decidim/action_delegator/consultation_delegations.rb +0 -25
  164. data/app/queries/decidim/action_delegator/delegates_votes_by_consultation.rb +0 -24
  165. data/app/queries/decidim/action_delegator/delegates_votes_by_question.rb +0 -26
  166. data/app/queries/decidim/action_delegator/delegation_votes.rb +0 -30
  167. data/app/queries/decidim/action_delegator/grantee_delegations.rb +0 -24
  168. data/app/queries/decidim/action_delegator/organization_delegations.rb +0 -26
  169. data/app/queries/decidim/action_delegator/organization_settings.rb +0 -31
  170. data/app/queries/decidim/action_delegator/responses.rb +0 -24
  171. data/app/queries/decidim/action_delegator/responses_by_membership.rb +0 -58
  172. data/app/queries/decidim/action_delegator/scrutiny.rb +0 -87
  173. data/app/queries/decidim/action_delegator/setting_delegations.rb +0 -19
  174. data/app/queries/decidim/action_delegator/sum_of_membership_weight.rb +0 -44
  175. data/app/queries/decidim/action_delegator/sum_of_weights.rb +0 -25
  176. data/app/queries/decidim/action_delegator/type_and_weight.rb +0 -26
  177. data/app/queries/decidim/action_delegator/voted_with_ponderations.rb +0 -30
  178. data/app/queries/decidim/action_delegator/votes_count_aggregation.rb +0 -34
  179. data/app/serializers/decidim/action_delegator/consultation_results_serializer.rb +0 -19
  180. data/app/views/decidim/action_delegator/admin/consultations/_ongoing_consultation_warning.html.erb +0 -3
  181. data/app/views/decidim/action_delegator/admin/consultations/results.html.erb +0 -65
  182. data/app/views/decidim/action_delegator/admin/consultations/weighted_results.html.erb +0 -66
  183. data/app/views/decidim/action_delegator/consultations/_link_to_question.html.erb +0 -11
  184. data/app/views/decidim/action_delegator/consultations/_link_with_results.html.erb +0 -11
  185. data/app/views/decidim/action_delegator/consultations/questions/_callout.html.erb +0 -5
  186. data/app/views/decidim/action_delegator/consultations/questions/_delegations_modal.html.erb +0 -34
  187. data/app/views/decidim/action_delegator/consultations/questions/_link_to_delegations.html.erb +0 -15
  188. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_active.html.erb +0 -32
  189. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_finished.html.erb +0 -9
  190. data/app/views/decidim/action_delegator/consultations/questions/_vote_delegated_upcoming.html.erb +0 -8
  191. data/app/views/decidim/action_delegator/consultations/questions/_weight_results.html.erb +0 -8
  192. data/app/views/decidim/consultations/question_votes/_callout.html.erb +0 -47
  193. data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +0 -82
  194. data/lib/tasks/import_direct_verification.rake +0 -30
@@ -2,6 +2,8 @@
2
2
  es:
3
3
  activemodel:
4
4
  attributes:
5
+ csv_import:
6
+ csv_file: Archivo CSV
5
7
  delegations_verifier:
6
8
  email: Correo electrónico
7
9
  phone: Número de teléfono móvil
@@ -13,32 +15,25 @@ es:
13
15
  name: Tipo de miembro
14
16
  name_help: Tipo de miembro
15
17
  setting:
16
- decidim_consultation_id: Consulta
17
- max_grants: Número máximo de delegaciones de voto que una participante puede
18
- recibir
19
- phone_freezed: Utilice el número de teléfono del censo. No permita que los
20
- participantes lo editen.
18
+ active: Activo
19
+ max_grants: Número máximo de delegaciones de voto que una participante puede recibir
20
+ phone_freezed: Utilice el número de teléfono del censo. No permita que los participantes lo editen.
21
21
  verify_with_sms: Verificar con SMS
22
22
  errors:
23
+ messages:
24
+ only_one_active_setting_per_phone_required: Solo puede haber una configuración activa con verificación telefónica a la vez.
23
25
  models:
24
26
  delegations_verifier:
25
27
  attributes:
26
28
  email:
27
- email_not_found: Lo sentimos, este correo electrónico no está en el
28
- censo. Por favor, póngase en contacto con nosotros si cree que esto
29
- es un error.
29
+ email_not_found: Lo sentimos, este correo electrónico no está en el censo. Por favor, póngase en contacto con nosotros si cree que esto es un error.
30
30
  phone:
31
- phone_not_found: Lo sentimos, este correo electrónico no está en el
32
- censo. Por favor, póngase en contacto con nosotros si cree que esto
33
- es un error.
31
+ phone_not_found: Lo sentimos, este correo electrónico no está en el censo. Por favor, póngase en contacto con nosotros si cree que esto es un error.
34
32
  decidim:
35
33
  action_delegator:
36
34
  admin:
37
- consultations:
38
- results:
39
- title: Resultados por respuesta, tipo de membresía y peso
40
- weighted_results:
41
- title: Resultados por respuesta sumando pesos por membresía
35
+ census:
36
+ setting_group: Grupo de configuración
42
37
  delegations:
43
38
  create:
44
39
  error: Se ha producido un error al crear la delegación
@@ -57,21 +52,16 @@ es:
57
52
  actions:
58
53
  csv_import: Importar un fichero CSV
59
54
  new_delegation: Nueva participante
60
- consultation: Consulta
61
55
  created_at: Creado el
62
- delete: Eliminar
63
56
  description_html: Estas son las delegaciones actuales para esta consulta
64
57
  grantee: Receptora (a)
65
- grantee_voted: "¿Se ha utilizado la delegación?"
58
+ grantee_voted: '¿Se ha utilizado la delegación?'
66
59
  granter: Otorgante
67
- granter_voted: "¿Ha votado la otorgante?"
68
- title: Participantes
69
60
  new:
70
61
  grantee: Beneficiario
71
62
  granter: Otorgante
72
63
  save: Crear
73
64
  select_member: Seleccionar miembro
74
- title: Nueva delegación
75
65
  invite_participants:
76
66
  invite_all_users:
77
67
  error: Hubo un error al invitar a las participantes
@@ -87,41 +77,45 @@ es:
87
77
  manage_delegations:
88
78
  create:
89
79
  error: Se ha producido un error en importar las participantes
90
- success: El proceso de importación ha comenzado, por favor espere unos
91
- minutos y actualice la página para ver la lista de participantes. Los
92
- resultados de importación se enviarán por correo electrónico.
80
+ success: El proceso de importación ha comenzado, por favor espere unos minutos y actualice la página para ver la lista de participantes. Los resultados de importación se enviarán por correo electrónico.
93
81
  new:
94
82
  import: Importar
95
- required_fields: 'Campos requeridos: correo del otorgante, correo del
96
- receptor'
83
+ required_fields: 'Campos requeridos: correo del otorgante, correo del receptor'
97
84
  title: Importar delegaciones
98
85
  title_example: 'Ejemplo:'
86
+ upload_button: Cargar archivo CSV
87
+ upload_help: 'Debe ser un archivo en formato CSV con un encabezado. Columnas requeridas: from, to.'
99
88
  upload_instructions: Debe ser un archivo en formato CSV con un encabezado.
100
89
  manage_participants:
101
90
  create:
102
91
  error: Se ha producido un error en importar las participantes
103
- success: El proceso de importación ha comenzado, por favor espere unos
104
- minutos y actualice la página para ver la lista de participantes. Los
105
- resultados de importación se enviarán por correo electrónico.
92
+ success: El proceso de importación ha comenzado, por favor espere unos minutos y actualice la página para ver la lista de participantes. Los resultados de importación se enviarán por correo electrónico.
106
93
  new:
107
94
  authorization_method:
108
95
  both: correo electrónico y número de teléfono
109
96
  email: correo electrónico
110
97
  phone: número de teléfono
111
- describe: 'Tenga en cuenta que también es posible importar pesos usando
112
- el nombre en la tabla de ponderación en lugar del número de peso, por
113
- ejemplo:'
98
+ describe: 'Tenga en cuenta que también es posible importar pesos usando el nombre en la tabla de ponderación en lugar del número de peso, por ejemplo:'
114
99
  import: Importar
115
100
  required_fields: 'Campos requeridos: %{authorization_method}'
116
101
  title: Importar participantes
117
102
  title_example: 'Ejemplo:'
103
+ upload_button: Cargar archivo CSV
104
+ upload_help: Debe ser un archivo en formato CSV con un encabezado.
118
105
  upload_instructions: Debe ser un archivo en formato CSV con un encabezado.
119
106
  menu:
120
- consultations_submenu:
107
+ action_delegator_menu:
108
+ delegations: Delegaciones
109
+ main: General
110
+ participants: Participantes
111
+ ponderations: Ponderaciones
112
+ settings: Configuración
113
+ delegations: Gobernanza Societaria
114
+ elections_submenu:
121
115
  by_answer: Por respuesta
122
116
  by_type_and_weight: Por tipo y peso
123
117
  sum_of_weights: Por suma de pesos
124
- delegations: Gobernanza Societaria
118
+ totals: Totales
125
119
  participants: Participantes
126
120
  participants:
127
121
  create:
@@ -132,44 +126,35 @@ es:
132
126
  success: Participante correctamente eliminado
133
127
  edit:
134
128
  save: Guardar
135
- title: Editar participante
136
129
  index:
137
130
  actions:
138
131
  csv_import: Importar CSV
139
132
  new_participant: Nueva participante
140
133
  remove_census: Eliminar censo
141
- all_users_registered_html: Todas las participantes están registradas en
142
- la plataforma
134
+ all_users_registered_html: Todas las participantes están registradas en la plataforma
143
135
  created_at: Creado el
144
136
  email: Correo electrónico
145
137
  last_login: Último acceso
146
- missing_emails: El método de autorización no requiere un correo electrónico.
147
- Por esto, %{count} debe registrarse en la plataforma
148
- missing_registered: Hay %{missing_registered} participantes que no están
149
- registradas en la plataforma
138
+ missing_emails: El método de autorización no requiere un correo electrónico. Por esto, %{count} debe registrarse en la plataforma
139
+ missing_registered: Hay %{missing_registered} participantes que no están registradas en la plataforma
150
140
  never_logged: Nunca ha iniciado sesión
151
141
  participant: participante
152
142
  phone: Teléfono
153
143
  ponderation: Tipos de ponderación
154
144
  send_invitation_link: Haga clic aquí para enviarles una invitación
155
- title: Censo
156
145
  user: Nombre
157
- voted: "¿Ha votado?"
146
+ voted: '¿Ha votado?'
158
147
  new:
159
148
  save: Crear
160
- title: Nueva participante
161
149
  remove_census:
162
- confirm: "¿Está seguro de que quiere eliminar el censo? Esta acción no
163
- se puede deshacer"
164
- success: "%{participants_count} entradas fueron eliminadas de la página
165
- con éxito"
150
+ confirm: '¿Está seguro de que quiere eliminar el censo? Esta acción no se puede deshacer'
151
+ success: "%{participants_count} entradas fueron eliminadas de la página con éxito"
166
152
  update:
167
153
  error: Se ha producido un error en actualizar las participantes
168
154
  success: Participantes guardados con éxito
169
155
  permissions:
170
156
  sync:
171
- started: La sincronización de participantes ha comenzado. Por favor espere
172
- unos minutos y actualice esta página.
157
+ started: La sincronización de participantes ha comenzado. Por favor espere unos minutos y actualice esta página.
173
158
  update:
174
159
  error: Se ha producido un error al actualizar los permisos
175
160
  success: Permisos correctamente actualizados.
@@ -182,20 +167,16 @@ es:
182
167
  success: Ponderación destruida correctamente
183
168
  edit:
184
169
  save: Guardar
185
- title: Editar tipos de ponderación
186
170
  form:
187
- name_help: Tipo de asociado, p. ej., "socio", "consumidor", "patrón".
188
- Debe ser único.
171
+ name_help: Tipo de asociado, p. ej., "socio", "consumidor", "patrón". Debe ser único.
189
172
  name_placeholder: 'Prueba, por ejemplo: "miembro", "asociado", "partidario"...'
190
- weight_help: Peso del voto p. ej., "1", "2", "1.5". Este número se utilizará
191
- para sopesar los votos de las participantes en este tipo de ponderación.
173
+ weight_help: Peso del voto p. ej., "1", "2", "1.5". Este número se utilizará para sopesar los votos de las participantes en este tipo de ponderación.
192
174
  index:
193
175
  actions:
194
176
  new_ponderation: Nueva ponderación
195
177
  created_at: Creado el
196
178
  name: Tipo de miembro
197
179
  num_users: Censo total
198
- title: Ponderaciones
199
180
  weight: Peso del voto
200
181
  new:
201
182
  save: Crear
@@ -208,17 +189,16 @@ es:
208
189
  both: Correo electrónico y número de teléfono
209
190
  email: Solo correo electrónico
210
191
  phone: Solo número de teléfono móvil
211
- authorization_method_help: |
192
+ authorization_method_help_html: |
212
193
  Las opciones disponibles son:
194
+ <br><br>
213
195
  <ul>
214
196
  <li><b>Solo número de teléfono:</b> Utiliza verificación por SMS. Las participantes deben ingresar su número de teléfono que coincida con el censo.</li>
215
197
  <li><b>Solo correo electrónico:</b> El correo electrónico de la participante debe coincidir con el censo.</li>
216
198
  <li><b>Correo electrónico y número de teléfono:</b> Utiliza verificación por SMS. El correo electrónico de la participante debe coincidir con el censo y el número de teléfono estará predefinido.</li>
217
199
  </ul>
218
200
  check_verifier:
219
- not_installed_html: Parece que el método de autorización "Verificador
220
- de Gobernanza Societaria" no está activado. No puedes autenticar el
221
- censo sin la activación. Instálelo en <a href="/system">/system</a>.
201
+ not_installed_html: Parece que el método de autorización "Verificador de Gobernanza Societaria" no está activado. No puedes autenticar el censo sin la activación. Instálelo en <a href="/system">/system</a>.
222
202
  copy_setting: 'Copiar ponderaciones y censo de:'
223
203
  create:
224
204
  error: Se ha producido un problema al crear la configuración
@@ -228,7 +208,6 @@ es:
228
208
  success: Configuración eliminada correctamente
229
209
  edit:
230
210
  save: Guardar
231
- title: Editar grupo de delegación
232
211
  form:
233
212
  max_grants: Máximas delegaciones por participante
234
213
  index:
@@ -237,9 +216,9 @@ es:
237
216
  delegations: Edita las delegaciones
238
217
  new_setting: Nueva configuración
239
218
  ponderate: Establecer los pesos para la ponderación de votos
219
+ active: Activo
240
220
  authorization_method: Método de autorización
241
221
  census: Censo total
242
- consultation: Consulta
243
222
  created_at: Creado el
244
223
  delegations: Total de delegaciones
245
224
  description_html: |
@@ -247,49 +226,28 @@ es:
247
226
  <br>
248
227
  Cada grupo se puede configurar con un número diferente de delegaciones máximas por usuario, diferentes concesiones de delegaciones de usuario y diferentes conjuntos de tipos de ponderación.
249
228
  max_grants: Máx. delegaciones/persona
229
+ name: Nombre
250
230
  open: Abierto
251
231
  ponderations: Tipos de ponderación
252
- state: Estado
253
232
  title: Gobernanza Societaria
254
233
  new:
255
234
  save: Guardar
256
235
  title: Nueva configuración
257
236
  setting_checks:
258
- all_users_authorized_html: Todas las participantes están verificadas por
259
- el <i>Verificador de Gobernanza Societaria</i>.
260
- all_users_registered_html: Todos los participantes están registrados en
261
- la plataforma.
237
+ all_users_authorized_html: Todas las participantes están verificadas por el <i>Verificador de Gobernanza Societaria</i>.
238
+ all_users_registered_html: Todos los participantes están registrados en la plataforma.
239
+ applies_to: Se aplica a los siguientes espacios de votación
262
240
  click_to_fix: Haga clic aquí para arreglar esto automáticamente
263
- consultation_questions_all_verified_html: Todas las preguntas están restringidas
264
- por el <i>Verificador de Gobernanza Societaria</i>.
265
- consultation_questions_missing_verifier_html: Hay %{count} preguntas que
266
- no están restringidas por el <i>Verificador de Gobernanza Societaria</i>.
267
- <b>Sin la restricción, cualquiera podrá votar las preguntas.</b> <em>Esto
268
- está bien si está utilizando otros métodos de autorización o si todas
269
- las registradas pueden votar.</em>
270
- missing_authorizations_html: Hay %{count} participantes que no están verificadas
271
- por el <i>Verificador de Gobernanza Societaria</i>. <em>Está bien si
272
- estas participantes tienen sus votos delegados a otras o si está utilizando
273
- otros métodos de verificación (o ninguno).</em>
274
- missing_emails: El método de autorización no requiere un correo electrónico.
275
- Por esto, %{count} debe registrarse en la plataforma
276
- missing_registered_users_html: Hay %{count} participantes que no están
277
- registrados en la plataforma.
241
+ missing_authorizations_html: Hay %{count} participantes que no están verificadas por el <i>Verificador de Gobernanza Societaria</i>. <em>Está bien si estas participantes tienen sus votos delegados a otras o si está utilizando otros métodos de verificación (o ninguno).</em>
242
+ missing_emails: El método de autorización no requiere un correo electrónico. Por esto, %{count} debe registrarse en la plataforma
243
+ missing_registered_users_html: Hay %{count} participantes que no están registrados en la plataforma.
278
244
  no_delegations_html: No hay votos delegados.
279
- no_participants_html: "¡No hay censo! <b>Añade participantes o nadie podrá
280
- votar si el <i>Verificador de Gobernanza Societaria</i> está activo.</b>
281
- <em>Está bien si está utilizando otros métodos de autorización o si
282
- todas las registradas pueden votar.</em>"
283
- no_ponderations_html: No hay ponderaciones de votos. <b>Todos los usuarios
284
- tendrán el mismo peso en sus votos</b>
245
+ no_participants_html: '¡No hay censo! <b>Añade participantes o nadie podrá votar si el <i>Verificador de Gobernanza Societaria</i> está activo.</b> <em>Está bien si está utilizando otros métodos de autorización o si todas las registradas pueden votar.</em>'
246
+ no_ponderations_html: No hay ponderaciones de votos. <b>Todos los usuarios tendrán el mismo peso en sus votos</b>
247
+ no_resources_found: '¡No hay espacios de votación usando esta configuración!'
285
248
  participant: participante
286
249
  user: participante
287
- users_need_sync_html: La lista de participantes debe sincronizarse. <b>¡Los
288
- resultados de la consulta pueden ser incorrectos!</b>
289
- state:
290
- closed: Cerrado
291
- ongoing: En proceso
292
- pending: Pendiente
250
+ users_need_sync_html: La lista de participantes debe sincronizarse. <b>¡Los resultados de la consulta pueden ser incorrectos!</b>
293
251
  update:
294
252
  error: Se ha producido un problema al actualizar la configuración
295
253
  success: Configuración guardada correctamente
@@ -298,32 +256,50 @@ es:
298
256
  authorizations:
299
257
  new:
300
258
  missing_phone_error: Falta el teléfono de miembro
301
- phone_warning: Este número de teléfono ha sido importado por el administrador.
302
- Por favor, contacta si no es correcto.
259
+ phone_warning: Este número de teléfono ha sido importado por el administrador. Por favor, contacta si no es correcto.
303
260
  delegations:
304
261
  has_delegations: Voto delegado realizado
305
262
  link: "\U0001F449 Tienes delegaciones concedidas"
306
263
  delegations_authorizer:
307
- email: Estamos utilizando el correo electrónico %{email} para verificar su
308
- identidad. Si cree que esto está mal, póngase en contacto con nosotros.
309
- no_setting: No se encontró ningún grupo de delegación para esta consulta.
310
- Póngase en contacto con el administrador para solucionarlo.
311
- not_in_census: No estás en el censo
312
- phone: Estamos usando el teléfono %{phone} para verificar su identidad. Si
313
- cree que esto está mal, póngase en contacto con nosotros.
314
- delegations_modal:
315
- callout: Recuerda, estás votando en nombre de
316
- contextual_help: 'Se le ha concedido el voto de:'
317
- title: 'Consulta: delegaciones concedidas'
264
+ email: Estamos utilizando el correo electrónico %{email} para verificar su identidad. Si cree que esto está mal, póngase en contacto con nosotros.
265
+ inactive_setting_html: El censo "%{census}" no está activo. Puedes intentar <a href="%{renew_path}" class="underline">renovar tu verificación</a>. De lo contrario, contacta con el administrador si crees que se trata de un error.
266
+ no_setting_html: El censo "%{census}" no está activo. Puedes intentar <a href="%{renew_path}" class="underline">renovar tu verificación</a>. De lo contrario, contacta con el administrador si crees que se trata de un error.
267
+ not_in_census_html: El censo "%{census}" no está activo. Puedes intentar <a href="%{renew_path}" class="underline">renovar tu verificación</a>. De lo contrario, contacta con el administrador si crees que se trata de un error.
268
+ phone: Estamos usando el teléfono %{phone} para verificar su identidad. Si cree que esto está mal, póngase en contacto con nosotros.
269
+ elections:
270
+ admin:
271
+ dashboard:
272
+ questions_table:
273
+ delegated_votes: Votos delegados
274
+ participants: Participantes
275
+ participants_count:
276
+ one: 1 participante
277
+ other: "%{count} participantes"
278
+ unweighted_votes: Votos no ponderados
279
+ weight: Peso
280
+ weighted_votes: Votos ponderados
281
+ results_type_info:
282
+ by_type_and_weight_html: <p>Los resultados que se muestran a continuación se desglosan por tipo de membresía y se ponderan según las ponderaciones de membresía definidas en la configuración de Governanza Societaria.</p> <p> Cada opción de respuesta muestra la cantidad de votos que recibió de cada tipo de membresía, pero no se aplican ponderaciones en esta vista.</p> <p>Por ejemplo, si la opción A recibió 2 votos de miembros con ponderación "3.0" y 1 voto de un miembro con ponderación "1.0", los resultados mostrarán 2 votos de miembros con ponderación "3.0" y 1 voto de miembros con ponderación "1.0". </p> <p>⚠️ Estos resultados no se muestran al público.</p>
283
+ normal_count_html: "<p>Estos resultados se calculan contando cada voto por igual, independientemente del peso de la membresía del participante que lo emitió.</p> <p>⚠️ Estos resultados no se muestran al público.</p>"
284
+ sum_of_weights_html: <p>Los resultados que se muestran a continuación se ponderan según la ponderación de los miembros definida en la configuración de Governanza Societária.</p> <p>Cada voto se multiplica por la ponderación del miembro que lo emitió.</p> <p>Por ejemplo, si un miembro con una ponderación de 3.0 vota por la opción A y un miembro con una ponderación de 1.0 vota por la opción B, los resultados mostrarán 3 votos para la opción A y 1 voto para la opción B.</p> <p><strong>Estos son los resultados que se muestran al público.</strong></p>
285
+ title: '¿Cómo interpretar estos resultados?'
286
+ totals_html: "<p>Los resultados que se muestran a continuación muestran los totales de cada pregunta, sumando todos los votos recibidos por cada opción de respuesta aplicando los pesos de membresía y no aplicándolos.</p> <p>Además, puede ver el número de participantes y cuántos votos delegados se emitieron para cada opción.</p> <p>⚠️ Estos resultados no se muestran al público.</p>"
287
+ delegation_buttons:
288
+ delegations_active: Tienes votos delegados.
289
+ per_question_delegations: 'Puedes votar en nombre de los siguientes participantes en esta elección:'
290
+ vote_for: Votar en nombre de %{name}
291
+ votes:
292
+ delegated_voting: Estás votando en nombre de %{name}
293
+ edit_vote_for: Editar voto para %{name}
294
+ self_voting: Estás votándote a ti mismo (%{name}).
295
+ waiting_for: Estás votando en nombre de %{name}
318
296
  import_mailer:
319
297
  import:
320
298
  errors_present: Se han producido errores durante la importación
321
299
  errors_title: "<b>Se han encontrado:</b> %{errors_count} errores"
322
300
  greeting: Hola %{name},
323
301
  info_messages: Motivo de omisión
324
- instructions: |
325
- <p>Se adjunta un archivo con detalles de importación, contiene filas que no fueron importadas.</p>
326
- <p>Si desea continuar con la importación, corrija las filas especificadas, elimine la última columna del archivo, guarde el archivo e importar de nuevo.</p>
302
+ instructions: "<p>Se adjunta un archivo con detalles de importación, contiene filas que no fueron importadas.</p>\n<p>Si desea continuar con la importación, corrija las filas especificadas, elimine la última columna del archivo, guarde el archivo e importar de nuevo.</p>"
327
303
  result: "<b>Importado:</b> %{rows_count} filas de %{total_rows_count}."
328
304
  row_number: Numero fila
329
305
  skipped_rows: "<b>Omitidas:</b> %{skipped_rows} filas."
@@ -332,11 +308,9 @@ es:
332
308
  text_error: Error
333
309
  invite_participants_mailer:
334
310
  confirmation:
335
- body: Has sido invitado a participar en la consulta. Por favor, haz clic
336
- en el enlace de abajo para confirmar tu participación.
311
+ body: Has sido invitado a participar en la consulta. Por favor, haz clic en el enlace de abajo para confirmar tu participación.
337
312
  confirm: Confirmar la participación
338
- greeting: "¡Hola, %{recipient}!,"
339
- name: Módulo Cooperativas - ActionDelegator para Decidim
313
+ greeting: '¡Hola, %{recipient}!,'
340
314
  participants_csv_importer:
341
315
  import:
342
316
  error: Se ha producido un error en importar las participantes
@@ -347,15 +321,7 @@ es:
347
321
  phone_exists: Ya existe un participante con esta dirección de correo electrónico
348
322
  ponderation_not_found: Tipo de ponderación no encontrado
349
323
  skip_import_info: El participante ya existe %{with_mismatched_fields}
350
- with_mismatched_fields: 'con campos no coincidentes: %{fields}'
351
- questions:
352
- callout_link_text: Revisa el resumen de tu votación aquí
353
- callout_text: Has respondido %{voted} de un total de %{total} preguntas.
354
- modal:
355
- modal_table_header_answer: Has respondido?
356
- modal_table_header_question: Pregunta
357
- modal_votes_title: Tus votos a "%{title}"
358
- question_not_answered: No, ir a la pregunta
324
+ with_mismatched_fields: "con campos no coincidentes: %{fields}"
359
325
  sms_message: Su código de verificación es %{code}
360
326
  user_delegations:
361
327
  index:
@@ -369,66 +335,54 @@ es:
369
335
  delegations_verifier:
370
336
  authorizations:
371
337
  edit:
372
- confirm_destroy: "¿Seguro que quieres restablecer el código de verificación?"
338
+ confirm_destroy: '¿Seguro que quieres restablecer el código de verificación?'
373
339
  destroy: Reiniciar código de verificación
374
- resend: "¿No has recibido el código de verificación?"
340
+ resend: '¿No has recibido el código de verificación?'
375
341
  send: Confirmar
376
342
  title: Introduce el código de verificación que recibiste
377
343
  new:
378
344
  authorize: Autorizar mi cuenta
379
345
  missing_phone_error: Falta el teléfono de miembro
380
- not_in_census: Lo sentimos, pero no puede ser autorizado porque su correo
381
- electrónico no está en el censo. Póngase en contacto con el administrador
382
- si cree que se trata de un error.
383
- participate_in: 'Esta autorización le permite participar en las siguientes
384
- consultas: %{consultations}'
385
- phone_warning: Este número de teléfono ha sido importado por el administrador.
386
- Por favor, contacta si no es correcto.
346
+ no_resources_found: No se han encontrado recursos. Si cree que esto es un error, póngase en contacto con el administrador (es posible que no haya nada activo ahora mismo).
347
+ not_in_census: Lo sentimos, pero no puede ser autorizado porque su correo electrónico no está en el censo. Póngase en contacto con el administrador si cree que se trata de un error.
348
+ participate_in: 'Esta autorización le permite participar en las siguientes consultas: %{consultations}'
349
+ phone_warning: Este número de teléfono ha sido importado por el administrador. Por favor, contacta si no es correcto.
387
350
  send_code: Enviar código de verificación
388
351
  title: Autorizar con el Verificador de Gobernanza Societaria
352
+ not_active: No es posible verificar con Gobernanza Corporativa debido a que actualmente no hay ningún espacio de voto activo.
389
353
  admin:
390
354
  actions:
391
355
  invite: Enviar invitación
392
356
  invite_all: Enviar invitaciones a participantes no registradas
393
357
  resend: Reenviar la invitación
394
- consultations:
395
- results:
396
- default_metadata: "(datos de afiliación no disponibles)"
397
- export: Exportar
398
- export_filename: consultation_results
399
- membership_type: Tipo de miembro
400
- membership_weight: Peso
401
- total_delegates: "%{count} votos delegados"
402
358
  authorization_handlers:
403
359
  admin:
404
360
  delegations_verifier:
405
361
  help:
406
- - Un método de verificación para el voto delegado
362
+ -
363
+ - censo.
407
364
  delegations_verifier:
408
- explanation: Las participantes verificadas con este método pueden delegar
409
- votos a otras participantes
365
+ explanation: Las participantes verificadas con este método pueden delegar votos a otras participantes
410
366
  fields:
411
367
  phone: Número de teléfono
368
+ setting: Setting
369
+ setting_ids: Configuración
412
370
  name: Gobernanza Societaria
413
- resources:
414
- question:
415
- actions:
416
- comment: Comentario
417
- vote: Votar
371
+ elections:
372
+ censuses:
373
+ action_delegator_census:
374
+ authorizer_handler_admin_callout_html: Elija el método de autorización "Gobernanza Societaria" si desea utilizar la lista de participantes del grupo de configuración elegido para validar quién puede votar.<br>También puede utilizar otro método de autorización si su fuente de censo es externa o si no desea utilizar un censo en absoluto (y todos los registrados pueden votar).
375
+ label: Censo Gobernanza Societaria
418
376
  verifications:
419
377
  authorizations:
420
378
  first_login:
421
379
  actions:
422
- delegations_verifier: Get verified with Corporate Governance Census
380
+ delegations_verifier: Verificarse con el Centro de Gobernanza Corporativa
423
381
  devise:
424
382
  mailer:
425
383
  invite_participant:
426
384
  subject: Has sido invitada a participar en una consulta
427
385
  layouts:
428
386
  decidim:
429
- admin:
430
- question:
431
- attachments: Adjuntos
432
- categories: Categorías
433
387
  user_profile:
434
388
  vote_delegations: Delegación de votos
@@ -5,7 +5,7 @@ class CreateSettings < ActiveRecord::Migration[5.2]
5
5
  create_table :decidim_action_delegator_settings do |t|
6
6
  t.datetime :expires_at, null: false
7
7
  t.integer :max_grants, null: false, default: 0, limit: 2 # Maps to PostgreSQL smallint
8
- t.belongs_to :decidim_consultation, null: false, foreign_key: true, index: { name: "index_decidim_settings_on_decidim_consultation_id" }
8
+ t.belongs_to :decidim_consultation, index: false
9
9
 
10
10
  t.timestamps
11
11
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ class AddTitleToActionDelegatorSettings < ActiveRecord::Migration[7.2]
3
+ class Setting < ApplicationRecord
4
+ self.table_name = :decidim_action_delegator_settings
5
+ end
6
+
7
+ def up
8
+ add_column :decidim_action_delegator_settings, :title, :jsonb
9
+ add_column :decidim_action_delegator_settings, :description, :jsonb
10
+ add_column :decidim_action_delegator_settings, :active, :boolean, default: false, null: false
11
+ add_reference :decidim_action_delegator_settings, :decidim_organization, foreign_key: { to_table: :decidim_organizations }
12
+
13
+ if ActiveRecord::Base.connection.table_exists? "decidim_consultations"
14
+ Setting.find_each do |setting|
15
+ consultation = ActiveRecord::Base.connection.execute("SELECT * FROM decidim_consultations WHERE id = #{setting.decidim_consultation_id}").first
16
+ next unless consultation
17
+
18
+ setting.update!(title: JSON.parse(consultation["title"]), decidim_organization_id: consultation["decidim_organization_id"])
19
+ end
20
+ end
21
+
22
+ change_column_null :decidim_action_delegator_settings, :decidim_organization_id, false
23
+ end
24
+
25
+ def down
26
+ remove_column :decidim_action_delegator_settings, :title
27
+ remove_column :decidim_action_delegator_settings, :description
28
+ remove_reference :decidim_action_delegator_settings, :decidim_organization, index: true, foreign_key: { to_table: :decidim_organizations }
29
+ remove_column :decidim_action_delegator_settings, :active
30
+ end
31
+ end