decidim-action_delegator 0.8.1 → 0.8.2

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/decidim/action_delegator/admin/delegations_controller.rb +1 -1
  3. data/app/controllers/decidim/action_delegator/admin/manage_delegations_controller.rb +3 -4
  4. data/app/controllers/decidim/action_delegator/admin/manage_participants_controller.rb +1 -2
  5. data/app/controllers/decidim/action_delegator/questions_summary_controller.rb +14 -0
  6. data/app/forms/decidim/action_delegator/admin/delegation_form.rb +6 -2
  7. data/app/models/concerns/decidim/action_delegator/consultations/question_override.rb +18 -0
  8. data/app/models/decidim/action_delegator/delegation.rb +25 -0
  9. data/app/models/decidim/action_delegator/participant.rb +10 -1
  10. data/app/overrides/decidim/consultations/admin/consultations/results/add_ongoing_warning.html.erb.deface +1 -1
  11. data/app/overrides/decidim/consultations/consultations/_question/replace_vote_info.html.erb.deface +4 -0
  12. data/app/overrides/decidim/consultations/questions/_results/replace_results.html.erb.deface +3 -0
  13. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal_javascript.html.erb.deface +0 -1
  14. data/app/overrides/layouts/decidim/_consultation_header/add_consultation_callout.html.erb.deface +9 -0
  15. data/app/overrides/layouts/decidim/_question_header/add_consultation_callout.html.erb.deface +9 -0
  16. data/app/packs/entrypoints/decidim_action_delegator_questions_summary.js +1 -0
  17. data/app/packs/src/decidim/action_delegator/summary.js +24 -0
  18. data/app/packs/stylesheets/decidim/action_delegator/questions.scss +1 -1
  19. data/app/services/decidim/action_delegator/delegations_csv_importer.rb +3 -3
  20. data/app/views/decidim/action_delegator/consultations/_link_with_results.html.erb +11 -0
  21. data/app/views/decidim/action_delegator/consultations/questions/_link_to_delegations.html.erb +9 -5
  22. data/app/views/decidim/action_delegator/consultations/questions/_weight_results.html.erb +8 -0
  23. data/app/views/decidim/consultations/question_votes/_callout.html.erb +47 -0
  24. data/config/assets.rb +2 -1
  25. data/config/locales/ca.yml +97 -40
  26. data/config/locales/en.yml +9 -1
  27. data/config/locales/es.yml +106 -46
  28. data/lib/decidim/action_delegator/engine.rb +2 -1
  29. data/lib/decidim/action_delegator/version.rb +2 -2
  30. metadata +12 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c9cb4e269f3433a220d34955258ee7e663add3d465833a068ff9506eef4156d
4
- data.tar.gz: bfcff5e832367d10ec48825d509f7cbdc75616cb5d34700ef596b5df7eabc39e
3
+ metadata.gz: 86b19e1b854993702dadf3708f277d118c966380818bc6833f217aba2a6a6ef1
4
+ data.tar.gz: cc1855838e4640a8836aabb25bc0adb5cc38967ae44d6eca3b2dce29454f3ac0
5
5
  SHA512:
6
- metadata.gz: d62135dd241c7b135a80baa89d682c1fa9118a9fd6ae83ddcbf1d45c70c9cbc7e18a0e131f60a99bce588b5cb903244f596822992da81c3424acdd365799f4c9
7
- data.tar.gz: 4a13be55a171cc0dd6d524f00c3e84e6e9d8e46bef3a20145c8fedb2da89f8490fd81210c3b9719dbf043de40458d865ea86a3d639ed1c42738ec13387648f09
6
+ metadata.gz: dede3edfb646c09476cada959f9c613b851bdf6bb7b95f3d4aaf9db90e3c2f7756c4b6ae7dc9f11c5be2b017860fe02b339ada863bfd29333367e7bcf1147f3f
7
+ data.tar.gz: 1b91d0c5bbba56a7f3a4c2ae030bf9904cad6aac865637a1701d0cf25edd8e634cc26062576a65df9e310b61bd6f13f3bfaa8d6ae85c1586b16b166e16a3dcd1
@@ -25,7 +25,7 @@ module Decidim
25
25
  def create
26
26
  enforce_permission_to :create, :delegation
27
27
 
28
- @form = DelegationForm.from_params(params)
28
+ @form = form(DelegationForm).from_params(params)
29
29
 
30
30
  CreateDelegation.call(@form, current_user, current_setting) do
31
31
  on(:ok) do
@@ -22,15 +22,14 @@ module Decidim
22
22
  enforce_permission_to :create, :delegation
23
23
 
24
24
  @csv_file = params[:csv_file]
25
- redirect_to seting_manage_delegations_path && return if @csv_file.blank?
25
+ redirect_to(new_setting_manage_delegation_path) && return if @csv_file.blank?
26
26
 
27
- importer_type = "DelegationsCsvImporter"
28
27
  csv_file = @csv_file.read.force_encoding("utf-8").encode("utf-8")
29
- @import_summary = Decidim::ActionDelegator::Admin::ImportCsvJob.perform_now(importer_type, csv_file, current_user, current_setting)
28
+ @import_summary = Decidim::ActionDelegator::Admin::ImportCsvJob.perform_now("DelegationsCsvImporter", csv_file, current_user, current_setting)
30
29
 
31
30
  flash[:notice] = t(".success")
32
31
 
33
- redirect_to decidim_admin_action_delegator.setting_delegations_path(current_setting)
32
+ redirect_to setting_delegations_path(current_setting)
34
33
  end
35
34
 
36
35
  private
@@ -24,9 +24,8 @@ module Decidim
24
24
  @csv_file = params[:csv_file]
25
25
  redirect_to seting_manage_participants_path && return if @csv_file.blank?
26
26
 
27
- importer_type = "ParticipantsCsvImporter"
28
27
  csv_file = @csv_file.read.force_encoding("utf-8").encode("utf-8")
29
- @import_summary = Decidim::ActionDelegator::Admin::ImportCsvJob.perform_later(importer_type, csv_file, current_user, current_setting)
28
+ @import_summary = Decidim::ActionDelegator::Admin::ImportCsvJob.perform_later("ParticipantsCsvImporter", csv_file, current_user, current_setting)
30
29
 
31
30
  flash[:notice] = t(".success")
32
31
 
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ActionDelegator
5
+ # This controller handles user profile actions for this module
6
+ class QuestionsSummaryController < ActionDelegator::ApplicationController
7
+ include Decidim::Consultations::NeedsConsultation
8
+
9
+ def show
10
+ render partial: "decidim/consultations/question_votes/callout", locals: { consultation: current_consultation }
11
+ end
12
+ end
13
+ end
14
+ end
@@ -18,15 +18,19 @@ module Decidim
18
18
  validate :grantee_exists
19
19
 
20
20
  def granter
21
- User.find_by(id: granter_id) || User.find_by(email: granter_email)
21
+ User.find_by(id: granter_id, organization: current_organization) || User.find_by(email: granter_email, organization: current_organization)
22
22
  end
23
23
 
24
24
  def grantee
25
- User.find_by(id: grantee_id) || User.find_by(email: grantee_email)
25
+ User.find_by(id: grantee_id, organization: current_organization) || User.find_by(email: grantee_email, organization: current_organization)
26
26
  end
27
27
 
28
28
  private
29
29
 
30
+ def current_organization
31
+ context&.current_organization
32
+ end
33
+
30
34
  def granter_exists
31
35
  return if granter.present?
32
36
 
@@ -11,6 +11,24 @@ module Decidim
11
11
  def publishable_results?
12
12
  (ActionDelegator.admin_preview_results || consultation.finished?) && sorted_results.any?
13
13
  end
14
+
15
+ def weighted_responses
16
+ @weighted_responses ||= Decidim::ActionDelegator::SumOfWeights.new(consultation).query.group_by(&:question_id)
17
+ end
18
+
19
+ def total_weighted_votes
20
+ @total_weighted_votes ||= weighted_responses[id].sum(&:votes_count)
21
+ end
22
+
23
+ def most_weighted_voted_response
24
+ weighted_responses[id].max_by(&:votes_count)
25
+ end
26
+
27
+ def responses_sorted_by_weighted_votes
28
+ @responses_sorted_by_weighted_votes ||= weighted_responses.transform_values do |responses|
29
+ responses.sort_by { |response| -response.votes_count }
30
+ end
31
+ end
14
32
  end
