decidim-initiatives 0.30.2 → 0.31.0.rc1

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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +46 -9
  3. data/app/cells/decidim/initiatives/content_blocks/highlighted_initiatives_settings_form/show.erb +7 -2
  4. data/app/cells/decidim/initiatives/initiative_g_cell.rb +5 -1
  5. data/app/commands/decidim/initiatives/admin/publish_initiative.rb +1 -5
  6. data/app/commands/decidim/initiatives/admin/update_initiative.rb +1 -2
  7. data/app/commands/decidim/initiatives/create_initiative.rb +0 -1
  8. data/app/commands/decidim/initiatives/update_initiative.rb +1 -3
  9. data/app/commands/decidim/initiatives/vote_initiative.rb +1 -11
  10. data/app/controllers/concerns/decidim/initiatives/has_signature_workflow.rb +36 -0
  11. data/app/controllers/concerns/decidim/initiatives/needs_initiative.rb +1 -12
  12. data/app/controllers/decidim/initiatives/admin/initiatives_controller.rb +2 -2
  13. data/app/controllers/decidim/initiatives/admin/initiatives_settings_controller.rb +1 -1
  14. data/app/controllers/decidim/initiatives/admin/initiatives_type_scopes_controller.rb +2 -2
  15. data/app/controllers/decidim/initiatives/admin/initiatives_types_controller.rb +2 -2
  16. data/app/controllers/decidim/initiatives/committee_requests_controller.rb +10 -2
  17. data/app/controllers/decidim/initiatives/create_initiative_controller.rb +84 -18
  18. data/app/controllers/decidim/initiatives/initiative_signatures_controller.rb +133 -42
  19. data/app/controllers/decidim/initiatives/initiative_votes_controller.rb +3 -2
  20. data/app/controllers/decidim/initiatives/initiatives_controller.rb +21 -2
  21. data/app/forms/decidim/initiatives/admin/initiative_form.rb +0 -1
  22. data/app/forms/decidim/initiatives/initiative_form.rb +0 -3
  23. data/app/helpers/decidim/initiatives/application_helper.rb +2 -0
  24. data/app/helpers/decidim/initiatives/initiatives_helper.rb +0 -1
  25. data/app/models/decidim/initiative.rb +7 -31
  26. data/app/models/decidim/initiatives_committee_member.rb +1 -1
  27. data/app/models/decidim/initiatives_type.rb +5 -2
  28. data/app/models/decidim/initiatives_vote.rb +2 -2
  29. data/app/packs/entrypoints/decidim_initiatives.js +1 -1
  30. data/app/packs/entrypoints/decidim_initiatives_admin.scss +1 -1
  31. data/app/packs/src/decidim/initiatives/admin/initiatives_types.js +2 -11
  32. data/app/packs/src/decidim/initiatives/admin/invite_users.js +1 -1
  33. data/app/packs/src/decidim/initiatives/application.js +1 -1
  34. data/app/packs/src/decidim/initiatives/check_code.js +114 -0
  35. data/app/packs/src/decidim/initiatives/initiative_creation_wizard.js +16 -0
  36. data/app/packs/src/decidim/initiatives/scoped_type.js +1 -1
  37. data/app/packs/stylesheets/initiatives.scss +16 -2
  38. data/app/permissions/decidim/initiatives/admin/permissions.rb +1 -4
  39. data/app/permissions/decidim/initiatives/permissions.rb +26 -16
  40. data/app/presenters/decidim/initiative_presenter.rb +12 -6
  41. data/app/presenters/decidim/initiatives/admin_log/initiative_presenter.rb +1 -2
  42. data/app/queries/decidim/initiatives/initiatives_stats_followers_count.rb +14 -0
  43. data/app/queries/decidim/initiatives/initiatives_stats_participants_count.rb +14 -0
  44. data/app/serializers/decidim/initiatives/open_data_initiative_serializer.rb +0 -1
  45. data/app/services/decidim/initiatives/data_encryptor.rb +1 -1
  46. data/app/services/decidim/initiatives/legacy_signature_handler.rb +25 -0
  47. data/app/services/decidim/initiatives/progress_notifier.rb +1 -7
  48. data/app/services/decidim/initiatives/signature_handler.rb +248 -0
  49. data/app/services/decidim/initiatives/status_change_notifier.rb +1 -7
  50. data/app/views/decidim/initiatives/admin/committee_requests/index.html.erb +29 -11
  51. data/app/views/decidim/initiatives/admin/exports/_dropdown.html.erb +17 -20
  52. data/app/views/decidim/initiatives/admin/initiatives/_form.html.erb +7 -13
  53. data/app/views/decidim/initiatives/admin/initiatives/_initiative_attachments.erb +2 -2
  54. data/app/views/decidim/initiatives/admin/initiatives/index.html.erb +76 -47
  55. data/app/views/decidim/initiatives/admin/initiatives_types/_form.html.erb +13 -21
  56. data/app/views/decidim/initiatives/admin/initiatives_types/_initiative_type_scopes.html.erb +28 -12
  57. data/app/views/decidim/initiatives/admin/initiatives_types/index.html.erb +33 -15
  58. data/app/views/decidim/initiatives/create_initiative/_committee_member.html.erb +27 -0
  59. data/app/views/decidim/initiatives/create_initiative/_return_to_initiatives_button.html.erb +3 -0
  60. data/app/views/decidim/initiatives/create_initiative/_send_to_technical_validation_button.html.erb +10 -0
  61. data/app/views/decidim/initiatives/create_initiative/_share_committee_link.html.erb +5 -1
  62. data/app/views/decidim/initiatives/create_initiative/fill_data.html.erb +7 -11
  63. data/app/views/decidim/initiatives/create_initiative/finish.html.erb +16 -13
  64. data/app/views/decidim/initiatives/create_initiative/promotal_committee.html.erb +33 -6
  65. data/app/views/decidim/initiatives/create_initiative/select_initiative_type.html.erb +40 -26
  66. data/app/views/decidim/initiatives/initiative_signatures/_sms_code_form.html.erb +22 -0
  67. data/app/views/decidim/initiatives/initiative_signatures/_sms_phone_number_form.html.erb +13 -0
  68. data/app/views/decidim/initiatives/initiative_signatures/fill_personal_data.html.erb +23 -22
  69. data/app/views/decidim/initiatives/initiative_signatures/finish.html.erb +17 -5
  70. data/app/views/decidim/initiatives/initiative_signatures/sms_code.html.erb +6 -8
  71. data/app/views/decidim/initiatives/initiative_signatures/sms_phone_number.html.erb +3 -8
  72. data/app/views/decidim/initiatives/initiative_signatures/update_buttons_and_counters.js.erb +3 -14
  73. data/app/views/decidim/initiatives/initiative_votes/update_buttons_and_counters.js.erb +3 -14
  74. data/app/views/decidim/initiatives/initiatives/_committee_members.html.erb +1 -1
  75. data/app/views/decidim/initiatives/initiatives/_form.html.erb +1 -3
  76. data/app/views/decidim/initiatives/initiatives/_new_initiative_button.html.erb +10 -3
  77. data/app/views/decidim/initiatives/initiatives/_pending_initiatives.html.erb +5 -0
  78. data/app/views/decidim/initiatives/initiatives/index.html.erb +8 -0
  79. data/app/views/decidim/initiatives/initiatives/show.html.erb +2 -2
  80. data/app/views/layouts/decidim/_initiative_signature_creation_header.html.erb +20 -2
  81. data/app/views/layouts/decidim/admin/_manage_initiatives.html.erb +1 -1
  82. data/app/views/layouts/decidim/initiative_signature_creation.html.erb +3 -1
  83. data/config/assets.rb +2 -2
  84. data/config/locales/ar.yml +0 -45
  85. data/config/locales/bg.yml +0 -54
  86. data/config/locales/ca-IT.yml +99 -51
  87. data/config/locales/ca.yml +99 -51
  88. data/config/locales/cs.yml +93 -54
  89. data/config/locales/de.yml +99 -51
  90. data/config/locales/el.yml +0 -45
  91. data/config/locales/en.yml +99 -51
  92. data/config/locales/es-MX.yml +99 -51
  93. data/config/locales/es-PY.yml +99 -51
  94. data/config/locales/es.yml +99 -51
  95. data/config/locales/eu.yml +99 -51
  96. data/config/locales/fi-plain.yml +99 -51
  97. data/config/locales/fi.yml +99 -51
  98. data/config/locales/fr-CA.yml +44 -51
  99. data/config/locales/fr.yml +44 -51
  100. data/config/locales/ga-IE.yml +0 -17
  101. data/config/locales/gl.yml +0 -41
  102. data/config/locales/hu.yml +0 -54
  103. data/config/locales/id-ID.yml +0 -40
  104. data/config/locales/is-IS.yml +0 -22
  105. data/config/locales/it.yml +0 -53
  106. data/config/locales/ja.yml +98 -49
  107. data/config/locales/lb.yml +0 -50
  108. data/config/locales/lt.yml +0 -56
  109. data/config/locales/lv.yml +0 -46
  110. data/config/locales/nl.yml +0 -47
  111. data/config/locales/no.yml +0 -53
  112. data/config/locales/pl.yml +0 -56
  113. data/config/locales/pt-BR.yml +0 -53
  114. data/config/locales/pt.yml +0 -53
  115. data/config/locales/ro-RO.yml +92 -50
  116. data/config/locales/ru.yml +0 -25
  117. data/config/locales/sk.yml +0 -43
  118. data/config/locales/sl.yml +0 -1
  119. data/config/locales/sv.yml +10 -53
  120. data/config/locales/tr-TR.yml +0 -53
  121. data/config/locales/uk.yml +0 -25
  122. data/config/locales/zh-CN.yml +0 -45
  123. data/config/locales/zh-TW.yml +0 -53
  124. data/db/migrate/20250605104500_remove_hashtag_column_initiatives.rb +7 -0
  125. data/lib/decidim/api/initiative_api_type.rb +3 -0
  126. data/lib/decidim/api/initiative_type.rb +23 -4
  127. data/lib/decidim/exporters/initiative_votes_pdf.rb +1 -1
  128. data/lib/decidim/initiatives/default_signature_authorizer.rb +17 -0
  129. data/lib/decidim/initiatives/engine.rb +17 -14
  130. data/lib/decidim/initiatives/participatory_space.rb +15 -1
  131. data/lib/decidim/initiatives/seeds.rb +1 -2
  132. data/lib/decidim/initiatives/signature_workflow_manifest.rb +176 -0
  133. data/lib/decidim/initiatives/signatures.rb +12 -0
  134. data/lib/decidim/initiatives/test/factories.rb +7 -7
  135. data/lib/decidim/initiatives/test/initiatives_signatures_test_helpers.rb +19 -0
  136. data/lib/decidim/initiatives/validatable_authorizations.rb +83 -0
  137. data/lib/decidim/initiatives/version.rb +1 -1
  138. data/lib/decidim/initiatives.rb +23 -12
  139. metadata +33 -21
  140. data/app/events/decidim/initiatives/endorse_initiative_event.rb +0 -13
  141. data/app/forms/decidim/initiatives/vote_form.rb +0 -208
  142. data/app/packs/src/decidim/initiatives/identity_selector_dialog.js +0 -14
  143. data/app/services/decidim/initiatives/pdf_signature_example.rb +0 -110
  144. data/app/views/decidim/initiatives/initiative_signatures/_wizard_steps.html.erb +0 -15
  145. data/app/views/decidim/initiatives/initiatives/_interactions.html.erb +0 -10
  146. data/app/views/layouts/decidim/_initiative_header.html.erb +0 -27
