decidim-elections 0.23.3 → 0.24.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/app/assets/config/admin/decidim_votings_manifest.css +0 -0
- data/app/assets/config/admin/decidim_votings_manifest.js +4 -0
- data/app/assets/config/decidim_elections_manifest.css +3 -0
- data/app/assets/config/decidim_elections_manifest.js +6 -0
- data/app/assets/config/decidim_votings_manifest.css +3 -0
- data/app/assets/config/decidim_votings_manifest.js +0 -0
- data/app/assets/images/decidim/votings/icon.svg +1 -0
- data/app/assets/javascripts/decidim/elections/admin/pending_action.js.es6 +16 -0
- data/app/assets/javascripts/decidim/elections/admin/vote_statistics.js.es6 +11 -0
- data/app/assets/javascripts/decidim/elections/trustee_zone.js.es6 +54 -0
- data/app/assets/javascripts/decidim/elections/trustee_zone/key_ceremony.js.es6 +126 -0
- data/app/assets/javascripts/decidim/elections/trustee_zone/tally.js.es6 +104 -0
- data/app/assets/javascripts/decidim/elections/vote.js.es6 +107 -160
- data/app/assets/javascripts/decidim/elections/vote_questions.component.js.es6 +129 -0
- data/app/assets/javascripts/decidim/elections/vote_verify.js.es6 +71 -0
- data/app/assets/javascripts/decidim/votings/admin/monitoring_committee_members_form.js.es6 +35 -0
- data/app/assets/javascripts/decidim/votings/admin/polling_officers_form.js.es6 +35 -0
- data/app/assets/javascripts/decidim/votings/admin/polling_officers_picker.js.es6 +35 -0
- data/app/assets/javascripts/decidim/votings/admin/polling_stations_form.js.es6 +5 -0
- data/app/assets/stylesheets/decidim/elections/elections.scss +0 -4
- data/app/assets/stylesheets/decidim/elections/focus/_accordion.scss +36 -0
- data/app/assets/stylesheets/decidim/elections/focus/_evote.scss +58 -0
- data/app/assets/stylesheets/decidim/elections/trustee_zone.scss +24 -0
- data/app/assets/stylesheets/decidim/votings/votings.scss +1 -0
- data/app/assets/stylesheets/decidim/votings/votings/_votings-header.scss +99 -0
- data/app/assets/stylesheets/decidim/votings/votings/_votings-home-banner.scss +11 -0
- data/app/cells/decidim/votings/content_block_cell.rb +17 -0
- data/app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb +30 -0
- data/app/cells/decidim/votings/content_blocks/highlighted_votings_cell.rb +33 -0
- data/app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form/show.erb +3 -0
- data/app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form_cell.rb +19 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/attachments_and_folders_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/description_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/elections_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/metrics_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/stats_cell.rb +15 -0
- data/app/cells/decidim/votings/content_blocks/landing_page/timeline_cell.rb +15 -0
- data/app/cells/decidim/votings/polling_officers/polling_officers_picker/polling_officers.erb +12 -0
- data/app/cells/decidim/votings/polling_officers/polling_officers_picker/show.erb +14 -0
- data/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb +73 -0
- data/app/cells/decidim/votings/voting_cell.rb +19 -0
- data/app/cells/decidim/votings/voting_m/data.erb +21 -0
- data/app/cells/decidim/votings/voting_m/footer.erb +5 -0
- data/app/cells/decidim/votings/voting_m_cell.rb +94 -0
- data/app/commands/decidim/elections/admin/add_user_as_trustee.rb +81 -0
- data/app/commands/decidim/elections/admin/create_election.rb +2 -1
- data/app/commands/decidim/elections/admin/end_vote.rb +63 -0
- data/app/commands/decidim/elections/admin/publish_results.rb +59 -0
- data/app/commands/decidim/elections/admin/remove_trustee_from_participatory_space.rb +37 -0
- data/app/commands/decidim/elections/admin/setup_election.rb +160 -0
- data/app/commands/decidim/elections/admin/start_key_ceremony.rb +63 -0
- data/app/commands/decidim/elections/admin/start_tally.rb +63 -0
- data/app/commands/decidim/elections/admin/start_vote.rb +63 -0
- data/app/commands/decidim/elections/admin/update_action_status.rb +47 -0
- data/app/commands/decidim/elections/admin/update_answer_selection.rb +41 -0
- data/app/commands/decidim/elections/admin/update_trustee_participatory_space.rb +40 -0
- data/app/commands/decidim/elections/trustee_zone/update_election_bulletin_board_status.rb +39 -0
- data/app/commands/decidim/elections/trustee_zone/update_trustee.rb +41 -0
- data/app/commands/decidim/elections/voter/cast_vote.rb +59 -0
- data/app/commands/decidim/elections/voter/update_vote_status.rb +70 -0
- data/app/commands/decidim/votings/admin/create_monitoring_committee_member.rb +99 -0
- data/app/commands/decidim/votings/admin/create_polling_officer.rb +99 -0
- data/app/commands/decidim/votings/admin/create_polling_station.rb +59 -0
- data/app/commands/decidim/votings/admin/create_voting.rb +59 -0
- data/app/commands/decidim/votings/admin/destroy_monitoring_committee_member.rb +51 -0
- data/app/commands/decidim/votings/admin/destroy_polling_officer.rb +52 -0
- data/app/commands/decidim/votings/admin/destroy_polling_station.rb +40 -0
- data/app/commands/decidim/votings/admin/manage_polling_station.rb +64 -0
- data/app/commands/decidim/votings/admin/publish_voting.rb +40 -0
- data/app/commands/decidim/votings/admin/unpublish_voting.rb +40 -0
- data/app/commands/decidim/votings/admin/update_polling_station.rb +50 -0
- data/app/commands/decidim/votings/admin/update_voting.rb +85 -0
- data/app/constraints/decidim/votings/current_component.rb +28 -0
- data/app/constraints/decidim/votings/current_voting.rb +43 -0
- data/app/controllers/concerns/decidim/elections/orderable.rb +2 -2
- data/app/controllers/concerns/decidim/polling_officers/admin/filterable.rb +58 -0
- data/app/controllers/concerns/decidim/polling_stations/admin/filterable.rb +57 -0
- data/app/controllers/concerns/decidim/votings/admin/filterable.rb +27 -0
- data/app/controllers/concerns/decidim/votings/admin/voting_admin.rb +48 -0
- data/app/controllers/concerns/decidim/votings/needs_voting.rb +44 -0
- data/app/controllers/concerns/decidim/votings/orderable.rb +32 -0
- data/app/controllers/decidim/elections/admin/answers_controller.rb +32 -0
- data/app/controllers/decidim/elections/admin/elections_controller.rb +2 -2
- data/app/controllers/decidim/elections/admin/feedback_forms_controller.rb +55 -0
- data/app/controllers/decidim/elections/admin/steps_controller.rb +96 -0
- data/app/controllers/decidim/elections/admin/trustees_participatory_spaces_controller.rb +89 -0
- data/app/controllers/decidim/elections/elections_controller.rb +5 -1
- data/app/controllers/decidim/elections/feedbacks_controller.rb +38 -0
- data/app/controllers/decidim/elections/trustee_zone/application_controller.rb +45 -0
- data/app/controllers/decidim/elections/trustee_zone/elections_controller.rb +35 -0
- data/app/controllers/decidim/elections/trustee_zone/trustees_controller.rb +36 -0
- data/app/controllers/decidim/elections/votes_controller.rb +54 -2
- data/app/controllers/decidim/votings/admin/application_controller.rb +26 -0
- data/app/controllers/decidim/votings/admin/component_permissions_controller.rb +13 -0
- data/app/controllers/decidim/votings/admin/components_controller.rb +15 -0
- data/app/controllers/decidim/votings/admin/monitoring_committee_members_controller.rb +62 -0
- data/app/controllers/decidim/votings/admin/polling_officers_controller.rb +66 -0
- data/app/controllers/decidim/votings/admin/polling_stations_controller.rb +92 -0
- data/app/controllers/decidim/votings/admin/voting_attachment_collections_controller.rb +22 -0
- data/app/controllers/decidim/votings/admin/voting_attachments_controller.rb +21 -0
- data/app/controllers/decidim/votings/admin/votings_controller.rb +124 -0
- data/app/controllers/decidim/votings/admin/votings_landing_page_content_blocks_controller.rb +44 -0
- data/app/controllers/decidim/votings/admin/votings_landing_page_controller.rb +46 -0
- data/app/controllers/decidim/votings/application_controller.rb +26 -0
- data/app/controllers/decidim/votings/polling_officer_zone/application_controller.rb +33 -0
- data/app/controllers/decidim/votings/polling_officer_zone/polling_officers_controller.rb +17 -0
- data/app/controllers/decidim/votings/polling_officer_zone/polling_stations_controller.rb +22 -0
- data/app/controllers/decidim/votings/votings_controller.rb +98 -0
- data/app/events/decidim/elections/trustees/notify_new_trustee_event.rb +28 -0
- data/app/events/decidim/elections/trustees/notify_trustee_new_election_event.rb +14 -0
- data/app/events/decidim/elections/votes/vote_accepted_event.rb +24 -0
- data/app/events/decidim/votings/polling_officers/polling_station_assigned_event.rb +44 -0
- data/app/forms/decidim/elections/admin/action_form.rb +34 -0
- data/app/forms/decidim/elections/admin/answer_form.rb +3 -2
- data/app/forms/decidim/elections/admin/election_form.rb +3 -2
- data/app/forms/decidim/elections/admin/setup_form.rb +79 -0
- data/app/forms/decidim/elections/admin/trustees_participatory_space_form.rb +22 -0
- data/app/forms/decidim/elections/admin/vote_period_form.rb +37 -0
- data/app/forms/decidim/elections/ballot/verify_vote_form.rb +29 -0
- data/app/forms/decidim/elections/trustee_zone/trustee_form.rb +26 -0
- data/app/forms/decidim/elections/voter/encrypted_vote_form.rb +49 -0
- data/app/forms/decidim/votings/admin/monitoring_committee_member_form.rb +27 -0
- data/app/forms/decidim/votings/admin/polling_officer_form.rb +27 -0
- data/app/forms/decidim/votings/admin/polling_station_form.rb +58 -0
- data/app/forms/decidim/votings/admin/voting_form.rb +71 -0
- data/app/helpers/decidim/elections/admin/answers_helper.rb +19 -0
- data/app/helpers/decidim/elections/admin/steps_helper.rb +23 -0
- data/app/helpers/decidim/elections/admin/trustees_participatory_spaces_helper.rb +31 -0
- data/app/helpers/decidim/elections/elections_helper.rb +29 -0
- data/app/helpers/decidim/votings/admin/polling_officers_picker_helper.rb +29 -0
- data/app/helpers/decidim/votings/votings_helper.rb +20 -0
- data/app/models/decidim/elections/action.rb +13 -0
- data/app/models/decidim/elections/election.rb +54 -3
- data/app/models/decidim/elections/elections_trustee.rb +11 -0
- data/app/models/decidim/elections/question.rb +19 -0
- data/app/models/decidim/elections/trustee.rb +26 -0
- data/app/models/decidim/elections/trustees_participatory_space.rb +13 -0
- data/app/models/decidim/elections/vote.rb +15 -0
- data/app/models/decidim/votings/monitoring_committee_member.rb +24 -0
- data/app/models/decidim/votings/polling_officer.rb +76 -0
- data/app/models/decidim/votings/polling_station.rb +64 -0
- data/app/models/decidim/votings/voting.rb +138 -0
- data/app/permissions/decidim/elections/admin/permissions.rb +50 -10
- data/app/permissions/decidim/elections/permissions.rb +20 -2
- data/app/permissions/decidim/elections/trustee_zone/permissions.rb +32 -0
- data/app/permissions/decidim/votings/admin/permissions.rb +127 -0
- data/app/permissions/decidim/votings/permissions.rb +40 -0
- data/app/permissions/decidim/votings/polling_officer_zone/permissions.rb +32 -0
- data/app/presenters/decidim/elections/admin_log/election_presenter.rb +1 -1
- data/app/presenters/decidim/elections/trustee_presenter.rb +24 -0
- data/app/presenters/decidim/votings/admin_log/voting_presenter.rb +45 -0
- data/app/presenters/decidim/votings/polling_station_presenter.rb +27 -0
- data/app/presenters/decidim/votings/voting_presenter.rb +36 -0
- data/app/queries/decidim/elections/admin/pending_actions.rb +20 -0
- data/app/queries/decidim/elections/admin/votes_for_statistics.rb +24 -0
- data/app/queries/decidim/elections/elections_finished_to_end.rb +19 -0
- data/app/queries/decidim/elections/elections_ready_to_start.rb +25 -0
- data/app/queries/decidim/elections/trustees/by_participatory_space.rb +24 -0
- data/app/queries/decidim/elections/trustees/by_participatory_space_trustee_ids.rb +24 -0
- data/app/queries/decidim/elections/votes/election_votes.rb +19 -0
- data/app/queries/decidim/elections/votes/pending_votes.rb +20 -0
- data/app/queries/decidim/elections/votes/user_election_last_vote.rb +26 -0
- data/app/queries/decidim/elections/votes/user_votes.rb +19 -0
- data/app/queries/decidim/votings/admin/admin_users.rb +39 -0
- data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations.rb +33 -0
- data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations_and_user.rb +34 -0
- data/app/queries/decidim/votings/admin/polling_officers_join_user.rb +32 -0
- data/app/queries/decidim/votings/organization_prioritized_votings.rb +21 -0
- data/app/queries/decidim/votings/organization_promoted_votings.rb +16 -0
- data/app/queries/decidim/votings/organization_published_votings.rb +19 -0
- data/app/queries/decidim/votings/organization_votings.rb +16 -0
- data/app/queries/decidim/votings/prioritized_votings.rb +13 -0
- data/app/queries/decidim/votings/published_votings.rb +12 -0
- data/app/services/decidim/votings/voting_search.rb +46 -0
- data/app/views/decidim/elections/admin/answers/index.html.erb +12 -0
- data/app/views/decidim/elections/admin/elections/index.html.erb +13 -1
- data/app/views/decidim/elections/admin/proposals_imports/new.html.erb +1 -1
- data/app/views/decidim/elections/admin/questions/index.html.erb +5 -1
- data/app/views/decidim/elections/admin/shared/_trustees_secondary_nav.html.erb +3 -0
- data/app/views/decidim/elections/admin/steps/_create_election.html.erb +38 -0
- data/app/views/decidim/elections/admin/steps/_created.html.erb +16 -0
- data/app/views/decidim/elections/admin/steps/_key_ceremony.html.erb +16 -0
- data/app/views/decidim/elections/admin/steps/_key_ceremony_ended.html.erb +15 -0
- data/app/views/decidim/elections/admin/steps/_tally.html.erb +17 -0
- data/app/views/decidim/elections/admin/steps/_tally_ended.html.erb +9 -0
- data/app/views/decidim/elections/admin/steps/_vote.html.erb +21 -0
- data/app/views/decidim/elections/admin/steps/_vote_ended.html.erb +15 -0
- data/app/views/decidim/elections/admin/steps/_vote_stats.html.erb +31 -0
- data/app/views/decidim/elections/admin/steps/index.html.erb +43 -0
- data/app/views/decidim/elections/admin/trustees_participatory_spaces/_form.html.erb +19 -0
- data/app/views/decidim/elections/admin/trustees_participatory_spaces/index.html.erb +64 -0
- data/app/views/decidim/elections/admin/trustees_participatory_spaces/new.html.erb +7 -0
- data/app/views/decidim/elections/elections/_filters_small_view.html.erb +1 -1
- data/app/views/decidim/elections/elections/_preview.html.erb +26 -0
- data/app/views/decidim/elections/elections/_results.html.erb +47 -0
- data/app/views/decidim/elections/elections/show.html.erb +43 -18
- data/app/views/decidim/elections/trustee_zone/elections/_backup_modal.html.erb +24 -0
- data/app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb +44 -0
- data/app/views/decidim/elections/trustee_zone/elections/_restore_modal.html.erb +25 -0
- data/app/views/decidim/elections/trustee_zone/elections/_tally_steps.html.erb +43 -0
- data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +38 -0
- data/app/views/decidim/elections/trustee_zone/elections/update.js.erb +5 -0
- data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +102 -0
- data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +38 -17
- data/app/views/decidim/elections/votes/_election_votes_failed.html.erb +21 -0
- data/app/views/decidim/elections/votes/_election_votes_question.html.erb +4 -4
- data/app/views/decidim/elections/votes/cast_failed.js.erb +1 -0
- data/app/views/decidim/elections/votes/cast_success.js.erb +1 -0
- data/app/views/decidim/elections/votes/new.html.erb +41 -33
- data/app/views/decidim/elections/votes/verify.html.erb +78 -0
- data/app/views/decidim/votings/admin/monitoring_committee_members/_form.html.erb +27 -0
- data/app/views/decidim/votings/admin/monitoring_committee_members/index.html.erb +41 -0
- data/app/views/decidim/votings/admin/monitoring_committee_members/new.html.erb +7 -0
- data/app/views/decidim/votings/admin/polling_officers/_form.html.erb +27 -0
- data/app/views/decidim/votings/admin/polling_officers/index.html.erb +50 -0
- data/app/views/decidim/votings/admin/polling_officers/new.html.erb +7 -0
- data/app/views/decidim/votings/admin/polling_stations/_form.html.erb +40 -0
- data/app/views/decidim/votings/admin/polling_stations/edit.html.erb +7 -0
- data/app/views/decidim/votings/admin/polling_stations/index.html.erb +55 -0
- data/app/views/decidim/votings/admin/polling_stations/new.html.erb +7 -0
- data/app/views/decidim/votings/admin/votings/_form.html.erb +63 -0
- data/app/views/decidim/votings/admin/votings/edit.html.erb +31 -0
- data/app/views/decidim/votings/admin/votings/index.html.erb +87 -0
- data/app/views/decidim/votings/admin/votings/new.html.erb +13 -0
- data/app/views/decidim/votings/admin/votings/polling_officers_picker.html.erb +2 -0
- data/app/views/decidim/votings/polling_officer_zone/polling_officers/show.html.erb +42 -0
- data/app/views/decidim/votings/polling_officer_zone/polling_stations/show.html.erb +1 -0
- data/app/views/decidim/votings/votings/_count.html.erb +1 -0
- data/app/views/decidim/votings/votings/_filters.html.erb +25 -0
- data/app/views/decidim/votings/votings/_filters_small_view.html.erb +23 -0
- data/app/views/decidim/votings/votings/_promoted_voting.html.erb +27 -0
- data/app/views/decidim/votings/votings/_voting_details.html.erb +7 -0
- data/app/views/decidim/votings/votings/_votings.html.erb +25 -0
- data/app/views/decidim/votings/votings/index.html.erb +42 -0
- data/app/views/decidim/votings/votings/index.js.erb +10 -0
- data/app/views/decidim/votings/votings/show.html.erb +20 -0
- data/app/views/layouts/decidim/_voting_header.html.erb +16 -0
- data/app/views/layouts/decidim/admin/voting.html.erb +101 -0
- data/app/views/layouts/decidim/voting.html.erb +16 -0
- data/config/initializers/decidim_bulletin_board.rb +23 -0
- data/config/locales/ca.yml +636 -6
- data/config/locales/cs.yml +645 -7
- data/config/locales/de.yml +636 -6
- data/config/locales/el.yml +4 -2
- data/config/locales/en.yml +636 -6
- data/config/locales/es-MX.yml +637 -7
- data/config/locales/es-PY.yml +637 -7
- data/config/locales/es.yml +637 -7
- data/config/locales/fi-plain.yml +637 -7
- data/config/locales/fi.yml +638 -8
- data/config/locales/fr-CA.yml +423 -6
- data/config/locales/fr.yml +423 -6
- data/config/locales/gl.yml +85 -5
- data/config/locales/it.yml +98 -6
- data/config/locales/ja.yml +12 -6
- data/config/locales/lv.yml +4 -2
- data/config/locales/nl.yml +503 -6
- data/config/locales/no.yml +2 -5
- data/config/locales/pl.yml +655 -10
- data/config/locales/pt.yml +4 -6
- data/config/locales/ro-RO.yml +214 -6
- data/config/locales/sv.yml +258 -7
- data/config/locales/tr-TR.yml +111 -6
- data/config/locales/zh-CN.yml +4 -6
- data/db/migrate/20200915142713_add_questionnaire_to_existing_elections.rb +29 -0
- data/db/migrate/20200918153813_create_decidim_elections_trustees_participatory_spaces.rb +13 -0
- data/db/migrate/20200918153824_create_decidim_elections_elections_trustees.rb +10 -0
- data/db/migrate/20200918153835_create_decidim_elections_trustees.rb +12 -0
- data/db/migrate/20201026163334_add_blocked_at_and_bb_status_to_elections.rb +8 -0
- data/db/migrate/20201028090110_add_votes_to_decidim_elections_answers.rb +7 -0
- data/db/migrate/20201028135614_add_selected_to_decidim_elections_answers.rb +7 -0
- data/db/migrate/20201209110653_create_decidim_elections_votes.rb +14 -0
- data/db/migrate/20201216091123_add_name_to_trustees.rb +7 -0
- data/db/migrate/20210113113818_add_message_id_to_decidim_elections_votes.rb +7 -0
- data/db/migrate/20210113120115_create_decidim_elections_votings.rb +20 -0
- data/db/migrate/20210114100749_add_published_at_to_decidim_votings_votings.rb +7 -0
- data/db/migrate/20210114111850_add_user_to_decidim_elections_votes.rb +7 -0
- data/db/migrate/20210120164634_add_promoted_to_voting.rb +7 -0
- data/db/migrate/20210125124801_add_voting_type_to_voting_voting.rb +7 -0
- data/db/migrate/20210129124956_create_decidim_elections_actions.rb +14 -0
- data/db/migrate/20210204132111_add_votings_polling_stations.rb +19 -0
- data/db/migrate/20210208090441_add_polling_officers_to_votings.rb +12 -0
- data/db/migrate/20210210090738_add_votings_polling_station_references_to_votings_polling_officer.rb +8 -0
- data/db/migrate/20210216074707_add_monitoring_committee_member.rb +12 -0
- data/db/migrate/20210310120708_add_followable_counter_cache_to_votings.rb +16 -0
- data/db/seeds/city.jpeg +0 -0
- data/lib/decidim/api/election_answer_type.rb +23 -0
- data/lib/decidim/api/election_question_type.rb +22 -0
- data/lib/decidim/api/election_type.rb +27 -0
- data/lib/decidim/api/elections_type.rb +32 -0
- data/lib/decidim/api/trustee_type.rb +16 -0
- data/lib/decidim/api/voting_type.rb +20 -0
- data/lib/decidim/elections.rb +19 -2
- data/lib/decidim/elections/admin_engine.rb +42 -1
- data/lib/decidim/elections/answer_serializer.rb +48 -0
- data/lib/decidim/elections/api.rb +11 -0
- data/lib/decidim/elections/component.rb +367 -24
- data/lib/decidim/elections/engine.rb +8 -1
- data/lib/decidim/elections/test/factories.rb +201 -4
- data/lib/decidim/elections/trustee_zone.rb +10 -0
- data/lib/decidim/elections/trustee_zone_engine.rb +35 -0
- data/lib/decidim/elections/version.rb +1 -1
- data/lib/decidim/votings.rb +16 -0
- data/lib/decidim/votings/admin.rb +10 -0
- data/lib/decidim/votings/admin_engine.rb +71 -0
- data/lib/decidim/votings/api.rb +7 -0
- data/lib/decidim/votings/engine.rb +147 -0
- data/lib/decidim/votings/participatory_space.rb +92 -0
- data/lib/decidim/votings/polling_officer_zone.rb +10 -0
- data/lib/decidim/votings/polling_officer_zone_engine.rb +33 -0
- data/lib/decidim/votings/query_extensions.rb +43 -0
- data/lib/decidim/votings/test/capybara_polling_officers_picker.rb +49 -0
- data/lib/decidim/votings/test/factories.rb +83 -0
- data/lib/decidim/votings/voting_serializer.rb +54 -0
- data/lib/tasks/decidim_elections.rake +68 -5
- metadata +303 -19
- data/app/types/decidim/elections/election_answer_type.rb +0 -24
- data/app/types/decidim/elections/election_question_type.rb +0 -25
- data/app/types/decidim/elections/election_type.rb +0 -27
- data/app/types/decidim/elections/elections_type.rb +0 -32
- data/config/i18n-tasks.yml +0 -10
- data/lib/decidim/elections/bulletin_board_client.rb +0 -35
@@ -0,0 +1,7 @@
|
|
1
|
+
<div class="row section" id="voting-details">
|
2
|
+
<div class="columns medium-6 large-5 large-push-1">
|
3
|
+
<p class="lead"><%= decidim_sanitize translated_attribute(voting.description), strip_tags: true %></p>
|
4
|
+
</div>
|
5
|
+
<div class="columns medium-6 large-5 large-pull-1">
|
6
|
+
</div>
|
7
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="collection-sort-controls row small-up-1 medium-up-3 card-grid">
|
2
|
+
<div class="column">
|
3
|
+
<%= order_selector available_orders, i18n_scope: "decidim.votings.votings.orders" %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="column">
|
7
|
+
<%= render partial: "decidim/shared/results_per_page" %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<% if paginated_votings.empty? %>
|
12
|
+
<%= cell("decidim/announcement", t(:no_votings, scope: "decidim.votings.votings.index")) %>
|
13
|
+
<% else %>
|
14
|
+
<% if only_finished_votings? %>
|
15
|
+
<%= cell("decidim/announcement", t(:only_finished, scope: "decidim.votings.votings.index"), callout_class: "warning") %>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<div class="row small-up-1 medium-up-2 card-grid">
|
19
|
+
<% paginated_votings.each do |voting| %>
|
20
|
+
<%= card_for voting %>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<%= decidim_paginate paginated_votings %>
|
25
|
+
<% end %>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<% add_decidim_meta_tags(title: t("votings.index.title", scope: "decidim.votings")) %>
|
2
|
+
|
3
|
+
<%
|
4
|
+
edit_link(
|
5
|
+
decidim_admin_votings.votings_path,
|
6
|
+
:read,
|
7
|
+
:voting
|
8
|
+
)
|
9
|
+
%>
|
10
|
+
|
11
|
+
<%= participatory_space_wrapper do %>
|
12
|
+
<% if promoted_votings.any? %>
|
13
|
+
<section id="highlighted-votings" class="row section">
|
14
|
+
<h1 class="section-heading"><%= t("votings.index.promoted_votings", scope: "layouts.decidim") %></h1>
|
15
|
+
<%= render partial: "promoted_voting", collection: promoted_votings, as: :promoted_voting %>
|
16
|
+
</section>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<div class="row columns">
|
20
|
+
<div class="title-action">
|
21
|
+
<div class="row collapse">
|
22
|
+
<h1 id="votings-count" class="title-action__title section-heading">
|
23
|
+
<%= render partial: "count", locals: { count: published_votings.count } %>
|
24
|
+
</h1>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="row">
|
30
|
+
<div class="columns mediumlarge-4 large-3">
|
31
|
+
<%= render partial: "filters_small_view" %>
|
32
|
+
<div class="card card--secondary show-for-mediumlarge">
|
33
|
+
<%= render partial: "filters" %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
<div id="votings" class="columns mediumlarge-8 large-9">
|
37
|
+
<%= render partial: "votings" %>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
<% end %>
|
41
|
+
|
42
|
+
<%= javascript_include_tag "decidim/filters" %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
var $votings = $('#votings');
|
2
|
+
var $votingsCount = $('#votings-count');
|
3
|
+
var $orderFilterInput = $('.order_filter');
|
4
|
+
|
5
|
+
$votings.html('<%= j(render partial: "votings") %>');
|
6
|
+
$votingsCount.html('<%= j(render partial: "count", locals: { count: paginated_votings.count }) %>');
|
7
|
+
$orderFilterInput.val('<%= order %>');
|
8
|
+
|
9
|
+
var $dropdownMenu = $('.dropdown.menu', $votings);
|
10
|
+
$dropdownMenu.foundation();
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%
|
2
|
+
edit_link(
|
3
|
+
resource_locator(current_voting).edit,
|
4
|
+
:update,
|
5
|
+
:voting,
|
6
|
+
voting: current_voting
|
7
|
+
)
|
8
|
+
%>
|
9
|
+
|
10
|
+
<div class="wrapper">
|
11
|
+
<div class="row column">
|
12
|
+
<% Decidim::ContentBlock.published.for_scope(:voting_landing_page, organization: current_organization).where(scoped_resource_id: current_voting.id).each do |content_block| %>
|
13
|
+
<% next unless content_block.manifest %>
|
14
|
+
|
15
|
+
<%= cell content_block.manifest.cell, content_block %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<%= render partial: "voting_details", locals: { voting: current_voting } %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= participatory_space_floating_help %>
|
2
|
+
|
3
|
+
<div class="votings-header votings-home-banner row column">
|
4
|
+
<div class="row column votings-header__main"
|
5
|
+
style="background-image:url(<%= current_voting.banner_image.url %>);">
|
6
|
+
<div class="votings-header__container row">
|
7
|
+
<div class="columns mediumlarge-9 votings-header__info">
|
8
|
+
<div>
|
9
|
+
<h1 class="heading2 text-highlight">
|
10
|
+
<%= translated_attribute(current_voting.title) %>
|
11
|
+
</h1>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<% content_for :secondary_nav do %>
|
2
|
+
<div class="secondary-nav secondary-nav--subnav">
|
3
|
+
<ul>
|
4
|
+
<%= public_page_link decidim_votings.voting_path(current_participatory_space) %>
|
5
|
+
<% if allowed_to? :update, :voting, voting: current_participatory_space %>
|
6
|
+
<li <% if is_active_link?(decidim_admin_votings.edit_voting_path(current_participatory_space)) %> class="is-active" <% end %>>
|
7
|
+
<%= aria_selected_link_to t("info", scope: "decidim.votings.admin.menu.votings_submenu"),
|
8
|
+
decidim_admin_votings.edit_voting_path(current_participatory_space) %>
|
9
|
+
</li>
|
10
|
+
|
11
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_landing_page_path(current_participatory_space)) %> class="is-active" <% end %>>
|
12
|
+
<%= aria_selected_link_to t("landing_page", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.edit_voting_landing_page_path(current_participatory_space) %>
|
13
|
+
</li>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<% if allowed_to? :read, :component, voting: current_participatory_space %>
|
17
|
+
<li <% if is_active_link?(decidim_admin_votings.components_path(current_participatory_space)) %> class="is-active" <% end %>>
|
18
|
+
<%= aria_selected_link_to t("components", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.components_path(current_participatory_space) %>
|
19
|
+
<ul>
|
20
|
+
<% current_participatory_space.components.each do |component| %>
|
21
|
+
<% if component.manifest.admin_engine %>
|
22
|
+
<li <% if is_active_link?(manage_component_path(component)) %> class="is-active" <% end %>>
|
23
|
+
<%= link_to manage_component_path(component) do %>
|
24
|
+
<%= translated_attribute component.name %>
|
25
|
+
<% if component.primary_stat.present? %>
|
26
|
+
<span class="component-counter <%= "component-counter--off" if component.primary_stat.zero? %>">
|
27
|
+
<%= component.primary_stat %>
|
28
|
+
</span>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
</li>
|
32
|
+
<% end %>
|
33
|
+
<% end %>
|
34
|
+
</ul>
|
35
|
+
</li>
|
36
|
+
<% end %>
|
37
|
+
|
38
|
+
<% if allowed_to?(:read, :attachment_collection) || allowed_to?(:read, :attachment) %>
|
39
|
+
<li>
|
40
|
+
<span class="secondary-nav__subtitle"><%= t("attachments", scope: "decidim.votings.admin.menu.votings_submenu") %></span>
|
41
|
+
<ul>
|
42
|
+
<% if allowed_to? :read, :attachment_collection %>
|
43
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_attachment_collections_path(current_participatory_space)) %> class="is-active" <% end %>>
|
44
|
+
<%= aria_selected_link_to t("attachment_collections", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.voting_attachment_collections_path(current_participatory_space) %>
|
45
|
+
</li>
|
46
|
+
<% end %>
|
47
|
+
<% if allowed_to? :read, :attachment %>
|
48
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_attachments_path(current_participatory_space)) %> class="is-active" <% end %>>
|
49
|
+
<%= aria_selected_link_to t("attachment_files", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.voting_attachments_path(current_participatory_space) %>
|
50
|
+
</li>
|
51
|
+
<% end %>
|
52
|
+
</ul>
|
53
|
+
</li>
|
54
|
+
<% end %>
|
55
|
+
|
56
|
+
<% if allowed_to?(:read, :polling_stations) %>
|
57
|
+
<% if !current_participatory_space.online_voting? %>
|
58
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_polling_stations_path(current_participatory_space)) %> class="is-active" <% end %>>
|
59
|
+
<%= aria_selected_link_to t("polling_stations", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.voting_polling_stations_path(current_participatory_space) %>
|
60
|
+
</li>
|
61
|
+
<% end %>
|
62
|
+
<% end %>
|
63
|
+
|
64
|
+
<% if allowed_to?(:read, :polling_officers) %>
|
65
|
+
<% if !current_participatory_space.online_voting? %>
|
66
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_polling_officers_path(current_participatory_space)) %> class="is-active" <% end %>>
|
67
|
+
<%= aria_selected_link_to t("polling_officers", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.voting_polling_officers_path(current_participatory_space) %>
|
68
|
+
</li>
|
69
|
+
<% end %>
|
70
|
+
<% end %>
|
71
|
+
|
72
|
+
<% if allowed_to?(:read, :monitoring_committee_members) %>
|
73
|
+
<% if !current_participatory_space.online_voting? %>
|
74
|
+
<li <% if is_active_link?(decidim_admin_votings.voting_monitoring_committee_members_path(current_participatory_space)) %> class="is-active" <% end %>>
|
75
|
+
<%= aria_selected_link_to t("monitoring_committee_members", scope: "decidim.votings.admin.menu.votings_submenu"), decidim_admin_votings.voting_monitoring_committee_members_path(current_participatory_space) %>
|
76
|
+
</li>
|
77
|
+
<% end %>
|
78
|
+
<% end %>
|
79
|
+
|
80
|
+
<%= Decidim::Admin.view_hooks.render(:admin_secondary_nav, deep_dup) %>
|
81
|
+
</ul>
|
82
|
+
</div>
|
83
|
+
<% end %>
|
84
|
+
|
85
|
+
<%= render "layouts/decidim/admin/application" do %>
|
86
|
+
<div class="voting-title">
|
87
|
+
<div class="voting-title-content">
|
88
|
+
<%= link_to translated_attribute(current_participatory_space.title), decidim_votings.voting_path(current_participatory_space), target: "_blank" %>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div class="voting-content">
|
93
|
+
<% if current_participatory_space.needs_elections? %>
|
94
|
+
<%= cell("decidim/announcement", t("votings.edit.add_election_component", scope: "decidim.votings.admin"), callout_class: "alert") %>
|
95
|
+
<% end %>
|
96
|
+
<% if current_participatory_space.polling_stations_with_missing_officers? %>
|
97
|
+
<%= cell("decidim/announcement", t("votings.edit.assign_missing_officers", scope: "decidim.votings.admin"), callout_class: "alert") %>
|
98
|
+
<% end %>
|
99
|
+
<%= yield %>
|
100
|
+
</div>
|
101
|
+
<% end %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= render "layouts/decidim/application" do %>
|
2
|
+
<div class="wrapper">
|
3
|
+
<%= render partial: "layouts/decidim/voting_header" %>
|
4
|
+
<%= cell "decidim/translation_bar", current_organization %>
|
5
|
+
<%= yield %>
|
6
|
+
</div>
|
7
|
+
<% if content_for? :expanded %>
|
8
|
+
<div class="expanded">
|
9
|
+
<div class="wrapper wrapper--inner">
|
10
|
+
<div class="row">
|
11
|
+
<%= yield :expanded %>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
return if Rails.application.secrets.bulletin_board.blank?
|
4
|
+
|
5
|
+
Decidim::BulletinBoard.configure do |config|
|
6
|
+
# Exposes a configuration option: the bulletin board server
|
7
|
+
config.server = Rails.application.secrets.bulletin_board[:server]
|
8
|
+
|
9
|
+
# Exposes a configuration option: the api key generated by the Bulletin Board for the Decidim instance
|
10
|
+
config.api_key = Rails.application.secrets.bulletin_board[:api_key]
|
11
|
+
|
12
|
+
# Exposes a configuration option: the scheme to be used for messages
|
13
|
+
config.scheme = Rails.application.secrets.bulletin_board[:scheme]
|
14
|
+
|
15
|
+
# Exposes a configuration option: the authority name String
|
16
|
+
config.authority_name = Rails.application.secrets.bulletin_board[:authority_name]
|
17
|
+
|
18
|
+
# Exposes a configuration option: number of trustees for an election
|
19
|
+
config.number_of_trustees = Rails.application.secrets.bulletin_board[:number_of_trustees]
|
20
|
+
|
21
|
+
# Exposes a configuration option: private key, that got generated by the Decidim instance
|
22
|
+
config.identification_private_key = Rails.application.secrets.bulletin_board[:identification_private_key]
|
23
|
+
end
|
data/config/locales/ca.yml
CHANGED
@@ -16,6 +16,9 @@ ca:
|
|
16
16
|
max_selections: Número màxim d'opcions
|
17
17
|
min_selections: Cap de les anteriors
|
18
18
|
title: Títol
|
19
|
+
voting:
|
20
|
+
end_time: Finalitza
|
21
|
+
start_time: Comença
|
19
22
|
errors:
|
20
23
|
models:
|
21
24
|
answer:
|
@@ -26,7 +29,25 @@ ca:
|
|
26
29
|
attributes:
|
27
30
|
attachment:
|
28
31
|
needs_to_be_reattached: És necessari tornar a adjuntar l'arxiu
|
32
|
+
trustee:
|
33
|
+
attributes:
|
34
|
+
name:
|
35
|
+
cant_be_changed: no es pot canviar
|
36
|
+
public_key:
|
37
|
+
cant_be_changed: no es pot canviar
|
29
38
|
activerecord:
|
39
|
+
errors:
|
40
|
+
models:
|
41
|
+
decidim/votings/polling_officer:
|
42
|
+
attributes:
|
43
|
+
presided_polling_station:
|
44
|
+
president_and_manager: El gestor de mesa ja es president/gestor del punt de votació
|
45
|
+
voting:
|
46
|
+
different_organization: La votació ha d'estar a la mateixa organització que l'usuària
|
47
|
+
decidim/votings/polling_station:
|
48
|
+
attributes:
|
49
|
+
polling_station_president:
|
50
|
+
different_voting: El gestor de mesa ha d'estar a la mateixa votació que el punt de votació
|
30
51
|
models:
|
31
52
|
decidim/elections/answer:
|
32
53
|
one: Resposta
|
@@ -37,7 +58,33 @@ ca:
|
|
37
58
|
decidim/elections/question:
|
38
59
|
one: Pregunta
|
39
60
|
other: Preguntes
|
61
|
+
decidim/votings/polling_officer:
|
62
|
+
one: Gestor de mesa
|
63
|
+
other: Gestors de mesa
|
64
|
+
decidim/votings/polling_station:
|
65
|
+
one: Punt de votació
|
66
|
+
other: Punts de votació
|
67
|
+
decidim/votings/voting:
|
68
|
+
one: Votació
|
69
|
+
other: Votacions
|
40
70
|
decidim:
|
71
|
+
admin:
|
72
|
+
filters:
|
73
|
+
officers_assigned_eq:
|
74
|
+
label: Gestors
|
75
|
+
values:
|
76
|
+
assigned: Assignat
|
77
|
+
unassigned: No assignat
|
78
|
+
role_eq:
|
79
|
+
label: Rol
|
80
|
+
values:
|
81
|
+
manager: Gestor
|
82
|
+
president: Presidenta
|
83
|
+
unassigned: Sense assignar
|
84
|
+
search_placeholder:
|
85
|
+
name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Cerca a %{collection} per nom/adreça electrònica/àlies o punt de votació.
|
86
|
+
? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont
|
87
|
+
: Cercar %{collection} per títol, adreça o nom del gestor/email/àlies.
|
41
88
|
components:
|
42
89
|
elections:
|
43
90
|
actions:
|
@@ -53,9 +100,11 @@ ca:
|
|
53
100
|
confirm_destroy: N'estàs segura?
|
54
101
|
destroy: Eliminar
|
55
102
|
edit: Editar
|
56
|
-
|
57
|
-
edit_questions: Edita les preguntes
|
103
|
+
feedback: Feedback del votant
|
58
104
|
import: Importar propostes com a respostes
|
105
|
+
manage_answers: Administrar respostes
|
106
|
+
manage_questions: Administrar preguntes
|
107
|
+
manage_steps: Administrar passos
|
59
108
|
new: Nova %{name}
|
60
109
|
preview: Previsualitzar
|
61
110
|
publish: Publicar
|
@@ -78,6 +127,14 @@ ca:
|
|
78
127
|
new:
|
79
128
|
create: Crear resposta
|
80
129
|
title: Nova resposta
|
130
|
+
select:
|
131
|
+
disable: Deseleccionar resposta
|
132
|
+
enable: Marcar resposta com seleccionada
|
133
|
+
invalid: S'ha produït un error en seleccionar aquesta resposta
|
134
|
+
success: Resposta seleccionada correctament
|
135
|
+
unselect:
|
136
|
+
invalid: Hi ha hagut un problema en deseleccionar aquesta resposta
|
137
|
+
success: Resposta deseleccionada correctament
|
81
138
|
update:
|
82
139
|
invalid: Hi ha hagut un problema en actualitzar aquesta resposta
|
83
140
|
success: Resposta actualitzada amb èxit
|
@@ -104,6 +161,9 @@ ca:
|
|
104
161
|
update:
|
105
162
|
invalid: S'ha produït un error en actualitzar aquesta votació
|
106
163
|
success: S'ha actualitzat la votació correctament
|
164
|
+
exports:
|
165
|
+
elections: Eleccions
|
166
|
+
feedback_form_answers: Feedback de les respostes
|
107
167
|
models:
|
108
168
|
answer:
|
109
169
|
name: Resposta
|
@@ -111,6 +171,8 @@ ca:
|
|
111
171
|
name: Votació
|
112
172
|
question:
|
113
173
|
name: Pregunta
|
174
|
+
trustee:
|
175
|
+
name: Garant
|
114
176
|
proposals_imports:
|
115
177
|
create:
|
116
178
|
invalid: S'ha produït un error en importar les propostes a respostes
|
@@ -119,6 +181,7 @@ ca:
|
|
119
181
|
create: Importa propostes a respostes
|
120
182
|
no_components: No hi ha cap altre component de propostes en aquest espai participatiu per importar les propostes a respostes.
|
121
183
|
select_component: Selecciona un component
|
184
|
+
title: Importar propostes
|
122
185
|
questions:
|
123
186
|
create:
|
124
187
|
invalid: S'ha produït un error en crear aquesta pregunta
|
@@ -137,9 +200,107 @@ ca:
|
|
137
200
|
update:
|
138
201
|
invalid: S'ha produït un error en actualitzar aquesta pregunta
|
139
202
|
success: La pregunta s'ha actualitzat correctament
|
203
|
+
steps:
|
204
|
+
create_election:
|
205
|
+
errors:
|
206
|
+
max_selections: Les preguntes no tenen un <strong>valor correcte per quantitat de respostes</strong>
|
207
|
+
minimum_answers: Les preguntes han de tenir <strong>almenys dues respostes</strong>.
|
208
|
+
minimum_questions: L'elecció <strong>ha de tenir almenys una pregunta</strong>.
|
209
|
+
published: L'elecció <strong>no està publicada</strong>.
|
210
|
+
time_before: L'hora d'inici és en <strong>menys de 3 hores</strong> abans de que comenci l'elecció.
|
211
|
+
trustees_number: L'espai de participació <strong>ha de tenir almenys %{number} garants amb clau pública</strong>.
|
212
|
+
invalid: S'ha produït un error en configurar aquesta elecció
|
213
|
+
no_trustees: No hi ha garants configurats per aquest espai de participació
|
214
|
+
not_used_trustee: "(no utilitzat)"
|
215
|
+
public_key:
|
216
|
+
'false': no té una <strong>clau pública</strong>
|
217
|
+
'true': té una <strong>clau pública</strong>
|
218
|
+
requirements:
|
219
|
+
max_selections: Totes les preguntes tenen un valor correcte per <strong>màxim de respostes</strong>.
|
220
|
+
minimum_answers: Cada pregunta té <strong>almenys 2 respostes</strong>.
|
221
|
+
minimum_questions: L'elecció té <strong>almenys 1 pregunta</strong>.
|
222
|
+
published: L'elecció està <strong>publicada</strong>.
|
223
|
+
time_before: La configuració s'està fent <strong>almenys %{hours} hores</strong> abans de que comenci l'elecció.
|
224
|
+
trustees_number: L'espai de participació té <strong>almenys %{number} garants amb clau pública</strong>.
|
225
|
+
submit: Configurar elecció
|
226
|
+
success: L'elecció s'ha enviat correctament al Bulletin Board
|
227
|
+
title: Configurar elecció
|
228
|
+
trustees: Garants de l'elecció
|
229
|
+
created:
|
230
|
+
invalid: S'ha produït un error en començar la cerimònia de claus
|
231
|
+
submit: Començar la cerimònia de claus
|
232
|
+
success: La sol·licitud per iniciar la cerimònia de claus s'ha enviat correctament al Bulletin Board
|
233
|
+
title: Elecció creada
|
234
|
+
trustees: Garants
|
235
|
+
key_ceremony:
|
236
|
+
title: Cerimònia de claus
|
237
|
+
trustees: Garants
|
238
|
+
key_ceremony_ended:
|
239
|
+
errors:
|
240
|
+
time_before: L'elecció està llesta per començar. Has d'esperar fins a %{hours} hores abans de l'hora d'inici (%{start_time}) per iniciar el període de votació.
|
241
|
+
invalid: S'ha produït un error en iniciar el període de votació
|
242
|
+
requirements:
|
243
|
+
time_before: L'elecció començarà aviat. Pots iniciar el període de votació manualment, o començarà automàticament abans de l'hora d'inici, a les %{start_time}.
|
244
|
+
submit: Iniciar període de votació
|
245
|
+
success: La sol·licitud per iniciar el període de votació s'ha enviat correctament al Bulletin Board
|
246
|
+
title: A punt per començar
|
247
|
+
processing: Processant...
|
248
|
+
results_published:
|
249
|
+
title: Resultats publicats
|
250
|
+
tally:
|
251
|
+
title: Procés de recompte
|
252
|
+
trustees: Garants
|
253
|
+
tally_ended:
|
254
|
+
submit: Publicar resultats
|
255
|
+
title: Resultats calculats
|
256
|
+
vote:
|
257
|
+
errors:
|
258
|
+
time_after: L'elecció està en curs encara. Has d'esperar fins l'hora de fi (%{end_time}) per finalitzar el període de votació.
|
259
|
+
invalid: S'ha produït un error en finalitzar el període de votació
|
260
|
+
requirements:
|
261
|
+
time_after: L'elecció s'ha acabat. Pots finalitzar el període de votació manualment, o finalitzarà automàticament en breus instants.
|
262
|
+
submit: Finalitzar període de votació
|
263
|
+
success: La sol·licitud per finalitzar el període de votació s'ha enviat correctament al Bulletin Board
|
264
|
+
title: Període de votació
|
265
|
+
vote_ended:
|
266
|
+
invalid: S'ha produït un error en començar el recompte
|
267
|
+
submit: Començar recompte
|
268
|
+
success: La sol·licitud per iniciar el recompte s'ha enviat correctament al Bulletin Board
|
269
|
+
title: Període de votació finalitzat
|
270
|
+
vote_stats:
|
271
|
+
no_vote_statistics_yet: Les estadístiques de votacions encara no estan disponibles
|
272
|
+
title: Estadístiques de les votacions
|
273
|
+
voters: Votants
|
274
|
+
votes: Vots
|
275
|
+
trustees_participatory_spaces:
|
276
|
+
actions:
|
277
|
+
disable: Desactivar
|
278
|
+
enable: Considerar
|
279
|
+
create:
|
280
|
+
exists: El garant existeix per aquest espai participatiu
|
281
|
+
invalid: S'ha produït un error en crear un nou garant
|
282
|
+
success: Garant creat correctament
|
283
|
+
delete:
|
284
|
+
invalid: S'ha produït un error en creant aquest garant
|
285
|
+
success: Garant eliminat correctament
|
286
|
+
form:
|
287
|
+
select_user: Selecciona l'usuari
|
288
|
+
index:
|
289
|
+
title: Garants
|
290
|
+
new:
|
291
|
+
create: Crear garant
|
292
|
+
title: Nou garant
|
293
|
+
update:
|
294
|
+
invalid: S'ha produït un error en actualitzar el garant %{trustee}
|
295
|
+
success: El garant %{trustee} s'ha actualitzat correctament
|
140
296
|
admin_log:
|
141
297
|
election:
|
298
|
+
end_vote: "%{user_name} ha finalittzat el període de votació per l'elecció %{resource_name} al Bulletin Board"
|
142
299
|
publish: "%{user_name} ha publicat la votació %{resource_name}"
|
300
|
+
setup: "%{user_name} ha creat l'elecció %{resource_name} al Bulletin Board"
|
301
|
+
start_key_ceremony: "%{user_name} va començar la cerimònia de claus per l'elecció %{resource_name} al Bulletin Board"
|
302
|
+
start_tally: "%{user_name} ha iniciat el recompte per a l'elecció %{resource_name} al Bulletin Board"
|
303
|
+
start_vote: "%{user_name} ha iniciat el període de votació per a l'elecció %{resource_name} al Bulletin Board"
|
143
304
|
unpublish: "%{user_name} ha despublicat la votació %{resource_name}"
|
144
305
|
election_m:
|
145
306
|
badge_name:
|
@@ -172,14 +333,41 @@ ca:
|
|
172
333
|
filter: Filtrar
|
173
334
|
filter_by: Filtra per
|
174
335
|
unfold: Desplegar
|
336
|
+
preview:
|
337
|
+
available_answers: Respostes disponibles
|
338
|
+
description: Aquestes són les preguntes que trobaràs al procés de votació
|
339
|
+
title: Preguntes de l'elecció
|
340
|
+
results:
|
341
|
+
description: Aquests són els resultats de la votació, per a cada pregunta
|
342
|
+
selected: Seleccionat
|
343
|
+
title: Resultats de l'elecció
|
344
|
+
votes:
|
345
|
+
one: "%{count} vot"
|
346
|
+
other: "%{count} vots"
|
347
|
+
zero: "%{count} vots"
|
175
348
|
show:
|
176
|
-
|
349
|
+
action-button:
|
350
|
+
change-vote: Canvia el teu vot
|
351
|
+
vote: Començar a votar
|
352
|
+
vote-again: Votar de nou
|
353
|
+
back: Eleccions disponibles
|
354
|
+
callout:
|
355
|
+
already-voted: Ja has votat en aquesta elecció. Pots canviar el teu vot o verificar-lo.
|
356
|
+
vote-rejected: No ha estat possible verificar el teu vot. Si us plau, fes-ho de nou.
|
177
357
|
preview: Previsualitzar
|
178
|
-
|
358
|
+
verify:
|
359
|
+
already-voted: Ja has votat?
|
360
|
+
verify-here: Comprova el teu vot aquí.
|
361
|
+
will-verify: Podràs verificar el teu vot una vegada comenci l'elecció.
|
179
362
|
voting_period_status:
|
180
363
|
finished: La votació va començar el %{start_time} i va acabar el %{end_time}
|
181
|
-
ongoing:
|
364
|
+
ongoing: 'Votació activa fins: %{end_time}'
|
182
365
|
upcoming: La votació comença el %{start_time}
|
366
|
+
feedback:
|
367
|
+
answer:
|
368
|
+
invalid: S'ha produït un error en enviar els teus comentaris.
|
369
|
+
spam_detected: Hi ha hagut un problema contestant el formulari. Potser has anat massa ràpid, ho pots tornar a intentar?
|
370
|
+
success: Comentaris enviats amb èxit.
|
183
371
|
models:
|
184
372
|
answer:
|
185
373
|
fields:
|
@@ -187,6 +375,7 @@ ca:
|
|
187
375
|
title: Títol
|
188
376
|
election:
|
189
377
|
fields:
|
378
|
+
bb_status: Estat del tBulletin Board
|
190
379
|
end_time: Finalitza el
|
191
380
|
start_time: Comença el
|
192
381
|
title: Títol
|
@@ -195,10 +384,114 @@ ca:
|
|
195
384
|
answers: Respostes
|
196
385
|
max_selections: Número màxim d'elements a seleccionar
|
197
386
|
title: Títol
|
387
|
+
trustees_participatory_space:
|
388
|
+
fields:
|
389
|
+
considered: considerat
|
390
|
+
email: Correu electrònic
|
391
|
+
inactive: inactiu
|
392
|
+
name: Nom
|
393
|
+
notification: Notificació enviada a les
|
394
|
+
public_key: Clau pública
|
395
|
+
status: Estat
|
198
396
|
orders:
|
199
397
|
label: Ordena votacions per
|
200
398
|
older: Més antiga
|
201
399
|
recent: Recent
|
400
|
+
trustee_zone:
|
401
|
+
elections:
|
402
|
+
backup_modal:
|
403
|
+
description: Aquesta elecció s'està creant al Bulletin Board. És molt important que cada garant que hi participa creï una còpia de seguretat d'aquestes claus i les guardi en un lloc segur. Després d'això, el procés continuarà.
|
404
|
+
download_election_keys: Descarregar claus
|
405
|
+
download_icon: Icona que indica una acció de descàrrega
|
406
|
+
title: Còpia de seguretat de les claus per l'elecció %{election}
|
407
|
+
key_ceremony_steps:
|
408
|
+
back: Tornar
|
409
|
+
description: Aquesta elecció s'està creant al Bulletin Board. Per completar aquest procés, es necessita la teva participació com a garant.
|
410
|
+
keys:
|
411
|
+
create_election: Generació de claus
|
412
|
+
key_ceremony:
|
413
|
+
joint_election_key: Generació conjunta de claus
|
414
|
+
step_1: Publicant claus
|
415
|
+
list:
|
416
|
+
status: Estat
|
417
|
+
task: Tasca
|
418
|
+
process_warning: Un cop ha començat el procés, no hauries de sortir d'aquesta pàgina fins que aquest acabi. Trigarà varis minuts, ja que tots els garants han de connectar-se al mateix temps per completar-lo.
|
419
|
+
start: Començar
|
420
|
+
start_icon: Icona que indica un botó d'inici per a la generació de claus d'una elecció
|
421
|
+
status:
|
422
|
+
completed: Completada
|
423
|
+
pending: Pendent
|
424
|
+
processing: Processant
|
425
|
+
title: Crear claus per l'elecció %{election}
|
426
|
+
restore_modal:
|
427
|
+
description: El Bulletin Board té informació teva com a garant d'aquesta elecció. Per continuar amb el procés, primer puja l'arxiu generat com a còpia de seguretat durant la sessió anterior.
|
428
|
+
title: Restaurar claus per l'elecció %{election}
|
429
|
+
upload_election_keys: Pujar claus de l'elecció
|
430
|
+
upload_icon: Icona que indica una acció de descàrrega
|
431
|
+
tally_steps:
|
432
|
+
back: Tornar
|
433
|
+
description: Els resultats d'aquesta elecció s'estan computant al Bulletin Board. Per completar aquest procés, és necessària la teva participació com a garant.
|
434
|
+
keys:
|
435
|
+
end_tally: Recompte finalitzat
|
436
|
+
tally:
|
437
|
+
cast: Enviament del recompte
|
438
|
+
share: Compartició del recompte
|
439
|
+
list:
|
440
|
+
status: Estat
|
441
|
+
task: Tasca
|
442
|
+
process_warning: Un cop ha començat el procés, no hauries de sortir d'aquesta pàgina fins que aquest acabi. Trigarà varis minuts, ja que tots els garants han de connectar-se al mateix temps per completar-lo.
|
443
|
+
start: Començar
|
444
|
+
start_icon: Icona que indica un botó d'inici per començar la generació de claus d'una elecció
|
445
|
+
status:
|
446
|
+
completed: Completada
|
447
|
+
pending: Pendent
|
448
|
+
processing: Processant
|
449
|
+
title: Recompte per %{election}
|
450
|
+
update:
|
451
|
+
error: L'estat de l'elecció no s'havia actualitzat.
|
452
|
+
success: 'L''estat de l''elecció és: %{status}'
|
453
|
+
menu:
|
454
|
+
trustee_zone: Zona de garants
|
455
|
+
no_bulletin_board:
|
456
|
+
body: Es requereix disposar d'un Bulletin Board configurat per a aquesta secció. Contacta amb l'administradora per més detalls.
|
457
|
+
title: Ho sentim, el Bulletin Board no s'ha configurat encara.
|
458
|
+
trustees:
|
459
|
+
show:
|
460
|
+
elections:
|
461
|
+
list:
|
462
|
+
action_required:
|
463
|
+
'false': 'No'
|
464
|
+
name: Acció requerida?
|
465
|
+
'true': Realitzar acció
|
466
|
+
bb_status: Estat
|
467
|
+
election: Elecció
|
468
|
+
voting_period: Període de votació
|
469
|
+
no_elections: No hi ha eleccions en les que actuïs com a garant.
|
470
|
+
title: Eleccions
|
471
|
+
identification_keys:
|
472
|
+
cancel: Cancel·lar
|
473
|
+
generate: Generar claus d'identificació
|
474
|
+
generate_error: Hi ha hagut un error generant les claus d'identificació.
|
475
|
+
generate_legend: Has de generar un parell de claus d'identificació per participar en les eleccions com a garant.
|
476
|
+
generate_legend_1: Després de prémer el botó has de descarregar l'arxiu amb les claus d'identificació generades.
|
477
|
+
generate_legend_2: Copia l'arxiu descarregat a un dispositiu USB net
|
478
|
+
generate_legend_3: Assegura't de que el teu equip no tingui una còpia de l'arxiu (per exemple, comprova les carpetes de Baixades i Escriptori).
|
479
|
+
generate_legend_4: Fes una altra copia de l'arxiu en un dispositiu extern diferent i guarda'l a un lloc molt segur.
|
480
|
+
submit: Enviar
|
481
|
+
submit_legend: Després de seguir tots els passos explicats anteriorment, completa el procés enviant la clau d'identificació pública al servidor de Decidim.
|
482
|
+
submit_title: Enviar la clau d'identificació pública
|
483
|
+
title: Claus d'identificació del garant
|
484
|
+
upload: Puja les teves claus d'identificació
|
485
|
+
upload_error:
|
486
|
+
invalid_format: L'arxiu pujat no conté cap clau d'identificació.
|
487
|
+
invalid_key: Les claus d'identificació a l'arxiu pujat no es poden carregar.
|
488
|
+
invalid_public_key: Les claus d'identificació a l'arxiu pujat no coincideixen amb la clau d'identificació pública emmagatzemada per Decidim.
|
489
|
+
upload_legend: Decidim té les teves claus públiques d'identificació, però el teu navegador encara no les té. Necessites importar l'arxiu amb les teves claus d'identificació al teu ordinador des de la còpia de seguretat que vas crear després de generar-les.
|
490
|
+
not_supported_browser_description: Sembla que estàs usant un navegador que no pot ser utilitzat per a actuar com a garant. Assegura't que estàs usant la versió més recent del teu navegador, o intenta usar qualsevol dels navegadors més populars per a poder completar les teves tasques com a garant.
|
491
|
+
not_supported_browser_title: Actualitza el navegador per a actuar com a garant
|
492
|
+
trustee_role_description: Se t'ha assignat com a garant en algunes de les eleccions celebrades en aquesta plataforma.
|
493
|
+
update:
|
494
|
+
success: La teva clau pública d'identificació va ser guardada amb èxit.
|
202
495
|
votes:
|
203
496
|
confirm:
|
204
497
|
answer: Resposta
|
@@ -211,15 +504,20 @@ ca:
|
|
211
504
|
question: Preguntes %{count}
|
212
505
|
confirmed:
|
213
506
|
back: Tornar a les votacions
|
507
|
+
error: Ho sentim, hi ha hagut un error al guardar el teu vot. Si us plau, vota de nou.
|
214
508
|
experience: Com valores l'experiència?
|
215
509
|
feedback: Dona'ns la teva opinió
|
216
510
|
header: Vot confirmat
|
217
511
|
lead: El teu vot ha estat emès!
|
218
512
|
text: 'Pots comprovar que el teu vot s''ha afegit correctament a l''urna amb el següent identificador: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
|
219
|
-
|
513
|
+
verify_link: Per comprovar-ho, copia l'identificador i enganxa'l a la <a href="%{link}">pàgina de verificació de vot</a>
|
220
514
|
encrypting:
|
221
515
|
header: Codificant el vot...
|
222
516
|
text: El teu vot s'està xifrant per assegurar-te que l'emets de forma anònima.
|
517
|
+
failed:
|
518
|
+
header: Vot fallit
|
519
|
+
lead: El teu vot no s'ha enviat!
|
520
|
+
text: Alguna cosa ha anat malament. Si us plau, torna-ho a provar.
|
223
521
|
header:
|
224
522
|
confirm: Confirma el teu vot
|
225
523
|
confirmed: Vot confirmat
|
@@ -236,6 +534,28 @@ ca:
|
|
236
534
|
preview_alert: Aquesta és una vista prèvia de la cabina de votació.
|
237
535
|
question_steps: Pregunta %{current_step} de %{total_steps}
|
238
536
|
selections: "Seleccionada <br> %{selected} de %{max_selections}"
|
537
|
+
processing:
|
538
|
+
header: Processant...
|
539
|
+
text: El teu vot s'ha rebut i s'està processant. Si us plau espera.
|
540
|
+
update:
|
541
|
+
error: S'ha produït un error en actualitzar l'estat del vot
|
542
|
+
success: L'estat del vot s'ha actualitzat correctament
|
543
|
+
verify:
|
544
|
+
content:
|
545
|
+
heading: Verifica el teu vot
|
546
|
+
info: Aquest verificador comprova que el teu vot, identificat amb una cadena de text encriptada, s'ha emès correctament i està dins de l'urna.
|
547
|
+
error:
|
548
|
+
header: Vot no localitzat!
|
549
|
+
info: El codi del vot no s'ha trobat a l'urna %{link}, intenta-ho de nou.
|
550
|
+
form:
|
551
|
+
back: Tornar a Decidim
|
552
|
+
submit: Comprovar
|
553
|
+
vote_identifier: 'Codi identificador:'
|
554
|
+
header:
|
555
|
+
title: Verifica el teu vot
|
556
|
+
success:
|
557
|
+
header: Vot localitzat!
|
558
|
+
info: El teu vot encriptat es troba a l'urna %{link}
|
239
559
|
voting_step:
|
240
560
|
back: Enrere
|
241
561
|
continue: Següent
|
@@ -249,6 +569,38 @@ ca:
|
|
249
569
|
email_outro: Has rebut aquesta notificació perquè estàs seguint l'espai %{participatory_space_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
|
250
570
|
email_subject: La votació %{resource_title} ja està activa a %{participatory_space_title}.
|
251
571
|
notification_title: La votació <a href="%{resource_path}">%{resource_title}</a> a %{participatory_space_title} ja està activa.
|
572
|
+
trustees:
|
573
|
+
new_election:
|
574
|
+
email_intro: Has estat afegit com a garant de l'elecció %{resource_title}.
|
575
|
+
email_outro: Has rebut aquesta notificació perquè t'han afegit com a garant de l'elecció %{resource_title}.
|
576
|
+
email_subject: Ets un garant de l'elecció %{resource_title}..
|
577
|
+
notification_title: Ets un garant de l'elecció <a href="%{resource_path}">%{resource_title}</a>.
|
578
|
+
new_trustee:
|
579
|
+
email_intro: Una administradora t'ha afegit com a garant de %{resource_name}. Hauries de crear la teva clau pública a la teva <a href='%{trustee_zone_url}'>zona de garants</a>
|
580
|
+
email_outro: Has rebut aquesta notificació perquè t'han afegit com a garant de %{resource_name}.
|
581
|
+
email_subject: Ets garant de %{resource_name}.
|
582
|
+
notification_title: Ets garant de <a href="%{participatory_space_url}">%{resource_name}</a>.
|
583
|
+
votes:
|
584
|
+
accepted_votes:
|
585
|
+
email_intro: 'El teu vot s''ha acceptat! Utilitzant el comprovant de vot: %{encrypted_vote_hash}, pots verificar-lo <a href="%{verify_url}">aquí</a>.'
|
586
|
+
email_outro: Has rebut aquesta notificació perquè has votat a l'elecció %{resource_name}.
|
587
|
+
email_subject: El teu vot a %{resource_name} s'ha acceptat.
|
588
|
+
notification_title: 'El teu vot s''ha acceptat. Verifica''l <a href="%{verify_url}">aquí</a> utilitzant el comprovant de vot: %{encrypted_vote_hash}'
|
589
|
+
votings:
|
590
|
+
polling_officers:
|
591
|
+
polling_station_assigned:
|
592
|
+
email_intro: T'han assignat com %{role} del punt de votació %{polling_station_name} a <a href="%{resource_url}">%{resource_title}</a>. Pots gestionar el punt de votació accedint a la <a href="%{polling_officer_zone_url}">Zona de gestors de mesa</a>.
|
593
|
+
email_outro: Has rebut aquesta notificació perquè t'han assignat com %{role} de %{polling_station_name}.
|
594
|
+
email_subject: Ets %{role} del punt de votació %{polling_station_name}.
|
595
|
+
notification_title: Ets %{role} del punt de votació %{polling_station_name} a la votació <a href="%{resource_path}">%{resource_title}</a>.
|
596
|
+
help:
|
597
|
+
participatory_spaces:
|
598
|
+
votings:
|
599
|
+
contextual: "<p>Una <strong>votació</strong> és un espai que us permet fer una pregunta clara al conjunt de membres d'una organització, fer una crida a participar en la votació, generar i ordenar el debat a favor o en contra d'una resposta. Quan arriba la data de la votació, podeu votar i publicar-ne el resultat.</p> <p>Les votacions poden ser de pràcticament qualsevol aspecte que afecti una organització. Alguns exemples serien: canviar el nom o el logotip de l'organització oferint diverses alternatives, decidir si passar a formar part d'una organització més gran o no, validar o refusar un nou pla estratègic o el resultat d'un grup de treball, o definir si els càrrecs haurien de tenir una durada màxima d'un, dos o tres mandats.</p>"
|
600
|
+
page: "<p>Una <strong>votació</strong> és un espai que us permet fer una pregunta clara al conjunt de membres d'una organització, fer una crida a participar en la votació, generar i ordenar el debat a favor o en contra d'una resposta. Quan arriba la data de la votació, podeu votar i publicar-ne el resultat.</p> <p>Les votacions poden ser de pràcticament qualsevol aspecte que afecti una organització. Alguns exemples serien: canviar el nom o el logotip de l'organització oferint diverses alternatives, decidir si passar a formar part d'una organització més gran o no, validar o refusar un nou pla estratègic o el resultat d'un grup de treball, o definir si els càrrecs haurien de tenir una durada màxima d'un, dos o tres mandats.</p>"
|
601
|
+
title: Què són les votacions?
|
602
|
+
menu:
|
603
|
+
votings: Votacions
|
252
604
|
pages:
|
253
605
|
home:
|
254
606
|
statistics:
|
@@ -256,7 +608,285 @@ ca:
|
|
256
608
|
participatory_processes:
|
257
609
|
statistics:
|
258
610
|
elections_count: Votacions
|
611
|
+
votings:
|
612
|
+
admin:
|
613
|
+
content_blocks:
|
614
|
+
highlighted_votings:
|
615
|
+
max_results: Quantitat màxima d'elements per mostrar
|
616
|
+
landing_page:
|
617
|
+
attachments_and_folders:
|
618
|
+
name: Arxius i carpetes de la votació
|
619
|
+
description:
|
620
|
+
name: Descripció de la votació
|
621
|
+
elections:
|
622
|
+
name: Eleccions de la votació
|
623
|
+
header:
|
624
|
+
name: Capçalera de la votació
|
625
|
+
html_block_1:
|
626
|
+
name: Bloc html 1 de votació
|
627
|
+
html_block_2:
|
628
|
+
name: Bloc html 2 de votació
|
629
|
+
html_block_3:
|
630
|
+
name: Bloc html 3 de votació
|
631
|
+
metrics:
|
632
|
+
name: Mètriques de la votació
|
633
|
+
polling_stations:
|
634
|
+
name: Punts de votació
|
635
|
+
stats:
|
636
|
+
name: Estadístiques de la votació
|
637
|
+
timeline:
|
638
|
+
name: Calendari de la votació
|
639
|
+
index:
|
640
|
+
not_published: Despublicada
|
641
|
+
published: Publicada
|
642
|
+
landing_page:
|
643
|
+
content_blocks:
|
644
|
+
edit:
|
645
|
+
update: Actualitzar
|
646
|
+
edit:
|
647
|
+
active_content_blocks: Blocs de contingut actius
|
648
|
+
inactive_content_blocks: Blocs de contingut inactius
|
649
|
+
menu:
|
650
|
+
votings: Votacions
|
651
|
+
votings_submenu:
|
652
|
+
attachment_collections: Carpetes
|
653
|
+
attachment_files: Arxius
|
654
|
+
attachments: Adjunts
|
655
|
+
components: Components
|
656
|
+
info: Informació
|
657
|
+
landing_page: Pàgina d'inici
|
658
|
+
monitoring_committee_members: Comitè de seguiment
|
659
|
+
polling_officers: Gestors de mesa
|
660
|
+
polling_stations: Punts de votació
|
661
|
+
models:
|
662
|
+
monitoring_committee_member:
|
663
|
+
fields:
|
664
|
+
email: Correu electrònic
|
665
|
+
name: Nom
|
666
|
+
name: Membre del comitè de seguiment
|
667
|
+
polling_officer:
|
668
|
+
fields:
|
669
|
+
email: Correu electrònic
|
670
|
+
name: Nom
|
671
|
+
polling_station: Punt de votació (rol)
|
672
|
+
name: Gestor de mesa
|
673
|
+
polling_station:
|
674
|
+
fields:
|
675
|
+
address: Adreça
|
676
|
+
polling_station_managers: Administradors
|
677
|
+
polling_station_president: President
|
678
|
+
title: Títol
|
679
|
+
name: Punt de votació
|
680
|
+
voting:
|
681
|
+
fields:
|
682
|
+
created_at: Creada el
|
683
|
+
promoted: Destacada
|
684
|
+
published: Publicada
|
685
|
+
title: Títol
|
686
|
+
monitoring_committee_members:
|
687
|
+
create:
|
688
|
+
invalid: Hi ha hagut un problema en crear aquest membre del comitè de seguiment
|
689
|
+
success: Membre del comitè de seguiment creat amb èxit
|
690
|
+
destroy:
|
691
|
+
invalid: Hi ha hagut un problema en eliminar aquest membre del comitè de seguiment
|
692
|
+
success: Membre del comitè de seguiment eliminat amb èxit
|
693
|
+
form:
|
694
|
+
existing_user: Participant existent
|
695
|
+
non_user: Convidar una nova participant
|
696
|
+
select_user: Cercar per correu electrònic, nom o àlies
|
697
|
+
user_type: Tipus de participant
|
698
|
+
index:
|
699
|
+
title: Comitè de seguiment
|
700
|
+
new:
|
701
|
+
create: Crear
|
702
|
+
title: Crear membre del comitè de seguiment
|
703
|
+
polling_officers:
|
704
|
+
create:
|
705
|
+
invalid: S'ha produït un error en crear aquest gestor de mesa
|
706
|
+
success: Gestor de mesa creat correctament
|
707
|
+
destroy:
|
708
|
+
invalid: S'ha produït un error en eliminar aquest gestor de mesa
|
709
|
+
success: Gestor de mesa creat correctament
|
710
|
+
form:
|
711
|
+
existing_user: Participant existent
|
712
|
+
non_user: Convidar una nova participant
|
713
|
+
select_user: Cercar per correu electrònic, nom o àlies
|
714
|
+
user_type: Tipus de participant
|
715
|
+
index:
|
716
|
+
role_manager: administrador
|
717
|
+
role_president: president
|
718
|
+
title: Gestors de mesa
|
719
|
+
new:
|
720
|
+
create: Crear
|
721
|
+
title: Crear gestor de mesa
|
722
|
+
polling_officers_picker:
|
723
|
+
choose_polling_officers: Escollir gestors de mesa
|
724
|
+
close: Tancar
|
725
|
+
more_polling_officers: Hi ha %{number} gestors de mesa més. Refina la teva cerca per localitzar-los.
|
726
|
+
no_polling_officers: Cap gestor de mesa coincideix amb els teus criteris de cerca o no n'hi ha cap.
|
727
|
+
polling_stations:
|
728
|
+
create:
|
729
|
+
invalid: S'ha produït un error en crear aquest punt de votació
|
730
|
+
success: Punt de votació creat correctament
|
731
|
+
destroy:
|
732
|
+
invalid: S'ha produït un error en eliminar aquest punt de votació
|
733
|
+
success: Punt de votació eliminat correctament
|
734
|
+
edit:
|
735
|
+
title: Editar punt de votació
|
736
|
+
update: Actualitzar punt de votació
|
737
|
+
form:
|
738
|
+
address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
|
739
|
+
location_help: 'Ubicació: missatge dirigit als votants amb el lloc exacte del punt de votació'
|
740
|
+
location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici on està situat el punt de votació.'
|
741
|
+
polling_station_managers_help: 'Gestors de mesa: els tècnics que actuaran com a responsables del punt de votació. Assegura''t que han estat creats en Gestors de mesa i que no estan ja assignats a un altre punt de votació'
|
742
|
+
polling_station_president_help: 'Presidents de mesa: els tècnics que actuaran com a presidents del punt de votació. Assegura''t que han estat creats en Gestors de mesa i que no estan ja assignats a un altre punt de votació'
|
743
|
+
select_president: Selecciona un gestor com a president del punt de votació
|
744
|
+
index:
|
745
|
+
title: Punts de votació
|
746
|
+
new:
|
747
|
+
create: Crear
|
748
|
+
title: Crear punt de votació
|
749
|
+
update:
|
750
|
+
invalid: S'ha produït un error en actualitzar aquest punt de votació
|
751
|
+
success: Punt de votació actualitzat correctament
|
752
|
+
titles:
|
753
|
+
votings: Votacions
|
754
|
+
votings:
|
755
|
+
actions:
|
756
|
+
confirm_destroy: N'estàs segura?
|
757
|
+
destroy: Eliminar
|
758
|
+
new_voting: Nou espai de votació
|
759
|
+
publish: Publicar
|
760
|
+
unpublish: Despublicar
|
761
|
+
create:
|
762
|
+
invalid: S'ha produït un error en crear aquesta votació
|
763
|
+
success: Votació creada correctament
|
764
|
+
edit:
|
765
|
+
add_election_component: No tens cap elecció configurada per a aquesta votació. Si us plau, afegeix-la a la secció de components
|
766
|
+
assign_missing_officers: Hi ha punts de votació sense president i/o gestors. Si us plau, assigna'ls des de la secció de punts de votació
|
767
|
+
update: Actualitzar
|
768
|
+
form:
|
769
|
+
select_a_voting_type: Si us plau selecciona un tipus de votació
|
770
|
+
slug_help: 'Els noms curts d''URL s''utilitzen per generar els URL que apunten a aquest procés. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
|
771
|
+
title: Títol
|
772
|
+
voting_type:
|
773
|
+
hybrid: Híbrida
|
774
|
+
in_person: Presencial
|
775
|
+
online: En línia
|
776
|
+
new:
|
777
|
+
create: Crear
|
778
|
+
title: Nova votació
|
779
|
+
publish:
|
780
|
+
success: La votació s'ha publicat correctament
|
781
|
+
unpublish:
|
782
|
+
success: La votació s'ha despublicat correctament
|
783
|
+
update:
|
784
|
+
invalid: S'ha produït un error en actualitzar aquesta votació
|
785
|
+
success: La votació s'ha actualitzat correctament
|
786
|
+
admin_log:
|
787
|
+
voting:
|
788
|
+
create: "%{user_name} ha creat la votació %{resource_name}"
|
789
|
+
publish: "%{user_name} ha publicat la votació %{resource_name}"
|
790
|
+
unpublish: "%{user_name} ha despublicat la votació %{resource_name}"
|
791
|
+
content_blocks:
|
792
|
+
highlighted_votings:
|
793
|
+
name: Votacions destacades
|
794
|
+
monitoring_committee_members:
|
795
|
+
actions:
|
796
|
+
confirm_destroy: N'estàs segura?
|
797
|
+
destroy: Esborrar
|
798
|
+
new: Nou membre
|
799
|
+
title: Accions
|
800
|
+
pages:
|
801
|
+
home:
|
802
|
+
highlighted_votings:
|
803
|
+
active_votings: Votacions actives
|
804
|
+
see_all_votings: Veure totes les votacions
|
805
|
+
votings_button_title: Enllaç a la pàgina de Votacions que les mostra totes
|
806
|
+
polling_officer_zone:
|
807
|
+
menu:
|
808
|
+
polling_officer_zone: Zona del gestor de mesa
|
809
|
+
polling_officers:
|
810
|
+
show:
|
811
|
+
actions:
|
812
|
+
count_votes: Comptar els vots a les urnes
|
813
|
+
identify_person: Identificar i verificar una persona
|
814
|
+
polling_officer_role_description: Has estat assignat per a actuar com a gestor de mesa (President o Administrador) en algunes de les eleccions celebrades en aquesta plataforma.
|
815
|
+
polling_stations:
|
816
|
+
list:
|
817
|
+
actions: Accions
|
818
|
+
address: Adreça
|
819
|
+
name: Nom
|
820
|
+
role: El teu rol
|
821
|
+
voting: Votacions
|
822
|
+
no_polling_stations: Encara no has estat assignat a cap punt de votació.
|
823
|
+
title: Punts de votació
|
824
|
+
polling_officers:
|
825
|
+
actions:
|
826
|
+
confirm_destroy: N'estàs segura?
|
827
|
+
destroy: Esborrar
|
828
|
+
new: Nou
|
829
|
+
title: Accions
|
830
|
+
roles:
|
831
|
+
manager: Administrador
|
832
|
+
president: President
|
833
|
+
unassigned: Sense assignar
|
834
|
+
polling_stations:
|
835
|
+
actions:
|
836
|
+
confirm_destroy: N'estàs segura?
|
837
|
+
destroy: Esborrar
|
838
|
+
edit: Editar
|
839
|
+
new: Nou
|
840
|
+
title: Accions
|
841
|
+
votings:
|
842
|
+
count:
|
843
|
+
title:
|
844
|
+
one: "%{count} votació"
|
845
|
+
other: "%{count} votacions"
|
846
|
+
filters:
|
847
|
+
active: Actives
|
848
|
+
all: Todas
|
849
|
+
finished: Finalizades
|
850
|
+
search: Cercar
|
851
|
+
state: Estat
|
852
|
+
upcoming: Properes
|
853
|
+
filters_small_view:
|
854
|
+
close_modal: Tancar finestra
|
855
|
+
filter: Filtrar
|
856
|
+
filter_by: Filtrar per
|
857
|
+
unfold: Desplegar
|
858
|
+
index:
|
859
|
+
no_votings: Cap votació s'ajusta als vostres criteris de cerca.
|
860
|
+
only_finished: Actualment no hi ha votacions programades, però podeu trobar les votacions ja finalitzades.
|
861
|
+
title: Votacions
|
862
|
+
orders:
|
863
|
+
label: 'Ordenar votacions per:'
|
864
|
+
random: Aleatori
|
865
|
+
recent: Més recents
|
866
|
+
show:
|
867
|
+
dates: Dates
|
868
|
+
votings_m:
|
869
|
+
badge_name:
|
870
|
+
finished: Finalizades
|
871
|
+
ongoing: En curs
|
872
|
+
upcoming: Properes
|
873
|
+
footer_button_text:
|
874
|
+
participate: Participa
|
875
|
+
view: Veure
|
876
|
+
vote: Vota
|
877
|
+
unspecified: Sense especificar
|
878
|
+
voting_type:
|
879
|
+
hybrid: Híbrida
|
880
|
+
in_person: Presencial
|
881
|
+
online: En línia
|
882
|
+
voting_types_label: Tipus de votació
|
259
883
|
layouts:
|
260
884
|
decidim:
|
261
885
|
election_votes_header:
|
262
886
|
exit: Sortir
|
887
|
+
votings:
|
888
|
+
index:
|
889
|
+
promoted_votings: Votacions destacades
|
890
|
+
promoted_voting:
|
891
|
+
more_info: Més informació
|
892
|
+
vote: Votar
|