15
33
  end
16
34
  end
@@ -16,6 +16,10 @@ module Decidim
16
16
  message: I18n.t("delegations.create.error_granter_unique", scope: "decidim.action_delegator.admin")
17
17
  }
18
18
 
19
+ validate :grantee_is_not_granter
20
+ validate :granter_and_grantee_belongs_to_same_organization
21
+ validate :granter_is_same_organization_as_consultation
22
+
19
23
  delegate :consultation, to: :setting
20
24
 
21
25
  before_destroy { |record| throw(:abort) if record.grantee_voted? }
@@ -32,6 +36,27 @@ module Decidim
32
36
  granter_votes&.detect { |vote| vote.versions.exists?(whodunnit: grantee&.id) } ? true : false
33
37
  end
34
38
  end
39
+
40
+ private
41
+
42
+ def grantee_is_not_granter
43
+ return unless granter == grantee
44
+
45
+ errors.add(:grantee, :invalid)
46
+ end
47
+
48
+ def granter_and_grantee_belongs_to_same_organization
49
+ return unless granter.organization != grantee.organization
50
+
51
+ errors.add(:grantee, :invalid)
52
+ end
53
+
54
+ def granter_is_same_organization_as_consultation
55
+ return unless setting && setting.consultation
56
+ return unless consultation.organization != granter.organization
57
+
58
+ errors.add(:granter, :invalid)
59
+ end
35
60
  end
36
61
  end
37
62
  end
@@ -25,6 +25,8 @@ module Decidim
25
25
  validates :email, uniqueness: { scope: :setting }, if: -> { email.present? }
26
26
  validates :phone, uniqueness: { scope: :setting }, if: -> { phone.present? }
27
27
 
28
+ validate :user_belongs_to_organization
29
+
28
30
  # sets the decidim user if found
29
31
  before_save :set_decidim_user
30
32
 
@@ -36,7 +38,7 @@ module Decidim
36
38
  end
37
39
 
38
40
  def user_from_metadata
39
- @user_from_metadata ||= if setting.email_required?
41
+ @user_from_metadata ||= if setting&.email_required?
40
42
  Decidim::User.find_by(email: email, organization: setting.organization)
41
43
  else
42
44
  Decidim::Authorization.find_by(unique_id: uniq_ids)&.user
@@ -96,6 +98,13 @@ module Decidim
96
98
  def set_decidim_user
97
99
  self.decidim_user = user_from_metadata if decidim_user.blank?
98
100
  end
101
+
102
+ def user_belongs_to_organization
103
+ return unless decidim_user && setting && setting.consultation
104
+ return if decidim_user.organization == organization
105
+
106
+ errors.add(:decidim_user, :invalid)
107
+ end
99
108
  end
100
109
  end
101
110
  end
@@ -1,3 +1,3 @@
1
1
  <!-- insert_before '.table-list' -->
2
2
 
3
- <%= render "decidim/action_delegator/admin/consultations/ongoing_consultation_warning", consultation: current_consultation %>
3
+ <%= render "decidim/action_delegator/admin/consultations/ongoing_consultation_warning", consultation: current_consultation %>
@@ -0,0 +1,4 @@
1
+ <!-- replace_contents "erb[silent]:contains('if question.results_published?')"
2
+ closing_selector "erb[silent]:contains('else')" -->
3
+
4
+ <%= render partial: "decidim/action_delegator/consultations/link_with_results", locals: { question: question } %>
@@ -0,0 +1,3 @@
1
+ <!-- replace_contents ".card--list" -->
2
+
3
+ <%= render partial: "decidim/action_delegator/consultations/questions/weight_results", locals: { response: response, question: question } %>
@@ -1,4 +1,3 @@
1
1
  <!-- insert_before "erb[loud]:contains('javascript_pack_tag')" -->
2
2
 
3
3
  <%= javascript_pack_tag "decidim_action_delegator_questions" %>
4
-
@@ -0,0 +1,9 @@
1
+ <!-- insert_after '.consultations-home-banner' -->
2
+
3
+ <% if user_signed_in? %>
4
+ <div id="user-answers-summary" class="row" style="padding:0 1rem;margint-top:-1rem" data-summary-path="<%= decidim_action_delegator.questions_summary_path(current_consultation) %>">
5
+ <%= render "decidim/consultations/question_votes/callout", consultation: current_consultation %>
6
+
7
+ <%= javascript_pack_tag "decidim_action_delegator_questions_summary" %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <!-- insert_before 'h2' -->
2
+
3
+ <% if user_signed_in? %>
4
+ <div id="user-answers-summary" data-summary-path="<%= decidim_action_delegator.questions_summary_path(current_question.consultation) %>">
5
+ <%= render "decidim/consultations/question_votes/callout", consultation: current_question.consultation %>
6
+
7
+ <%= javascript_pack_tag "decidim_action_delegator_questions_summary" %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1 @@
1
+ import "src/decidim/action_delegator/summary.js";
@@ -0,0 +1,24 @@
1
+ $(() => {
2
+ const $usersAnswers = $("#user-answers-summary");
3
+ const path = $usersAnswers.data("summaryPath");
4
+ let $button = $("#consultations-questions-summary-button");
5
+ let $modal = $("#consultations-questions-summary-modal");
6
+ const $div = $(".question-vote-cabin").parent();
7
+ const openModal = (evt) => {
8
+ evt.preventDefault();
9
+ $modal.foundation("open");
10
+ };
11
+
12
+ $button.on("click", openModal);
13
+
14
+ $div.bind("DOMSubtreeModified", function() {
15
+ // console.log("tree changed", path);
16
+ $usersAnswers.load(path, () => {
17
+ $button = $usersAnswers.find("#consultations-questions-summary-button");
18
+ $modal = $usersAnswers.find("#consultations-questions-summary-modal");
19
+ // console.log("usersanswer loaded")
20
+ $usersAnswers.foundation();
21
+ $button.on("click", openModal);
22
+ });
23
+ });
24
+ });
@@ -11,7 +11,7 @@
11
11
 