@@ -7,9 +7,7 @@ en:
7
7
  answer_url: Answer URL
8
8
  area_id: Area
9
9
  decidim_scope_id: Scope
10
- decidim_user_group_id: Author
11
10
  description: Description
12
- hashtag: Hashtag
13
11
  offline_votes: In-person signatures
14
12
  offline_votes_for_scope: In-person signatures for %{scope_name}
15
13
  scope_id: Scope
@@ -36,7 +34,7 @@ en:
36
34
  comments_enabled: Enable comments
37
35
  custom_signature_end_date_enabled: Enable authors to choose the end of signature collection period
38
36
  description: Description
39
- document_number_authorization_handler: Authorization to verify document number on signatures
37
+ document_number_authorization_handler: Signature workflow
40
38
  extra_fields_legal_information: Legal information about the collection of personal data
41
39
  minimum_committee_members: Minimum of committee members
42
40
  online_signature_enabled: Online signature enabled
@@ -80,6 +78,7 @@ en:
80
78
  decidim:
81
79
  admin:
82
80
  actions:
81
+ cannot_answer: Cannot answer this initiative
83
82
  new_initiative_type: New initiative type
84
83
  new_initiative_type_scope: New initiative type scope
85
84
  filters:
@@ -90,7 +89,7 @@ en:
90
89
  label: State
91
90
  values:
92
91
  accepted: Enough signatures
93
- created: Created
92
+ created: Drafted
94
93
  discarded: Discarded
95
94
  open: Open
96
95
  rejected: Not enough signatures
@@ -98,7 +97,7 @@ en:
98
97
  type_id_eq:
99
98
  label: Type
100
99
  search_placeholder:
101
- title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Search %{collection} by title, description, ID or author name.
100
+ title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Search %{collection} by title, description, ID or author name
102
101
  initiatives_settings:
103
102
  update:
104
103
  error: There was a problem updating the initiatives settings.
@@ -125,8 +124,12 @@ en:
125
124
  state: Status
126
125
  supports_count: Signatures
127
126
  title: Initiatives
127
+ initiatives_committee_member:
128
+ fields:
129
+ actions: Actions
128
130
  initiatives_type_scope:
129
131
  fields:
132
+ actions: Actions
130
133
  scope: Scope
131
134
  supports_required: Signatures required
132
135
  name: Initiative type scope
@@ -266,6 +269,7 @@ en:
266
269
  success: The initiative has been sent to technical validation.
267
270
  update: Update
268
271
  form:
272
+ attachments_title: Attachments
269
273
  settings: Settings
270
274
  title: General information
271
275
  index:
@@ -320,10 +324,10 @@ en:
320
324
  edit:
321
325
  update: Update
322
326
  form:
323
- authorizations: Authorization settings
324
327
  child_scope_threshold_enabled_help_html: 'This config flag doesn''t support offline votes. It enables sub-scopes and works with an authorization handler that associates a scope to the user. Make sure you select that authorization, below in authorization settings. For it to work, scopes need to be configured in a hierarchical way: 1 Parent - N Child. For more info on how this configuration works, see <a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">initiatives'' admin documentation page</a>.'
325
328
  only_global_scope_enabled_help_html: Tick this flag if you enabled "Child scope signature" and configured the global scope as your parent scope. By enabling this, initiative type selection will be skipped in the initiative creation wizard. For more info on how this configuration works, see this <a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">link</a>.
326
329
  options: Options
330
+ signature_workflow_settings: Signature workflow settings
327
331
  initiative_type_scopes:
328
332
  title: Scopes for the initiative type
329
333
  new:
@@ -346,7 +350,7 @@ en:
346
350
  update: "%{user_name} updated the %{resource_name} initiatives type"
347
351
  admin_states:
348
352
  accepted: Enough signatures
349
- created: Created
353
+ created: Drafted
350
354
  discarded: Discarded
351
355
  open: Open
352
356
  rejected: Not enough signatures
@@ -375,40 +379,55 @@ en:
375
379
  highlighted_initiatives:
376
380
  name: Highlighted initiatives
377
381
  create_initiative:
382
+ committee_member:
383
+ approve: Approve
384
+ confirm_approve: Are you sure you want to approve this member?
385
+ confirm_revoke: Are you sure you want to revoke this member?
386
+ revoke: Revoke
378
387
  fill_data:
379
- back: Back
388
+ confirm_discard: Are you sure you want to discard this initiative?
380
389
  continue: Continue
390
+ discard: Discard initiative
381
391
  fill_data_help: "<ul> <li>Review the content of your initiative. Is your title easy to understand? Is the objective of your initiative clear?</li> <li>You have to choose the type of signature. In-person, online or a combination of both</li> <li>Which is the geographic scope of the initiative?</li> </ul>"
382
- more_information: "(More information)"
392
+ more_information: More information
383
393
  select_area: Select an area
384
394
  select_scope: Select a scope
385
395
  finish:
386
396
  back: Back
387
- back_to_initiatives: Back to initiatives
388
- callout_text: Congratulations! Your initiative has been successfully created.
389
- confirm: You are going to send the initiative for an admin to review it and publish it. Once published you will not be able to edit it. Are you sure?
390
- edit_my_initiative: Edit my initiative
391
- go_to_my_initiatives: Go to my initiatives
392
- more_information: "(More information)"
393
- send_my_initiative: Send my initiative to technical validation
394
- finish_help:
395
- publish_helper_text: Remember that for your initiative to be published you must complete the required information and <strong>send it to technical validation</strong> for an administrator to review it.
397
+ callout_text_created: Congratulations! Your initiative has been successfully created.
398
+ callout_text_validating: Your initiative has been successfully sent to technical validation.
399
+ go_to_initiatives: Go to initiatives
400
+ publish_helper_text_html: Remember that for your initiative to be published it must be technically validated for review by an administrator.
396
401
  previous_form:
397
402
  back: Back