12
12
  .question-vote-cabin {
13
13
  .delegations-notice {
14
- a {
14
+ button {
15
15
  color: var(--secondary);
16
16
  font-weight: 600;
17
17
  background: transparent;
@@ -23,7 +23,7 @@ module Decidim
23
23
  grantee_email: row["to"].to_s.strip.downcase
24
24
  }
25
25
 
26
- @form = form(Decidim::ActionDelegator::Admin::DelegationForm).from_params(params, setting: @current_setting)
26
+ @form = form(Decidim::ActionDelegator::Admin::DelegationForm).from_params(params, setting: @current_setting, current_organization: @current_setting.organization)
27
27
 
28
28
  {
29
29
  granter_id: @form.granter&.id,
@@ -31,8 +31,8 @@ module Decidim
31
31
  }
32
32
  end
33
33
 
34
- def delegation_exists?(params)
35
- @delegation = Delegation.find_by(granter_id: params[:granter_id], grantee_id: params[:grantee_id])
34
+ def delegation_exists?(_params)
35
+ @delegation = Delegation.find_by(granter: @form.granter, grantee: @form.grantee)
36
36
 
37
37
  @delegation.present?
38
38
  end
@@ -0,0 +1,11 @@
1
+ <%= link_to decidim_consultations.question_path(question), class: "button expanded button--sc" do %>
2
+ <%= t "consultations.question.view_results", scope: "decidim" %>
3
+ <% if question.most_weighted_voted_response.present? %>
4
+ <span class="button__info"><%= translated_attribute question.most_weighted_voted_response.title %></span>
5
+ <span class="button__info">
6
+ <%= question.most_weighted_voted_response.votes_count %>
7
+ <%= t "consultations.question.votes_out_of", scope: "decidim", count: question.most_weighted_voted_response.votes_count %>
8
+ <%= question.total_weighted_votes %>
9
+ </span>
10
+ <% end %>
11
+ <% end %>
@@ -1,11 +1,15 @@
1
1
  <% if Decidim::ActionDelegator::Delegation.granted_to?(current_user, question.consultation) %>
2
2
  <% if has_any_delegate_vote?(question) %>
3
- <div class="delegations-notice flex--cc">
4
- <%= link_to t("action_delegator.delegations.has_delegations", scope: "decidim"), "#", id: "delegations-button" %>
3
+ <div class="delegations-notice flex--cc" style="margin-top:1rem;">
4
+ <button id="delegations-button" class="card__button hollow button small expanded text-white">
5
+ <%= t("action_delegator.delegations.has_delegations", scope: "decidim") %>
6
+ </button>
5
7
  </div>
6
8
  <% else %>
7
- <div class="delegations-notice flex--cc">
8
- <%= link_to t("action_delegator.delegations.link", scope: "decidim"), "#", id: "delegations-button" %>
9
- </div>
9
+ <div class="delegations-notice flex--cc" style="margin-top:1rem; width: 100%;">
10
+ <button id="delegations-button" class="card__button button small expanded secondary hollow">
11
+ <%= t("action_delegator.delegations.link", scope: "decidim") %>
12
+ </button>
13
+ </div>
10
14
  <% end %>
11
15
  <% end %>
@@ -0,0 +1,8 @@
1
+ <% question.responses_sorted_by_weighted_votes[question.id].each do |response| %>
2
+ <div class=card--list__item>
3
+ <div class="card--list__text"><%= translated_attribute response.title %></div>
4
+ <div class="card--list__data">
5
+ <span class="card--list__data__number"><%= response.votes_count %></span>
6
+ </div>
7
+ </div>
8
+ <% end %>
@@ -0,0 +1,47 @@
1
+ <% total_published_questions = consultation.questions.published.count %>
2
+ <% voted_questions = consultation.questions.published.joins(:votes).where(votes: { author: current_user }).distinct.count(:id) %>
3
+
4
+ <% alert_class = total_published_questions != voted_questions ? "warning" : "success" %>
5
+
6
+ <div class="callout <%= alert_class %>">
7
+ <p>
8
+ <%= t("action_delegator.questions.callout_text", scope: "decidim", voted: voted_questions, total: total_published_questions) %>
9
+ <a href="#" class="text-primary" id="consultations-questions-summary-button"><%= t("action_delegator.questions.callout_link_text", scope: "decidim") %></a>
10
+ </p>
11
+ </div>
12
+
13
+ <div class="reveal" id="consultations-questions-summary-modal" data-reveal>
14
+ <h4><%= t("action_delegator.questions.modal.modal_votes_title", scope: "decidim", title: translated_attribute(consultation.title)) %></h4>
15
+ <p class="lead">
16
+ <table class="table-list">
17
+ <thead>
18
+ <tr>
19
+ <th width="200"><%= t("action_delegator.questions.modal.modal_table_header_question", scope: "decidim") %></th>
20
+ <th width="150"><%= t("action_delegator.questions.modal.modal_table_header_answer", scope: "decidim") %></th>
21
+ </tr>
22
+ </thead>
23
+ <tbody>
24
+ <% consultation.questions.each do |question| %>
25
+ <tr>
26
+ <td><%= strip_tags(translated_attribute(question.title)).truncate(200, separator: /\s/) %></td>
27
+ <td>
28
+ <% if question.votes.where(author: current_user).any? %>
29
+ <% user_response = question.responses.joins(:votes).find_by(votes: { author: current_user }) %>
30
+ <% if user_response %>
31
+ <p title="<%= translated_attribute(user_response.title) %>"><%= t("booleans.true") %></p>
32
+ <% else %>
33
+ <%= link_to t("action_delegator.questions.question_not_answered", scope: "decidim"), decidim_consultations.question_path(question), class: "text-primary" %>
34
+ <% end %>
35
+ <% else %>
36
+ <%= link_to t("action_delegator.questions.question_not_answered", scope: "decidim"), decidim_consultations.question_path(question), class: "text-primary" %>
37
+ <% end %>
38
+ </td>
39
+ </tr>
40
+ <% end %>
41
+ </tbody>
42
+ </table>
43
+ </p>
44
+ <button class="close-button" data-close aria-label="Close modal" type="button">
45
+ <span aria-hidden="true">&times;</span>
46
+ </button>
47
+ </div>
data/config/assets.rb CHANGED
@@ -19,7 +19,8 @@ Decidim::Webpacker.register_path("#{base_path}/app/packs")
19
19
  # SCSS files within the entrypoints, they become available for inclusion using
20
20
  # `stylesheet_pack_tag`.
21
21
  Decidim::Webpacker.register_entrypoints(
22
- decidim_action_delegator_questions: "#{base_path}/app/packs/entrypoints/decidim_action_delegator_questions.js"
22
+ decidim_action_delegator_questions: "#{base_path}/app/packs/entrypoints/decidim_action_delegator_questions.js",
23
+ decidim_action_delegator_questions_summary: "#{base_path}/app/packs/entrypoints/decidim_action_delegator_questions_summary.js"
23
24
  )
24
25
 
25
26
  # If you want to import some extra SCSS files in the Decidim main SCSS file
@@ -15,16 +15,19 @@ ca:
15
15
  setting:
16
16
  decidim_consultation_id: Consulta
17
17
  max_grants: Màxim nombre de delegacions que pot rebre una participant
18
- phone_freezed: Usa el número de telèfon del cens. No permet als participants editar-lo.
18
+ phone_freezed: Usa el número de telèfon del cens. No permet als participants
19
+ editar-lo.
19
20
  verify_with_sms: Verifica amb SMS
20
21
  errors:
21
22
  models:
22
23
  delegations_verifier:
23
24
  attributes:
24
25
  email:
25
- email_not_found: Ho sentim, el teu email no és al cens. Si us plau, contacteu amb nosaltres si penseu que hi ha un error.
26
+ email_not_found: Ho sentim, el teu email no és al cens. Si us plau,
27
+ contacteu amb nosaltres si penseu que hi ha un error.
26
28
  phone:
27
- phone_not_found: Ho sentim, el teu email no és al cens. Si us plau, contacta amb nosaltres is creieu que és un error.
29
+ phone_not_found: Ho sentim, el teu email no és al cens. Si us plau,
30
+ contacta amb nosaltres is creieu que és un error.
28
31
  decidim:
29
32
  action_delegator:
30
33
  admin:
@@ -81,23 +84,29 @@ ca:
81
84
  manage_delegations:
82
85
  create:
83
86
  error: S'ha produït un error en importar les participants
84
- success: El procés d'importació ha començat, espereu uns minuts i actualitzeu la pàgina per veure la llista de participants. Els resultats d'importació s'enviaran per correu electrònic.
87
+ success: El procés d'importació ha començat, espereu uns minuts i actualitzeu
88
+ la pàgina per veure la llista de participants. Els resultats d'importació
89
+ s'enviaran per correu electrònic.
85
90
  new:
86
91
  import: Importa
87
- required_fields: 'Camps obligatoris: Email de l''atorgant, email de la receptora'
92
+ required_fields: 'Camps obligatoris: Email de l''atorgant, email de la
93
+ receptora'
88
94
  title: Importa les delegacions
89
95
  title_example: 'Exemple:'
90
96
  upload_instructions: Ha de ser un fitxer en format CSV amb una capçalera.
91
97
  manage_participants:
92
98
  create:
93
99
  error: S'ha produït un error en importar les participants
94
- success: El procés d'importació ha començat, espereu uns minuts i actualitzeu la pàgina per veure la llista de participants. Els resultats d'importació s'enviaran per correu electrònic.
100
+ success: El procés d'importació ha començat, espereu uns minuts i actualitzeu
101
+ la pàgina per veure la llista de participants. Els resultats d'importació
102
+ s'enviaran per correu electrònic.
95
103
  new:
96
104
  authorization_method:
97
105
  both: correu electrònic i número de telèfon mòbil
98
106
  email: correu electrònic
99
107
  phone: número de telèfon
100
- describe: 'Tingueu en compte que també és possible importar pesos utilitzant el nom de la taula de ponderació en comptes del número de pes, per exemple:'
108
+ describe: 'Tingueu en compte que també és possible importar pesos utilitzant
109
+ el nom de la taula de ponderació en comptes del número de pes, per exemple:'
101
110
  import: Importar
102
111
  required_fields: 'Camps obligatoris: %{authorization_method}'
103
112
  title: Importar participants
@@ -125,12 +134,15 @@ ca:
125
134
  csv_import: Importa CSV
126
135
  new_participant: Nova participant
127
136
  remove_census: Elimina el cens
128
- all_users_registered_html: Totes les participants estan registrades a la plataforma
137
+ all_users_registered_html: Totes les participants estan registrades a
138
+ la plataforma
129
139
  created_at: Creat el
130
140
  email: Correu electrònic
131
141
  last_login: Darrer inici de sessió
132
- missing_emails: El mètode d'autorització no requereix un correu electrònic. Per això, %{count} s'han de registrar elles mateixes a la plataforma
133
- missing_registered: Hi ha %{missing_registered} participants que no estan registrades a la plataforma
142
+ missing_emails: El mètode d'autorització no requereix un correu electrònic.
143
+ Per això, %{count} s'han de registrar elles mateixes a la plataforma
144
+ missing_registered: Hi ha %{missing_registered} participants que no estan
145
+ registrades a la plataforma
134
146
  never_logged: Mai ha iniciat sessió
135
147
  participant: participant
136
148
  phone: Telèfon
@@ -143,14 +155,17 @@ ca:
143
155
  save: Crea
144
156
  title: Nova participant
145
157
  remove_census:
146
- confirm: Esteu segur que voleu suprimir aquest cens? Aquesta operació no es pot desfer
147
- success: "%{participants_count} entrades s'han suprimit correctament del cens"
158
+ confirm: Esteu segur que voleu suprimir aquest cens? Aquesta operació
159
+ no es pot desfer
160
+ success: "%{participants_count} entrades s'han suprimit correctament del
161
+ cens"
148
162
  update:
149
163
  error: S'ha produït un error en actualitzar la participant
150
164
  success: Participant desada correctament
151
165
  permissions:
152
166
  sync:
153
- started: La sincronització dels participants ha començat. Espereu uns minuts i actualitzeu aquesta pàgina.
167
+ started: La sincronització dels participants ha començat. Espereu uns
168
+ minuts i actualitzeu aquesta pàgina.
154
169
  update:
155
170
  error: S'ha produït un error en actualitzar els permisos
156
171
  success: Permisos actualitzats correctament
@@ -165,9 +180,13 @@ ca:
165
180
  save: Desa
166
181
  title: Edita el tipus d'afiliació
167
182
  form:
168
- name_help: Tipus d'associat, per exemple "soci col·laborador", "soci", "patró". Ha de ser únic.
169
- name_placeholder: 'Proveu, per exemple: "membre", "soci", "simpatitzant", "usuari base"...'
170
- weight_help: 'Pes del vot, per exemple: "1", "2", "1,5". Aquest número servirà per ponderar els vots de les participants assignades a cada tipologia.'
183
+ name_help: Tipus d'associat, per exemple "soci col·laborador", "soci",
184
+ "patró". Ha de ser únic.
185
+ name_placeholder: 'Proveu, per exemple: "membre", "soci", "simpatitzant",
186
+ "usuari base"...'
187
+ weight_help: 'Pes del vot, per exemple: "1", "2", "1,5". Aquest número
188
+ servirà per ponderar els vots de les participants assignades a cada
189
+ tipologia.'
171
190
  index:
172
191
  actions:
173
192
  new_ponderation: Nou tipus d'afiliació
@@ -195,7 +214,9 @@ ca:
195
214
  <li><b>Correu electrònic i número de telèfon:</b> utilitza la verificació per SMS. El correu electrònic de la participant ha de coincidir amb el cens i el número de telèfon estarà predefinit.</li>
196
215
  </ul>
197
216
  check_verifier:
198
- not_installed_html: Sembla que el mètode d'autorització "Verificador de Governança societària" no està instal·lat. No podeu utilitzar el cens integrat sense aquest. Instal·leu-lo a <a href="/system">/system</a>.
217
+ not_installed_html: Sembla que el mètode d'autorització "Verificador de
218
+ Governança societària" no està instal·lat. No podeu utilitzar el cens
219
+ integrat sense aquest. Instal·leu-lo a <a href="/system">/system</a>.
199
220
  copy_setting: 'Copia ponderacions i cens de:'
200
221
  create:
201
222
  error: S'ha produït un error en crear la configuració
@@ -232,20 +253,36 @@ ca:
232
253
  save: Desa
233
254
  title: Nova configuració
234
255
  setting_checks:
235
- all_users_authorized_html: Totes les participants són verficades pel <i>Verificador de Governança societària</i>.
236
- all_users_registered_html: Totes les participants estan registrades a la plataforma.
256
+ all_users_authorized_html: Totes les participants són verficades pel <i>Verificador
257
+ de Governança societària</i>.
258
+ all_users_registered_html: Totes les participants estan registrades a
259
+ la plataforma.
237
260
  click_to_fix: Feu clic aquí per solucionar-ho automàticament
238
- consultation_questions_all_verified_html: Totes les preguntes estan restringides pel <i>Verificador de Governança societària</i>.
239
- consultation_questions_missing_verifier_html: Hi ha %{count} preguntes que no estan restringides pel <i>Verificador de Governança societària</i>. <b>Sense això, tothom podrà votar-hi.</b> <em>Això és correcte si utilitzeu altres mètodes d'autorització o si tothom té permís per votar.</em>
240
- missing_authorizations_html: Hi ha %{count} participants que no estan verificats pel <i>Verificador de Governança societària</i>. <em>Això està bé si aquestes participants tenen els seus vots delegats a altres persones o si utilitzeu altres mètodes de verificació (o cap).</em>
241
- missing_emails: El mètode d'autorització no requereix un correu electrònic. Per això, %{count} s'han de registrar elles mateixes a la plataforma
242
- missing_registered_users_html: Hi ha %{count} participants que no estan registrats a la plataforma.
261
+ consultation_questions_all_verified_html: Totes les preguntes estan restringides
262
+ pel <i>Verificador de Governança societària</i>.
263
+ consultation_questions_missing_verifier_html: Hi ha %{count} preguntes
264
+ que no estan restringides pel <i>Verificador de Governança societària</i>.
265
+ <b>Sense això, tothom podrà votar-hi.</b> <em>Això és correcte si utilitzeu
266
+ altres mètodes d'autorització o si tothom té permís per votar.</em>
267
+ missing_authorizations_html: Hi ha %{count} participants que no estan
268
+ verificats pel <i>Verificador de Governança societària</i>. <em>Això
269
+ està bé si aquestes participants tenen els seus vots delegats a altres
270
+ persones o si utilitzeu altres mètodes de verificació (o cap).</em>
271
+ missing_emails: El mètode d'autorització no requereix un correu electrònic.
272
+ Per això, %{count} s'han de registrar elles mateixes a la plataforma
273
+ missing_registered_users_html: Hi ha %{count} participants que no estan
274
+ registrats a la plataforma.
243
275
  no_delegations_html: No hi ha delegacions de vot.
244
- no_participants_html: No hi ha cens! <b>Afegiu participants o ningú podrà votar si el <i>Verificador de Governança societària</i> està actiu.</b> <em>Això és correcte si feu servir altres mètodes d'autorització o si tothom té permís per votar.</em>
245
- no_ponderations_html: No hi ha ponderacions de vot. <b>Totes les participants tindran el mateix pes en els seus vots</b>
276
+ no_participants_html: No hi ha cens! <b>Afegiu participants o ningú podrà
277
+ votar si el <i>Verificador de Governança societària</i> està actiu.</b>
278
+ <em>Això és correcte si feu servir altres mètodes d'autorització o si
279
+ tothom té permís per votar.</em>
280
+ no_ponderations_html: No hi ha ponderacions de vot. <b>Totes les participants
281
+ tindran el mateix pes en els seus vots</b>
246
282
  participant: participant
247
283
  user: usuària
248
- users_need_sync_html: Cal sincronitzar la llista de participants. <b>Els resultats de la consulta poden ser incorrectes!</b>
284
+ users_need_sync_html: Cal sincronitzar la llista de participants. <b>Els
285
+ resultats de la consulta poden ser incorrectes!</b>
249
286
  state:
250
287
  closed: Tancat
251
288
  ongoing: En curs
@@ -258,15 +295,19 @@ ca:
258
295
  authorizations:
259
296
  new:
260
297
  missing_phone_error: No s'ha trobat telèfon de l'associat
261
- phone_warning: Aquest número de telèfon s'ha importat per l'administrador. Si us plau, poseu-vos-hi en contacte si no és correcte.
298
+ phone_warning: Aquest número de telèfon s'ha importat per l'administrador.
299
+ Si us plau, poseu-vos-hi en contacte si no és correcte.
262
300
  delegations:
263
301
  has_delegations: Vot delegat realitzat
264
- link: Tens delegacions disponibles
302
+ link: "\U0001F449 Tens delegacions disponibles"
265
303
  delegations_authorizer:
266
- email: Estem utilitzant el correu electrònic %{email} per verificar la vostra identitat. Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
267
- no_setting: No s'ha trobat cap grup de delegació per a aquesta consulta. Poseu-vos en contacte amb l'administrador per solucionar-ho.
304
+ email: Estem utilitzant el correu electrònic %{email} per verificar la vostra
305
+ identitat. Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
306
+ no_setting: No s'ha trobat cap grup de delegació per a aquesta consulta. Poseu-vos
307
+ en contacte amb l'administrador per solucionar-ho.
268
308
  not_in_census: No ets al cens
269
- phone: Estem utilitzant el telèfon %{phone} per verificar la vostra identitat. Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
309
+ phone: Estem utilitzant el telèfon %{phone} per verificar la vostra identitat.
310
+ Si creieu que això està malament, poseu-vos en contacte amb nosaltres.
270
311
  delegations_modal:
271
312
  callout: Recorda, estàs votant en nom de
272
313
  contextual_help: 'Has estat autoritzat a votar en nom de:'
@@ -277,7 +318,9 @@ ca:
277
318
  errors_title: "<b>S'han trobat:</b> %{errors_count} errors"
278
319
  greeting: Hola %{name},
279
320
  info_messages: Motiu d'omissió
280
- instructions: "<p>S'adjunta un fitxer amb els detalls de la importació, conté les files que no s'han importat.</p>\n<p>Si voleu continuar important, corregiu les files especificades, suprimiu l'última columna del fitxer, deseu el fitxer i torna a importar.</p>\n"
321
+ instructions: |
322
+ <p>S'adjunta un fitxer amb els detalls de la importació, conté les files que no s'han importat.</p>
323
+ <p>Si voleu continuar important, corregiu les files especificades, suprimiu l'última columna del fitxer, deseu el fitxer i torna a importar.</p>
281
324
  result: "<b>Importat:</b> %{rows_count} files de %{total_rows_count}."
282
325
  row_number: Número de fila
283
326
  skipped_rows: "<b>S'han omès:</b> %{skipped_rows} files."
@@ -286,7 +329,8 @@ ca:
286
329
  text_error: Error
287
330
  invite_participants_mailer:
288
331
  confirmation:
289
- body: Us han convidat a participar en la consulta. Feu clic a l'enllaç següent per confirmar la vostra participació.
332
+ body: Us han convidat a participar en la consulta. Feu clic a l'enllaç següent
333
+ per confirmar la vostra participació.
290
334
  confirm: Confirmar la participació
291
335
  greeting: Hola %{recipient},
292
336
  name: Mòdul Decidim ActionDelegator per a cooperatives
@@ -300,7 +344,15 @@ ca:
300
344
  phone_exists: El participant amb aquest telèfon ja existeix
301
345
  ponderation_not_found: No s'ha trobat el tipus de ponderació
302
346
  skip_import_info: El participant ja existeix %{with_mismatched_fields}
303
- with_mismatched_fields: "amb camps no coincidents: %{fields}"
347
+ with_mismatched_fields: 'amb camps no coincidents: %{fields}'
348
+ questions:
349
+ callout_link_text: Revisa el resum de la teva votació aquí
350
+ callout_text: Has respost %{voted} de un total de %{total} preguntes.
351
+ modal:
352
+ modal_table_header_answer: Has respost?
353
+ modal_table_header_question: Pregunta
354
+ modal_votes_title: Els teus vots a "%{title}"
355
+ question_not_answered: No, ves-hi
304
356
  sms_message: El teu codi de verificació és %{code}
305
357
  user_delegations:
306
358
  index:
@@ -322,9 +374,13 @@ ca:
322
374
  new:
323
375
  authorize: Autoritza el meu compte
324
376
  missing_phone_error: Falta el telèfon de l'associat
325
- not_in_census: Ho sentim, però no pots estar autoritzat perquè el teu correu electrònic no està al cens. Poseu-vos en contacte amb l'administrador si creieu que es tracta d'un error.
326
- participate_in: 'Aquesta autorització us permet participar en les consultes següents: %{consultations}'
327
- phone_warning: Aquest número de telèfon ha estat importat per l'administrador. Si us plau, poseu-vos en contacte si no és correcte.
377
+ not_in_census: Ho sentim, però no pots estar autoritzat perquè el teu
378
+ correu electrònic no està al cens. Poseu-vos en contacte amb l'administrador
379
+ si creieu que es tracta d'un error.
380
+ participate_in: 'Aquesta autorització us permet participar en les consultes
381
+ següents: %{consultations}'
382
+ phone_warning: Aquest número de telèfon ha estat importat per l'administrador.
383
+ Si us plau, poseu-vos en contacte si no és correcte.
328
384
  send_code: Envia el codi de verificació
329
385
  title: Autoritza amb el Verificador de Governança societària
330
386
  admin:
@@ -344,9 +400,10 @@ ca:
344
400
  admin:
345
401
  delegations_verifier:
346
402
  help:
347
- - Mètode de verificació per la delegació de vot
403
+ - Mètode de verificació per la delegació de vot
348
404
  delegations_verifier:
349
- explanation: Els usuaris verificats per aquest mètode poden delegar els seus vots a altres usuaris
405
+ explanation: Els usuaris verificats per aquest mètode poden delegar els seus
406
+ vots a altres usuaris
350
407
  fields:
351
408
  phone: Número de telèfon
352
409
  name: Governança societària
@@ -298,7 +298,7 @@ en:
298
298
  reach out if it's not correct.
299
299
  delegations:
300
300
  has_delegations: Delegate vote made
301
- link: You have delegations granted
301
+ link: "\U0001F449 You have delegations granted"
302
302
  delegations_authorizer:
303
303
  email: We are using the email %{email} to verify your identity. If you think
304
304
  this is wrong, please contact us.
@@ -345,6 +345,14 @@ en:
345
345
  ponderation_not_found: Ponderation type not found
346
346
  skip_import_info: Participant already exists %{with_mismatched_fields}
347
347
  with_mismatched_fields: " with mismatched fields: %{fields}"
348
+ questions:
349
+ callout_link_text: Review the summary of your vote here
350
+ callout_text: You have answered %{voted} from a total of %{total} questions.
351
+ modal:
352
+ modal_table_header_answer: Did you answer?
353
+ modal_table_header_question: Question
354
+ modal_votes_title: Your votes in "%{title}"
355
+ question_not_answered: No, take me there
348
356
  sms_message: Your verification code is %{code}
349
357
  user_delegations:
350
358
  index:
@@ -14,17 +14,23 @@ es:
14
14
  name_help: Tipo de miembro
15
15
  setting:
16
16
  decidim_consultation_id: Consulta
17
- max_grants: Número máximo de delegaciones de voto que una participante puede recibir
18
- phone_freezed: Utilice el número de teléfono del censo. No permita que los participantes lo editen.
17
+ max_grants: Número máximo de delegaciones de voto que una participante puede
18
+ recibir
19
+ phone_freezed: Utilice el número de teléfono del censo. No permita que los
20
+ participantes lo editen.
19
21
  verify_with_sms: Verificar con SMS
20
22
  errors:
21
23
  models:
22
24
  delegations_verifier:
23
25
  attributes:
24
26
  email:
25
- email_not_found: Lo sentimos, este correo electrónico no está en el censo. Por favor, póngase en contacto con nosotros si cree que esto es un error.
27
+ email_not_found: Lo sentimos, este correo electrónico no está en el
28
+ censo. Por favor, póngase en contacto con nosotros si cree que esto
29
+ es un error.
26
30
  phone:
27
- phone_not_found: Lo sentimos, este correo electrónico no está en el censo. Por favor, póngase en contacto con nosotros si cree que esto es un error.
31
+ phone_not_found: Lo sentimos, este correo electrónico no está en el
32
+ censo. Por favor, póngase en contacto con nosotros si cree que esto
33
+ es un error.
28
34
  decidim:
29
35
  action_delegator:
30
36
  admin:
@@ -56,9 +62,9 @@ es:
56
62
  delete: Eliminar
57
63
  description_html: Estas son las delegaciones actuales para esta consulta
58
64
  grantee: Receptora (a)
59
- grantee_voted: '¿Se ha utilizado la delegación?'
65
+ grantee_voted: "¿Se ha utilizado la delegación?"
60
66
  granter: Otorgante
61
- granter_voted: '¿Ha votado la otorgante?'
67
+ granter_voted: "¿Ha votado la otorgante?"
62
68
  title: Participantes
63
69
  new:
64
70
  grantee: Beneficiario
@@ -81,23 +87,30 @@ es:
81
87
  manage_delegations:
82
88
  create:
83
89
  error: Se ha producido un error en importar las participantes
84
- success: El proceso de importación ha comenzado, por favor espere unos minutos y actualice la página para ver la lista de participantes. Los resultados de importación se enviarán por correo electrónico.
90
+ success: El proceso de importación ha comenzado, por favor espere unos
91
+ minutos y actualice la página para ver la lista de participantes. Los
92
+ resultados de importación se enviarán por correo electrónico.
85
93
  new:
86
94
  import: Importar
87
- required_fields: 'Campos requeridos: correo del otorgante, correo del receptor'
95
+ required_fields: 'Campos requeridos: correo del otorgante, correo del
96
+ receptor'
88
97
  title: Importar delegaciones
89
98
  title_example: 'Ejemplo:'
90
99
  upload_instructions: Debe ser un archivo en formato CSV con un encabezado.
91
100
  manage_participants:
92
101
  create:
93
102
  error: Se ha producido un error en importar las participantes
94
- success: El proceso de importación ha comenzado, por favor espere unos minutos y actualice la página para ver la lista de participantes. Los resultados de importación se enviarán por correo electrónico.
103
+ success: El proceso de importación ha comenzado, por favor espere unos
104
+ minutos y actualice la página para ver la lista de participantes. Los
105
+ resultados de importación se enviarán por correo electrónico.
95
106
  new:
96
107
  authorization_method:
97
108
  both: correo electrónico y número de teléfono
98
109
  email: correo electrónico
99
110
  phone: número de teléfono
100
- describe: 'Tenga en cuenta que también es posible importar pesos usando el nombre en la tabla de ponderación en lugar del número de peso, por ejemplo:'
111
+ describe: 'Tenga en cuenta que también es posible importar pesos usando
112
+ el nombre en la tabla de ponderación en lugar del número de peso, por
113
+ ejemplo:'
101
114
  import: Importar
102
115
  required_fields: 'Campos requeridos: %{authorization_method}'
103
116
  title: Importar participantes
@@ -125,12 +138,15 @@ es:
125
138
  csv_import: Importar CSV
126
139
  new_participant: Nueva participante
127
140
  remove_census: Eliminar censo
128
- all_users_registered_html: Todas las participantes están registradas en la plataforma
141
+ all_users_registered_html: Todas las participantes están registradas en
142
+ la plataforma
129
143
  created_at: Creado el
130
144
  email: Correo electrónico
131
145
  last_login: Último acceso
132
- missing_emails: El método de autorización no requiere un correo electrónico. Por esto, %{count} debe registrarse en la plataforma
133
- missing_registered: Hay %{missing_registered} participantes que no están registradas en la plataforma
146
+ missing_emails: El método de autorización no requiere un correo electrónico.
147
+ Por esto, %{count} debe registrarse en la plataforma
148
+ missing_registered: Hay %{missing_registered} participantes que no están
149
+ registradas en la plataforma
134
150
  never_logged: Nunca ha iniciado sesión
135
151
  participant: participante
136
152
  phone: Teléfono
@@ -138,19 +154,22 @@ es:
138
154
  send_invitation_link: Haga clic aquí para enviarles una invitación
139
155
  title: Censo
140
156
  user: Nombre
141
- voted: '¿Ha votado?'
157
+ voted: "¿Ha votado?"
142
158
  new:
143
159
  save: Crear
144
160
  title: Nueva participante
145
161
  remove_census:
146
- confirm: '¿Está seguro de que quiere eliminar el censo? Esta acción no se puede deshacer'
147
- success: "%{participants_count} entradas fueron eliminadas de la página con éxito"
162
+ confirm: "¿Está seguro de que quiere eliminar el censo? Esta acción no
163
+ se puede deshacer"
164
+ success: "%{participants_count} entradas fueron eliminadas de la página
165
+ con éxito"
148
166
  update:
149
167
  error: Se ha producido un error en actualizar las participantes
150
168
  success: Participantes guardados con éxito
151
169
  permissions:
152
170
  sync:
153
- started: La sincronización de participantes ha comenzado. Por favor espere unos minutos y actualice esta página.
171
+ started: La sincronización de participantes ha comenzado. Por favor espere
172
+ unos minutos y actualice esta página.
154
173
  update:
155
174
  error: Se ha producido un error al actualizar los permisos
156
175
  success: Permisos correctamente actualizados.
@@ -165,9 +184,11 @@ es:
165
184
  save: Guardar
166
185
  title: Editar tipos de ponderación
167
186
  form:
168
- name_help: Tipo de asociado, p. ej., "socio", "consumidor", "patrón". Debe ser único.
187
+ name_help: Tipo de asociado, p. ej., "socio", "consumidor", "patrón".
188
+ Debe ser único.
169
189
  name_placeholder: 'Prueba, por ejemplo: "miembro", "asociado", "partidario"...'
170
- weight_help: Peso del voto p. ej., "1", "2", "1.5". Este número se utilizará para sopesar los votos de las participantes en este tipo de ponderación.
190
+ weight_help: Peso del voto p. ej., "1", "2", "1.5". Este número se utilizará
191
+ para sopesar los votos de las participantes en este tipo de ponderación.
171
192
  index:
172
193
  actions:
173
194
  new_ponderation: Nueva ponderación
@@ -195,7 +216,9 @@ es:
195
216
  <li><b>Correo electrónico y número de teléfono:</b> Utiliza verificación por SMS. El correo electrónico de la participante debe coincidir con el censo y el número de teléfono estará predefinido.</li>
196
217
  </ul>
197
218
  check_verifier:
198
- not_installed_html: Parece que el método de autorización "Verificador de Gobernanza Societaria" no está activado. No puedes autenticar el censo sin la activación. Instálelo en <a href="/system">/system</a>.
219
+ not_installed_html: Parece que el método de autorización "Verificador
220
+ de Gobernanza Societaria" no está activado. No puedes autenticar el
221
+ censo sin la activación. Instálelo en <a href="/system">/system</a>.
199
222
  copy_setting: 'Copiar ponderaciones y censo de:'
200
223
  create:
201
224
  error: Se ha producido un problema al crear la configuración
@@ -232,20 +255,37 @@ es:
232
255
  save: Guardar
233
256
  title: Nueva configuración
234
257
  setting_checks:
235
- all_users_authorized_html: Todas las participantes están verificadas por el <i>Verificador de Gobernanza Societaria</i>.
236
- all_users_registered_html: Todos los participantes están registrados en la plataforma.
258
+ all_users_authorized_html: Todas las participantes están verificadas por
259
+ el <i>Verificador de Gobernanza Societaria</i>.
260
+ all_users_registered_html: Todos los participantes están registrados en
261
+ la plataforma.
237
262
  click_to_fix: Haga clic aquí para arreglar esto automáticamente
238
- consultation_questions_all_verified_html: Todas las preguntas están restringidas por el <i>Verificador de Gobernanza Societaria</i>.
239
- consultation_questions_missing_verifier_html: Hay %{count} preguntas que no están restringidas por el <i>Verificador de Gobernanza Societaria</i>. <b>Sin la restricción, cualquiera podrá votar las preguntas.</b> <em>Esto está bien si está utilizando otros métodos de autorización o si todas las registradas pueden votar.</em>
240
- missing_authorizations_html: Hay %{count} participantes que no están verificadas por el <i>Verificador de Gobernanza Societaria</i>. <em>Está bien si estas participantes tienen sus votos delegados a otras o si está utilizando otros métodos de verificación (o ninguno).</em>
241
- missing_emails: El método de autorización no requiere un correo electrónico. Por esto, %{count} debe registrarse en la plataforma
242
- missing_registered_users_html: Hay %{count} participantes que no están registrados en la plataforma.
263
+ consultation_questions_all_verified_html: Todas las preguntas están restringidas
264
+ por el <i>Verificador de Gobernanza Societaria</i>.
265
+ consultation_questions_missing_verifier_html: Hay %{count} preguntas que
266
+ no están restringidas por el <i>Verificador de Gobernanza Societaria</i>.
267
+ <b>Sin la restricción, cualquiera podrá votar las preguntas.</b> <em>Esto
268
+ está bien si está utilizando otros métodos de autorización o si todas
269
+ las registradas pueden votar.</em>
270
+ missing_authorizations_html: Hay %{count} participantes que no están verificadas
271
+ por el <i>Verificador de Gobernanza Societaria</i>. <em>Está bien si
272
+ estas participantes tienen sus votos delegados a otras o si está utilizando
273
+ otros métodos de verificación (o ninguno).</em>
274
+ missing_emails: El método de autorización no requiere un correo electrónico.
275
+ Por esto, %{count} debe registrarse en la plataforma
276
+ missing_registered_users_html: Hay %{count} participantes que no están
277
+ registrados en la plataforma.
243
278
  no_delegations_html: No hay votos delegados.
244
- no_participants_html: '¡No hay censo! <b>Añade participantes o nadie podrá votar si el <i>Verificador de Gobernanza Societaria</i> está activo.</b> <em>Está bien si está utilizando otros métodos de autorización o si todas las registradas pueden votar.</em>'
245
- no_ponderations_html: No hay ponderaciones de votos. <b>Todos los usuarios tendrán el mismo peso en sus votos</b>
279
+ no_participants_html: "¡No hay censo! <b>Añade participantes o nadie podrá
280
+ votar si el <i>Verificador de Gobernanza Societaria</i> está activo.</b>
281
+ <em>Está bien si está utilizando otros métodos de autorización o si
282
+ todas las registradas pueden votar.</em>"
283
+ no_ponderations_html: No hay ponderaciones de votos. <b>Todos los usuarios
284
+ tendrán el mismo peso en sus votos</b>
246
285
  participant: participante
247
286
  user: participante
248
- users_need_sync_html: La lista de participantes debe sincronizarse. <b>¡Los resultados de la consulta pueden ser incorrectos!</b>
287
+ users_need_sync_html: La lista de participantes debe sincronizarse. <b>¡Los
288
+ resultados de la consulta pueden ser incorrectos!</b>
249
289
  state:
250
290
  closed: Cerrado
251
291
  ongoing: En proceso
@@ -258,15 +298,19 @@ es:
258
298
  authorizations:
259
299
  new:
260
300
  missing_phone_error: Falta el teléfono de miembro
261
- phone_warning: Este número de teléfono ha sido importado por el administrador. Por favor, contacta si no es correcto.
301
+ phone_warning: Este número de teléfono ha sido importado por el administrador.
302
+ Por favor, contacta si no es correcto.
262
303
  delegations:
263
304
  has_delegations: Voto delegado realizado
264
- link: Tienes delegaciones concedidas
305
+ link: "\U0001F449 Tienes delegaciones concedidas"
265
306
  delegations_authorizer:
266
- email: Estamos utilizando el correo electrónico %{email} para verificar su identidad. Si cree que esto está mal, póngase en contacto con nosotros.
267
- no_setting: No se encontró ningún grupo de delegación para esta consulta. Póngase en contacto con el administrador para solucionarlo.
307
+ email: Estamos utilizando el correo electrónico %{email} para verificar su
308
+ identidad. Si cree que esto está mal, póngase en contacto con nosotros.
309
+ no_setting: No se encontró ningún grupo de delegación para esta consulta.
310
+ Póngase en contacto con el administrador para solucionarlo.
268
311
  not_in_census: No estás en el censo
269
- phone: Estamos usando el teléfono %{phone} para verificar su identidad. Si cree que esto está mal, póngase en contacto con nosotros.
312
+ phone: Estamos usando el teléfono %{phone} para verificar su identidad. Si
313
+ cree que esto está mal, póngase en contacto con nosotros.
270
314
  delegations_modal:
271
315
  callout: Recuerda, estás votando en nombre de
272
316
  contextual_help: 'Se le ha concedido el voto de:'
@@ -277,7 +321,9 @@ es:
277
321
  errors_title: "<b>Se han encontrado:</b> %{errors_count} errores"
278
322
  greeting: Hola %{name},
279
323
  info_messages: Motivo de omisión
280
- instructions: "<p>Se adjunta un archivo con detalles de importación, contiene filas que no fueron importadas.</p>\n<p>Si desea continuar con la importación, corrija las filas especificadas, elimine la última columna del archivo, guarde el archivo e importar de nuevo.</p>\n"
324
+ instructions: |
325
+ <p>Se adjunta un archivo con detalles de importación, contiene filas que no fueron importadas.</p>
326
+ <p>Si desea continuar con la importación, corrija las filas especificadas, elimine la última columna del archivo, guarde el archivo e importar de nuevo.</p>
281
327
  result: "<b>Importado:</b> %{rows_count} filas de %{total_rows_count}."
282
328
  row_number: Numero fila
283
329
  skipped_rows: "<b>Omitidas:</b> %{skipped_rows} filas."
@@ -286,9 +332,10 @@ es:
286
332
  text_error: Error
287
333
  invite_participants_mailer:
288
334
  confirmation:
289
- body: Has sido invitado a participar en la consulta. Por favor, haz clic en el enlace de abajo para confirmar tu participación.
335
+ body: Has sido invitado a participar en la consulta. Por favor, haz clic
336
+ en el enlace de abajo para confirmar tu participación.
290
337
  confirm: Confirmar la participación
291
- greeting: '¡Hola, %{recipient}!,'
338
+ greeting: "¡Hola, %{recipient}!,"
292
339
  name: Módulo Cooperativas - ActionDelegator para Decidim
293
340
  participants_csv_importer:
294
341
  import:
@@ -300,7 +347,15 @@ es:
300
347
  phone_exists: Ya existe un participante con esta dirección de correo electrónico
301
348
  ponderation_not_found: Tipo de ponderación no encontrado
302
349
  skip_import_info: El participante ya existe %{with_mismatched_fields}
303
- with_mismatched_fields: "con campos no coincidentes: %{fields}"
350
+ with_mismatched_fields: 'con campos no coincidentes: %{fields}'
351
+ questions:
352
+ callout_link_text: Revisa el resumen de tu votación aquí
353
+ callout_text: Has respondido %{voted} de un total de %{total} preguntas.
354
+ modal:
355
+ modal_table_header_answer: Has respondido?
356
+ modal_table_header_question: Pregunta
357
+ modal_votes_title: Tus votos a "%{title}"
358
+ question_not_answered: No, ir a la pregunta
304
359
  sms_message: Su código de verificación es %{code}
305
360
  user_delegations:
306
361
  index:
@@ -314,17 +369,21 @@ es:
314
369
  delegations_verifier:
315
370
  authorizations:
316
371
  edit:
317
- confirm_destroy: '¿Seguro que quieres restablecer el código de verificación?'
372
+ confirm_destroy: "¿Seguro que quieres restablecer el código de verificación?"
318
373
  destroy: Reiniciar código de verificación
319
- resend: '¿No has recibido el código de verificación?'
374
+ resend: "¿No has recibido el código de verificación?"
320
375
  send: Confirmar
321
376
  title: Introduce el código de verificación que recibiste
322
377
  new:
323
378
  authorize: Autorizar mi cuenta
324
379
  missing_phone_error: Falta el teléfono de miembro
325
- not_in_census: Lo sentimos, pero no puede ser autorizado porque su correo electrónico no está en el censo. Póngase en contacto con el administrador si cree que se trata de un error.
326
- participate_in: 'Esta autorización le permite participar en las siguientes consultas: %{consultations}'
327
- phone_warning: Este número de teléfono ha sido importado por el administrador. Por favor, contacta si no es correcto.
380
+ not_in_census: Lo sentimos, pero no puede ser autorizado porque su correo
381
+ electrónico no está en el censo. Póngase en contacto con el administrador
382
+ si cree que se trata de un error.
383
+ participate_in: 'Esta autorización le permite participar en las siguientes
384
+ consultas: %{consultations}'
385
+ phone_warning: Este número de teléfono ha sido importado por el administrador.
386
+ Por favor, contacta si no es correcto.
328
387
  send_code: Enviar código de verificación
329
388
  title: Autorizar con el Verificador de Gobernanza Societaria
330
389
  admin:
@@ -344,9 +403,10 @@ es:
344
403
  admin:
345
404
  delegations_verifier:
346
405
  help:
347
- - Un método de verificación para el voto delegado
406
+ - Un método de verificación para el voto delegado
348
407
  delegations_verifier:
349
- explanation: Las participantes verificadas con este método pueden delegar votos a otras participantes
408
+ explanation: Las participantes verificadas con este método pueden delegar
409
+ votos a otras participantes
350
410
  fields:
351
411
  phone: Número de teléfono
352
412
  name: Gobernanza Societaria
@@ -16,9 +16,10 @@ module Decidim
16
16
  routes do
17
17
  # Add engine routes here
18
18
  authenticate(:user) do
19
- resources :user_delegations, controller: :user_delegations
19
+ resources :user_delegations, controller: :user_delegations, only: [:index]
20
20
  root to: "user_delegations#index"
21
21
  end
22
+ resources :questions_summary, param: :slug, only: [:show]
22
23
  end
23
24
 
24
25
  config.to_prepare do
@@ -3,8 +3,8 @@
3
3
  module Decidim
4
4
  # This holds the decidim-action_delegator version.
5
5
  module ActionDelegator
6
- VERSION = "0.8.1"
7
- DECIDIM_VERSION = "0.27.4"
6
+ VERSION = "0.8.2"
7
+ DECIDIM_VERSION = "0.27.6"
8
8
  COMPAT_DECIDIM_VERSION = [">= 0.27.0", "< 0.28"].freeze
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-action_delegator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pau Pérez Fabregat
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-02-14 00:00:00.000000000 Z
12
+ date: 2024-05-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: decidim-admin
@@ -176,6 +176,7 @@ files:
176
176
  - app/controllers/decidim/action_delegator/admin/ponderations_controller.rb
177
177
  - app/controllers/decidim/action_delegator/admin/settings_controller.rb
178
178
  - app/controllers/decidim/action_delegator/application_controller.rb
179
+ - app/controllers/decidim/action_delegator/questions_summary_controller.rb
179
180
  - app/controllers/decidim/action_delegator/user_delegations_controller.rb
180
181
  - app/controllers/decidim/action_delegator/verifications/delegations_verifier/authorizations_controller.rb
181
182
  - app/forms/concerns/decidim/action_delegator/consultations/vote_form_override.rb
@@ -206,9 +207,11 @@ files:
206
207
  - app/models/decidim/action_delegator/whodunnit_vote.rb
207
208
  - app/overrides/decidim/consultations/admin/consultations/results/add_ongoing_warning.html.erb.deface
208
209
  - app/overrides/decidim/consultations/consultations/_question/add_delegation_link.html.erb.deface
210
+ - app/overrides/decidim/consultations/consultations/_question/replace_vote_info.html.erb.deface
209
211
  - app/overrides/decidim/consultations/consultations/_regular_questions/prevent_empty_questions.html.erb.deface
210
212
  - app/overrides/decidim/consultations/consultations/_regular_questions/remove_highlighted_scopes.html.erb.deface
211
213
  - app/overrides/decidim/consultations/question_multiple_votes/_form/add_delegation_notice.html.erb.deface
214
+ - app/overrides/decidim/consultations/questions/_results/replace_results.html.erb.deface
212
215
  - app/overrides/decidim/consultations/questions/_vote_button/add_delegations_link.html.erb.deface
213
216
  - app/overrides/decidim/consultations/questions/_vote_button/add_modal.html.erb.deface
214
217
  - app/overrides/decidim/consultations/questions/_vote_button/add_modal_javascript.html.erb.deface
@@ -216,11 +219,15 @@ files:
216
219
  - app/overrides/decidim/consultations/questions/_vote_modal/add_delegation_callout.html.erb.deface
217
220
  - app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_delegation_callout.html.erb.deface
218
221
  - app/overrides/decidim/consultations/questions/_vote_modal_confirm/add_hidden_field.html.erb.deface
222
+ - app/overrides/layouts/decidim/_consultation_header/add_consultation_callout.html.erb.deface
223
+ - app/overrides/layouts/decidim/_question_header/add_consultation_callout.html.erb.deface
219
224
  - app/overrides/layouts/decidim/admin/remove_deprecation.rb
220
225
  - app/packs/entrypoints/decidim_action_delegator.scss
221
226
  - app/packs/entrypoints/decidim_action_delegator_questions.js
227
+ - app/packs/entrypoints/decidim_action_delegator_questions_summary.js
222
228
  - app/packs/images/logo-pokecode.png
223
229
  - app/packs/src/decidim/action_delegator/questions.js
230
+ - app/packs/src/decidim/action_delegator/summary.js
224
231
  - app/packs/stylesheets/decidim/action_delegator/questions.scss
225
232
  - app/permissions/concerns/decidim/action_delegator/consultations/permissions_override.rb
226
233
  - app/permissions/decidim/action_delegator/permissions.rb
@@ -273,16 +280,19 @@ files:
273
280
  - app/views/decidim/action_delegator/admin/settings/index.html.erb
274
281
  - app/views/decidim/action_delegator/admin/settings/new.html.erb
275
282
  - app/views/decidim/action_delegator/consultations/_link_to_question.html.erb
283
+ - app/views/decidim/action_delegator/consultations/_link_with_results.html.erb
276
284
  - app/views/decidim/action_delegator/consultations/questions/_callout.html.erb
277
285
  - app/views/decidim/action_delegator/consultations/questions/_delegations_modal.html.erb
278
286
  - app/views/decidim/action_delegator/consultations/questions/_link_to_delegations.html.erb
279
287
  - app/views/decidim/action_delegator/consultations/questions/_vote_delegated_active.html.erb
280
288
  - app/views/decidim/action_delegator/consultations/questions/_vote_delegated_finished.html.erb
281
289
  - app/views/decidim/action_delegator/consultations/questions/_vote_delegated_upcoming.html.erb
290
+ - app/views/decidim/action_delegator/consultations/questions/_weight_results.html.erb
282
291
  - app/views/decidim/action_delegator/import_mailer/import.html.erb
283
292
  - app/views/decidim/action_delegator/user_delegations/index.html.erb
284
293
  - app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/edit.html.erb
285
294
  - app/views/decidim/action_delegator/verifications/delegations_verifier/authorizations/new.html.erb
295
+ - app/views/decidim/consultations/question_votes/_callout.html.erb
286
296
  - app/views/decidim/consultations/question_votes/update_vote_button.js.erb
287
297
  - config/assets.rb
288
298
  - config/i18n-tasks.yml