398
- continue: Continue
399
403
  promotal_committee:
400
- individual_help_text: This kind of initiative requires a Promoting Commission consisting of at least %{committee_size} people (attestors). You must share the following link with the other people that are part of this initiative. When your contacts receive this link they will have to follow the indicated steps.
401
- more_information: "(More information)"
404
+ individual_help_text: Your initiative has been created and is saved as a draft. Now you need to add people to the Promoter Committee.
405
+ invite_link_title: Link to invite people
406
+ promoters_committee_help_2: Remember that for your initiative to be published you must complete the required information and send it to technical validation for review by an administrator.
407
+ promoters_committee_help_html: Before sending your initiative for technical validation, you need to add %{committee_members_left} more members to the promoter committee, you have <strong>%{committee_members_count}/%{committee_size}</strong>.
408
+ promoters_committee_title: Promoters Committee
409
+ return_to_initiatives_button:
410
+ return_initiatives_html: Skip for now and <a href="%{initiatives_path}">return to initiatives</a>
402
411
  select_initiative_type:
403
412
  back: Back
404
413
  choose_html: I want to create a <strong>%{title}</strong>
414
+ consult_existing_initiatives: Consult existing initiatives
415
+ continue: Continue
405
416
  more_information: More information
406
417
  new: Create a new initiative
407
418
  select: I want to promote this initiative
408
- select_initiative_type_help: Initiatives are a means by which the participants can intervene so that the organization can undertake actions in defence of the general interest. Which initiative do you want to launch?
419
+ select_initiative_type_help_html: "<p>Initiatives are a means by which the participants can intervene so that the organization can undertake actions in defence of the general interest. Which initiative do you want to launch?</p>"
420
+ show_less: Show less
421
+ show_more: Show more
422
+ subtitle: What initiative do you want to promote?
409
423
  verification_required: Verify your account to promote this initiative
424
+ send_to_technical_validation_button:
425
+ button: Send to technical validation
426
+ confirm: You are going to send the initiative for an admin to review it and publish it. Once published you will not be able to edit it. Are you sure?
410
427
  share_committee_link:
411
- invite_to_committee_help: Link to invite people that will be part of the promoter committee
428
+ invite_to_committee_help: Link to invite people that will be part of the Promotion Commission.
429
+ invite_to_committee_help_2: This type of citizen initiative requires a promoter committee composed of at least %{committee_size} members (certifiers). You must share the following link with the other people who are part of this initiative. When your contacts receive this link, they will have to follow the indicated steps.
430
+ more_information: More information
412
431
  edit:
413
432
  accept: Accept the initiative
414
433
  back: Back
@@ -430,11 +449,6 @@ en:
430
449
  email_outro: You have received this notification because you are following %{author_nickname}. You can stop receiving notifications following the previous link.
431
450
  email_subject: New initiative by %{author_nickname}
432
451
  notification_title: The <a href="%{resource_path}">%{resource_title}</a> initiative was created by <a href="%{author_path}">%{author_name} %{author_nickname}</a>.
433
- endorse_initiative_event:
434
- email_intro: "%{author_name} %{author_nickname}, who you are following, has endorsed the following initiative, maybe you want to contribute to the conversation:"
435
- email_outro: You have received this notification because you are following %{author_nickname}. You can stop receiving notifications following the previous link.
436
- email_subject: Initiative endorsed by %{author_nickname}
437
- notification_title: The <a href="%{resource_path}">%{resource_title}</a> initiative was endorsed by <a href="%{author_path}">%{author_name} %{author_nickname}</a>.
438
452
  revoke_membership_request:
439
453
  email_intro: "%{author_nickname} rejected your application to be part of the promoter committee for the following initiative %{resource_title}."
440
454
  email_outro: 'You received this notification because you applied to this initiative: %{resource_title}.'
@@ -455,24 +469,46 @@ en:
455
469
  index:
456
470
  uninitialized: Initiatives are not yet configured by an administrator.
457
471
  initiative_signatures:
472
+ dummy_signature:
473
+ form:
474
+ fields:
475
+ date_of_birth:
476
+ label: Date of birth
477
+ document_number:
478
+ placeholder: Document number
479
+ document_type:
480
+ prompt: Document type
481
+ document_type_and_number:
482
+ help_text: The document number corresponds to the document used in the census verification.
483
+ label: Document type and number
484
+ gender:
485
+ options:
486
+ man: Man
487
+ non_binary: Non binary
488
+ woman: Woman
458
489
  fill_personal_data:
459
- continue: Continue
490
+ continue: Validate your data
460
491
  help: Please, fill the following fields with your personal data to sign the initiative.
492
+ invalid_authorization: The data provided to proceed with the action is not compatible with your existing authorizations or you have to create a granted authorization.
493
+ invalid_data: Some of the personal data provided to verify your identity is not valid.
461
494
  finish:
462
495
  back_to_initiative: Back to initiative
463
- sms_code:
464
- continue: Check code and continue
465
- help: Check the SMS received at your phone
496
+ title: You have signed the initiative
466
497
  sms_phone_number:
467
- continue: Send me an SMS
468
- help: Fill the form with your verified phone number to request your verification code.
498
+ confirmed_data: You have confirmed your data.
499
+ continue: Sign initiative
500
+ help_enter_your_number: Please enter your phone number. You will then receive an SMS with a validation code.
501
+ receive_code: Receive code
502
+ resend_code_html: Have not received the code? <a href="%{new_code_path}">Try again</a>
503
+ your_code_is_correct: Your code is correct.
504
+ your_code_is_incorrect: The code is not correct. Review it or <a href="%{new_code_path}">try again</a>.
505
+ your_confirmation_code: Your confirmation code
469
506
  initiative_votes:
470
507
  create:
508
+ already_voted: Your signature had already been registered with your data.
471
509
  error: There was a problem signing the initiative.
472
510
  invalid: The data provided to sign the initiative is not valid.
473
511
  success_html: Congratulations! The <strong> %{title}</strong> initiative has been successfully signed.
474
- personal_data:
475
- invalid: Personal data is not consistent with data provided for authorization.
476
512
  sms_code:
477
513
  invalid: Your verification code does not match ours. Please double-check the SMS we sent you.
478
514
  sms_phone:
@@ -508,11 +544,6 @@ en:
508
544
  initiatives:
509
545
  closed_initiatives_warning: Currently, there are no open initiatives, but here you can find all the closed initiatives listed.
510
546
  no_initiatives_warning: No initiatives match your search criteria.
511
- interactions:
512
- comments_count:
513
- count:
514
- one: Comment
515
- other: Comments
516
547
  orders:
517
548
  label: 'Sort initiatives by:'
518
549
  most_commented: Most commented
@@ -520,6 +551,8 @@ en:
520
551
  random: Random
521
552
  recent: Most recent
522
553
  recently_published: Most recently published
554
+ pending_initiatives:
555
+ title: Draft & Pending initiatives
523
556
  print:
524
557
  address: Address
525
558
  author_title: Author of the initiative
@@ -592,11 +625,28 @@ en:
592
625
  show:
593
626
  badge_name:
594
627
  accepted: Enough signatures
595
- created: Created
628
+ created: Drafted
596
629
  discarded: Discarded
597
630
  open: Open
598
631
  rejected: Not enough signatures
599
632
  validating: Technical validation
633
+ signatures:
634
+ workflows:
635
+ dummy_signature_handler:
636
+ description: Signature which takes personal information from user, validates authorization and checks SMS code
637
+ name: Dummy Signature Handler
638
+ dummy_signature_with_personal_data_handler:
639
+ description: Signature which only takes personal information from user and validates it
640
+ name: Dummy Signature Handler With Personal Data
641
+ dummy_signature_with_sms_handler:
642
+ description: Signature which only validates phone number looking for an existing authorization associated and checks SMS code
643
+ name: Dummy Signature Handler With Only SMS
644
+ ephemeral_dummy_signature_handler:
645
+ description: Ephemeral signature which takes personal information from user, validates authorization and checks SMS code
646
+ name: Ephemeral Dummy Signature Handler
647
+ legacy_signature_handler:
648
+ description: Signature handler based on the old signature feature including the collection of personal data, the SMS step and validating the authorization with dummy_authorization_handler. Modify any parameter to adapt to the configuration used
649
+ name: Legacy Signature Handler
600
650
  states:
601
651
  accepted: Accepted
602
652
  expired: Expired
@@ -619,7 +669,6 @@ en:
619
669
  description: The description of the initiative
620
670
  first_progress_notification_at: The date when the first progress notification was sent
621
671
  follows_count: The number of users following this space
622
- hashtag: The initiative hashtag, used for Twitter/X
623
672
  offline_votes: The number of signatures that this inititative received outside of this platform
624
673
  online_votes: The number of signatures that this initiative received online (directly through the platform)
625
674
  published_at: The date this space was published
@@ -643,20 +692,19 @@ en:
643
692
  actions:
644
693
  create: Create an initiative
645
694
  title: Actions
646
- vote: Sign
695
+ statistics:
696
+ initiatives_count: Initiatives
697
+ initiatives_count_tooltip: The number of published citizen initiatives.
647
698
  layouts:
648
699
  decidim:
649
700
  initiative_creation_header:
650
701
  fill_data: Create
651
- finish: Finish
652
- promotal_committee: Promoter committee
702
+ finish: Technical validation
703
+ promotal_committee: Look for promoters
653
704
  select_initiative_type: Choose
654
705
  initiative_signature_creation_header:
655
- fill_personal_data: Complete your data
656
- finish: Finish
657
- sms_code: SMS code verification
658
- sms_phone_number: Mobile phone number
659
- title: Sign %{initiative_title}
706
+ help_information_html: To sign the initiative <strong>%{initiative_title}</strong> promoted by %{initiative_author} you need to provide some information that will make the initiative signing legally binding. No information about you will be made public.
707
+ verify_your_identity: Verify your identity
660
708
  initiatives:
661
709
  no_initiatives_yet:
662
710
  no_initiatives_yet: No initiatives yet!
@@ -7,9 +7,7 @@ es-MX:
7
7
  answer_url: URL de la respuesta
8
8
  area_id: Área
9
9
  decidim_scope_id: Ámbito
10
- decidim_user_group_id: Autor
11
10
  description: Descripción
12
- hashtag: Etiqueta (hashtag)
13
11
  offline_votes: Apoyo cara a cara
14
12
  offline_votes_for_scope: Firmas en persona para %{scope_name}
15
13
  scope_id: Alcance
@@ -36,7 +34,7 @@ es-MX:
36
34
  comments_enabled: Habilitar comentarios
37
35
  custom_signature_end_date_enabled: Permitir a las autoras elegir el final del período de la recogida de firmas
38
36
  description: Descripción
39
- document_number_authorization_handler: Autorización para verificar el número de documento en las votaciones.
37
+ document_number_authorization_handler: Proceso para firmar
40
38
  extra_fields_legal_information: Información legal sobre la recogida de datos personales.
41
39
  minimum_committee_members: Mínimo de miembros del comité.
42
40
  online_signature_enabled: Firma en línea habilitada
@@ -80,6 +78,7 @@ es-MX:
80
78
  decidim:
81
79
  admin:
82
80
  actions:
81
+ cannot_answer: No se puede responder a esta iniciativa
83
82
  new_initiative_type: Nuevo tipo de iniciativa
84
83
  new_initiative_type_scope: Añadir ámbito del tipo de iniciativa
85
84
  filters:
@@ -90,7 +89,7 @@ es-MX:
90
89
  label: Estado
91
90
  values:
92
91
  accepted: Con las firmas necesarias
93
- created: Creada
92
+ created: Borrador creado
94
93
  discarded: Descartada
95
94
  open: Abierta
96
95
  rejected: No ha conseguido las firmas necesarias
@@ -98,7 +97,7 @@ es-MX:
98
97
  type_id_eq:
99
98
  label: Tipo
100
99
  search_placeholder:
101
- title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Buscar %{collection} por título, descripción, ID o autoría.
100
+ title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Buscar %{collection} por título, descripción, ID o autoría
102
101
  initiatives_settings:
103
102
  update:
104
103
  error: Se produjo un problema al actualizar la configuración de las iniciativas.
@@ -125,8 +124,12 @@ es-MX:
125
124
  state: Estado
126
125
  supports_count: Firmas
127
126
  title: Iniciativas
127
+ initiatives_committee_member:
128
+ fields:
129
+ actions: Acciones
128
130
  initiatives_type_scope:
129
131
  fields:
132
+ actions: Acciones
130
133
  scope: Alcance
131
134
  supports_required: Se requieren apoyos
132
135
  name: Alcance del tipo de iniciativa
@@ -266,6 +269,7 @@ es-MX:
266
269
  success: La iniciativa se ha enviado a validación técnica.
267
270
  update: Actualizar
268
271
  form:
272
+ attachments_title: Archivos adjuntos
269
273
  settings: Ajustes
270
274
  title: Información general
271
275
  index:
@@ -320,10 +324,10 @@ es-MX:
320
324
  edit:
321
325
  update: Actualizar
322
326
  form:
323
- authorizations: Ajustes de autorización
324
327
  child_scope_threshold_enabled_help_html: 'Este ajuste de configuración no admite las votaciones sin conexión. Este habilita los subámbitos y funciona con un gestor de autorizaciones que asocia un ámbito al usuario. Asegúrate de seleccionar esa autorización, más abajo en la configuración de autorizaciones. Para que funcione, los ámbitos deben configurarse de forma jerárquica: 1 Padre - N hijos. Para más información sobre cómo funciona esta configuración, <a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">ver la documentación sobre la administración de iniciativas</a>.'
325
328
  only_global_scope_enabled_help_html: Marca esta casilla si habilitaste "Activar firmas por subámbito" y configuraste el ámbito global como el ámbito principal. Al habilitar esta casilla, la selección del tipo de iniciativa se omitirá en el asistente de creación de iniciativas. Para más información sobre cómo funciona esta configuración, consulta la<a href="https://docs.decidim.org/en/admin/spaces/initiatives/" target="_blank">documentación sobre la administración de iniciativas</a>.
326
329
  options: Opciones
330
+ signature_workflow_settings: Configuración del proceso para firmar
327
331
  initiative_type_scopes:
328
332
  title: Ámbitos de aplicación para el tipo de iniciativa
329
333
  new:
@@ -346,7 +350,7 @@ es-MX:
346
350
  update: "%{user_name} actualizó el tipo de iniciativa %{resource_name}"
347
351
  admin_states:
348
352
  accepted: Ha conseguido las firmas
349
- created: Creado
353
+ created: Borrador creado
350
354
  discarded: Descartado
351
355
  open: Abierta
352
356
  rejected: No ha conseguido las firmas necesarias
@@ -375,40 +379,55 @@ es-MX:
375
379
  highlighted_initiatives:
376
380
  name: Iniciativas destacadas
377
381
  create_initiative:
382
+ committee_member:
383
+ approve: Aprobar
384
+ confirm_approve: '¿Seguro que quieres aprobar a este miembro?'
385
+ confirm_revoke: '¿Seguro que quieres revocar este miembro?'
386
+ revoke: Revocar
378
387
  fill_data:
379
- back: Volver
388
+ confirm_discard: '¿Seguro que quieres descartar esta iniciativa?'
380
389
  continue: Continuar
390
+ discard: Descartar la iniciativa
381
391
  fill_data_help: "<ul> <li>Revisa el contenido de tu iniciativa. ¿Tu título es fácil de entender? ¿Está claro el objetivo de tu iniciativa?</li> <li>Tienes que elegir el tipo de firma. En persona, en línea o una combinación de ambos</li> <li>¿Cuál es el alcance geográfico de la iniciativa?</li> </ul>"
382
- more_information: "(Más información)"
392
+ more_information: Más información
383
393
  select_area: Selecciona una área
384
394
  select_scope: Seleccione un alcance
385
395
  finish:
386
396
  back: Volver
387
- back_to_initiatives: Volver a iniciativas
388
- callout_text: '¡Enhorabuena! Tu iniciativa se ha creado correctamente.'
389
- confirm: Vas a enviar la iniciativa para que una administrador ala revise y publique. Una vez publicada no podrás editarla. ¿Estás segura?
390
- edit_my_initiative: Editar mi iniciativa
391
- go_to_my_initiatives: Ir a mis iniciativas
392
- more_information: "(Más información)"
393
- send_my_initiative: Enviar mi iniciativa a validación técnica
394
- finish_help:
395
- publish_helper_text: Recuerda que para que tu iniciativa sea publicada debes completar la información requerida y <strong>enviarla a validación técnica</strong> para que una administradora la revise.
397
+ callout_text_created: '¡Enhorabuena! Tu iniciativa se ha creado correctamente.'
398
+ callout_text_validating: La iniciativa se ha enviado correctamente a validación técnica.
399
+ go_to_initiatives: Ir a iniciativas
400
+ publish_helper_text_html: Recuerda que para que tu iniciativa sea publicada esta debe ser enviada a validación técnica para su revisión por una administradora.
396
401
  previous_form:
397
402
  back: Volver
398
- continue: Continuar
399
403
  promotal_committee:
400
- individual_help_text: Este tipo de iniciativa ciudadana requiere un comité promotor compuesto por al menos %{committee_size} miembros (certificadores). Debes compartir el siguiente enlace con las demás personas que forman parte de esta iniciativa. Cuando tus contactos reciban este enlace, tendrán que seguir los pasos que se les indiquen.
401
- more_information: "(Más información)"
404
+ individual_help_text: Tu iniciativa ha sido creada y guardado como borrador. Ahora necesitas añadir gente al Comisión Promotora.
405
+ invite_link_title: Enlace para invitar a gente a formar parte de la Comisión Promotora
406
+ promoters_committee_help_2: Recuerda que para poder publicar tu iniciativa debes completar la información requerida y enviarla a validación técnica para que sea revisada por una administradora.
407
+ promoters_committee_help_html: Antes de enviar tu iniciativa de validación técnica, necesitas añadir a la Comisión Promotora a %{committee_members_left} personas más. Actualmente hay <strong>%{committee_members_count}/%{committee_size}</strong> en la comisión.
408
+ promoters_committee_title: Comisión Promotora
409
+ return_to_initiatives_button:
410
+ return_initiatives_html: Omitir por ahora y <a href="%{initiatives_path}">volver a las iniciativas</a>
402
411
  select_initiative_type:
403
412
  back: Volver
404
413
  choose_html: Quiero crear un <strong>%{title}</strong>
414
+ consult_existing_initiatives: Consultar iniciativas existentes
415
+ continue: Continuar
405
416
  more_information: (Más información)
406
417
  new: Crea una nueva iniciativa
407
418
  select: Quiero promover esta iniciativa.
408
- select_initiative_type_help: Las iniciativas son un medio por el que las participantes pueden intervenir para que la organización emprenda acciones en defensa del interés general. ¿Qué iniciativa quieres lanzar?
419
+ select_initiative_type_help_html: "<p>Las iniciativas ciudadanas son un medio a través del cual las participantes pueden solicitar que la organización, dentro de sus competencias, adopte medidas en defensa del interés general. ¿Qué iniciativa quieres poner en marcha?</p>"
420
+ show_less: Mostrar menos
421
+ show_more: Mostrar más
422
+ subtitle: '¿Qué tipo de iniciativa quieres promover?'
409
423
  verification_required: Verifica tu cuenta para impulsar la iniciativa
424
+ send_to_technical_validation_button:
425
+ button: Enviar a validación técnica
426
+ confirm: Vas a enviar la iniciativa para que una administradora la revise y publique si procede. Una vez publicada no podrás editarla. ¿Estás segura?
410
427
  share_committee_link:
411
- invite_to_committee_help: Enlace para invitar a personas que formarán parte del Comisión Promotora.
428
+ invite_to_committee_help: Enlace para invitar a otras personas para que formen parte de la Comisión Promotora.
429
+ invite_to_committee_help_2: Este tipo de iniciativa ciudadana requiere una Comisión Promotora formada por al menos %{committee_size} personas. Comparte el siguiente enlace con otras personas para que formen parte de la comisión. Cuando estas personas reciban este enlace, tendrán que seguir los pasos indicados.
430
+ more_information: Más información
412
431
  edit:
413
432
  accept: Aceptar la iniciativa
414
433
  back: Volver
@@ -430,11 +449,6 @@ es-MX:
430
449
  email_outro: Recibiste esta notificación porque estás siguiendo %{author_nickname}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
431
450
  email_subject: Nueva iniciativa por %{author_nickname}
432
451
  notification_title: La iniciativa <a href="%{resource_path}">%{resource_title}</a> fue creada por <a href="%{author_path}">%{author_name} %{author_nickname}</a>.
433
- endorse_initiative_event:
434
- email_intro: "%{author_name} %{author_nickname}, a quien sigues, ha respaldado la siguiente iniciativa, tal vez quieras contribuir a la conversación:"
435
- email_outro: Recibiste esta notificación porque estás siguiendo %{author_nickname}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
436
- email_subject: Iniciativa respaldada por %{author_nickname}
437
- notification_title: La iniciativa <a href="%{resource_path}">%{resource_title}</a> fue respaldada por <a href="%{author_path}">%{author_name} %{author_nickname}</a>.
438
452
  revoke_membership_request:
439
453
  email_intro: "%{author_nickname} rechazó tu solicitud para formar parte del comité promotor de la siguiente iniciativa %{resource_title}."
440
454
  email_outro: 'Has recibido esta notificación porque has solicitado unirte a esta iniciativa: %{resource_title}.'
@@ -455,24 +469,46 @@ es-MX:
455
469
  index:
456
470
  uninitialized: Las iniciativas aún no están configuradas desde la administración.
457
471
  initiative_signatures:
472
+ dummy_signature:
473
+ form:
474
+ fields:
475
+ date_of_birth:
476
+ label: Fecha de nacimiento
477
+ document_number:
478
+ placeholder: Número de documento
479
+ document_type:
480
+ prompt: Tipo de documento
481
+ document_type_and_number:
482
+ help_text: El número de documento corresponde al documento utilizado en la verificación del censo.
483
+ label: Tipo y número del documento
484
+ gender:
485
+ options:
486
+ man: Hombre
487
+ non_binary: No binario
488
+ woman: Mujer
458
489
  fill_personal_data:
459
- continue: Continuar
490
+ continue: Validar tus datos
460
491
  help: Por favor, rellena los siguientes campos con tus datos personales para firmar la iniciativa.
492
+ invalid_authorization: Los datos proporcionados para proceder con la acción no son compatibles con tus autorizaciones existentes o debes obtener una nueva autorización.
493
+ invalid_data: Alguno de los datos personales proporcionados para verificar tu identidad no son válidos.
461
494
  finish:
462
495
  back_to_initiative: Volver a la iniciativa
463
- sms_code:
464
- continue: Revisa el código y continúa
465
- help: Consulta los SMS recibidos en tu teléfono.
496
+ title: Has firmado la iniciativa
466
497
  sms_phone_number:
467
- continue: Mandame un SMS
468
- help: Rellena el formulario con tu número de teléfono verificado para solicitar tu código de verificación.
498
+ confirmed_data: Has confirmado tus datos.
499
+ continue: Firmar la iniciativa
500
+ help_enter_your_number: Por favor, introduce tu número de teléfono. Recibirás un SMS con un código de validación.
501
+ receive_code: Recibir código
502
+ resend_code_html: '¿No has recibido el código? <a href="%{new_code_path}">Inténtalo de nuevo</a>'
503
+ your_code_is_correct: Tu código es correcto.
504
+ your_code_is_incorrect: El código no es correcto. Revísalo o <a href="%{new_code_path}">inténtalo de nuevo</a>.
505
+ your_confirmation_code: Tu código de confirmación
469
506
  initiative_votes:
470
507
  create:
508
+ already_voted: Tu firma ya ha sido registrada con tus datos.
471
509
  error: Ha habido errores al firmar la iniciativa.
472
510
  invalid: Los datos proporcionados para firmar la iniciativa no son válidos.
473
511
  success_html: '¡Enhorabuena! Has firmado la iniciativa <strong> %{title}</strong> correctamente.'
474
- personal_data:
475
- invalid: Los datos personales no son consistentes con los datos proporcionados para la autorización.
476
512
  sms_code:
477
513
  invalid: El código de verificación no coincide con el nuestro. Por favor, vuelve a revisar el SMS que te enviamos.
478
514
  sms_phone:
@@ -508,11 +544,6 @@ es-MX:
508
544
  initiatives:
509
545
  closed_initiatives_warning: Actualmente no hay iniciativas abiertas, pero aquí puedes encontrar todas las iniciativas cerradas listadas.
510
546
  no_initiatives_warning: Ninguna iniciativa coincide con los criterios de búsqueda.
511
- interactions:
512
- comments_count:
513
- count:
514
- one: Comentario
515
- other: Comentarios
516
547
  orders:
517
548
  label: 'Clasificar las iniciativas por:'
518
549
  most_commented: Más comentado
@@ -520,6 +551,8 @@ es-MX:
520
551
  random: Aleatorio
521
552
  recent: Más reciente
522
553
  recently_published: Publicada más recientemente
554
+ pending_initiatives:
555
+ title: Borradores e iniciativas pendientes
523
556
  print:
524
557
  address: Dirección
525
558
  author_title: Autora de la iniciativa
@@ -592,11 +625,28 @@ es-MX:
592
625
  show:
593
626
  badge_name:
594
627
  accepted: Con las firmas necesarias
595
- created: Creada
628
+ created: Borrador creado
596
629
  discarded: Descartada
597
630
  open: Abiertas
598
631
  rejected: No ha conseguido las firmas
599
632
  validating: Validación técnica
633
+ signatures:
634
+ workflows:
635
+ dummy_signature_handler:
636
+ description: La firma recoge la información personal de la usuaria, valida la autorización y comprueba el código SMS
637
+ name: Gestor de firmas simulado
638
+ dummy_signature_with_personal_data_handler:
639
+ description: La firma solo recoge información personal de la usuaria y la valida
640
+ name: Gestor simulado de firma con datos personales
641
+ dummy_signature_with_sms_handler:
642
+ description: La firma solo revisa el número de teléfono validándolo con una autorización existente y revisa el código SMS
643
+ name: Gestor simulado de firma solo son SMS
644
+ ephemeral_dummy_signature_handler:
645
+ description: Firma efímera que recoge la información personal de la usuaria, valida la autorización y comprueba el código SMS
646
+ name: Gestor simulado de firma efímera
647
+ legacy_signature_handler:
648
+ description: Gestor de firmas basado en las características antiguas de firma, incluyendo datos personales, el paso de SMS y la validación de la autorización con dummy_authorization_handler. Modifica cualquier parámetro para adaptarlo a la configuración definida
649
+ name: Gestor heredado de firmas
600
650
  states:
601
651
  accepted: Aceptado
602
652
  expired: Caducado
@@ -619,7 +669,6 @@ es-MX:
619
669
  description: La descripción de la iniciativa
620
670
  first_progress_notification_at: La fecha en la que se envió la primera notificación de progreso
621
671
  follows_count: El número de usuarias que siguen esta iniciativa
622
- hashtag: La etiqueta que utiliza la iniciativa en Twitter/X
623
672
  offline_votes: El número de firmas que esta iniciativa recogió presencialmente (en papel)
624
673
  online_votes: El número de firmas digitales que recogió esta iniciativa (directamente a través de la plataforma)
625
674
  published_at: La fecha en la que se publicó esta iniciativa
@@ -643,20 +692,19 @@ es-MX:
643
692
  actions:
644
693
  create: Crear una iniciativa
645
694
  title: Comportamiento
646
- vote: Firmar
695
+ statistics:
696
+ initiatives_count: Iniciativas
697
+ initiatives_count_tooltip: El número de iniciativas ciudadanas publicadas.
647
698
  layouts:
648
699
  decidim:
649
700
  initiative_creation_header:
650
701
  fill_data: Crear
651
- finish: Terminar
652
- promotal_committee: Comisión Promotora.
702
+ finish: Validación técnica
703
+ promotal_committee: Buscar promotoras
653
704
  select_initiative_type: Escoger
654
705
  initiative_signature_creation_header:
655
- fill_personal_data: Completa tus datos
656
- finish: Terminar
657
- sms_code: Verificación de código SMS
658
- sms_phone_number: Número de teléfono móvil
659
- title: Signo %{initiative_title}
706
+ help_information_html: Para firmar la iniciativa <strong>%{initiative_title}</strong> promovida por %{initiative_author} es necesario que facilites cierta información para que tu firma sea legalmente vinculante. No se hará público ninguno de tus datos.
707
+ verify_your_identity: Verifica tu identidad
660
708
  initiatives:
661
709
  no_initiatives_yet:
662
710
  no_initiatives_yet: '¡No hay iniciativas todavía!'