decidim-action_delegator 0.7.1 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +44 -14
  3. data/app/commands/decidim/action_delegator/admin/create_delegation.rb +1 -1
  4. data/app/commands/decidim/action_delegator/admin/create_participant.rb +1 -1
  5. data/app/commands/decidim/action_delegator/admin/create_ponderation.rb +1 -1
  6. data/app/commands/decidim/action_delegator/admin/create_setting.rb +1 -1
  7. data/app/commands/decidim/action_delegator/admin/fix_resource_permissions.rb +1 -1
  8. data/app/commands/decidim/action_delegator/admin/update_participant.rb +1 -1
  9. data/app/commands/decidim/action_delegator/admin/update_ponderation.rb +1 -1
  10. data/app/commands/decidim/action_delegator/admin/update_setting.rb +1 -1
  11. data/app/controllers/concerns/decidim/action_delegator/devise/sessions_controller_override.rb +48 -0
  12. data/app/controllers/decidim/action_delegator/admin/consultations_controller.rb +1 -1
  13. data/app/controllers/decidim/action_delegator/admin/manage_participants_controller.rb +1 -1
  14. data/app/controllers/decidim/action_delegator/admin/settings_controller.rb +1 -1
  15. data/app/controllers/decidim/action_delegator/verifications/delegations_verifier/authorizations_controller.rb +38 -15
  16. data/app/forms/decidim/action_delegator/verifications/delegations_verifier_form.rb +7 -5
  17. data/app/helpers/decidim/action_delegator/admin/delegation_helper.rb +1 -1
  18. data/app/jobs/decidim/action_delegator/send_sms_job.rb +1 -0
  19. data/app/models/concerns/decidim/action_delegator/consultations/question_override.rb +18 -0
  20. data/app/models/decidim/action_delegator/participant.rb +5 -10
  21. data/app/overrides/decidim/consultations/admin/consultations/results/add_ongoing_warning.html.erb.deface +3 -0
  22. data/app/overrides/decidim/consultations/consultations/_regular_questions/prevent_empty_questions.html.erb.deface +10 -0
  23. data/app/overrides/decidim/consultations/consultations/_regular_questions/remove_highlighted_scopes.html.erb.deface +3 -2
  24. data/app/overrides/decidim/consultations/questions/_vote_button/add_delegations_link.html.erb.deface +1 -1
  25. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal.html.erb.deface +2 -2
  26. data/app/overrides/decidim/consultations/questions/_vote_button/add_modal_javascript.html.erb.deface +4 -0
  27. data/app/overrides/decidim/consultations/questions/_vote_button/replace_delegation_to_multivote_link.html.erb.deface +1 -1
  28. data/app/packs/src/decidim/action_delegator/questions.js +6 -0
  29. data/app/queries/decidim/action_delegator/consultation_delegations.rb +1 -1
  30. data/app/queries/decidim/action_delegator/delegates_votes_by_consultation.rb +1 -1
  31. data/app/queries/decidim/action_delegator/delegates_votes_by_question.rb +1 -1
  32. data/app/queries/decidim/action_delegator/delegation_votes.rb +1 -1
  33. data/app/queries/decidim/action_delegator/organization_delegations.rb +1 -1
  34. data/app/queries/decidim/action_delegator/organization_settings.rb +1 -1
  35. data/app/queries/decidim/action_delegator/{published_responses.rb → responses.rb} +1 -2
  36. data/app/queries/decidim/action_delegator/responses_by_membership.rb +1 -1
  37. data/app/queries/decidim/action_delegator/setting_delegations.rb +1 -1
  38. data/app/queries/decidim/action_delegator/sum_of_membership_weight.rb +1 -1
  39. data/app/queries/decidim/action_delegator/sum_of_weights.rb +2 -2
  40. data/app/queries/decidim/action_delegator/type_and_weight.rb +2 -2
  41. data/app/queries/decidim/action_delegator/voted_with_ponderations.rb +1 -1
  42. data/app/views/decidim/action_delegator/admin/consultations/_ongoing_consultation_warning.html.erb +3 -0
  43. data/app/views/decidim/action_delegator/admin/consultations/results.html.erb +3 -0
  44. data/app/views/decidim/action_delegator/admin/consultations/weighted_results.html.erb +3 -0
  45. data/app/views/decidim/action_delegator/admin/delegations/new.html.erb +24 -26
  46. data/app/views/decidim/action_delegator/admin/manage_delegations/new.html.erb +27 -22
  47. data/app/views/decidim/action_delegator/admin/manage_participants/new.html.erb +3 -1
  48. data/app/views/decidim/action_delegator/admin/participants/edit.html.erb +14 -16
  49. data/app/views/decidim/action_delegator/admin/participants/new.html.erb +14 -16
  50. data/app/views/decidim/action_delegator/admin/ponderations/edit.html.erb +14 -16
  51. data/app/views/decidim/action_delegator/admin/ponderations/new.html.erb +14 -16
  52. data/app/views/decidim/action_delegator/consultations/questions/_delegations_modal.html.erb +0 -2
  53. data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +55 -5
  54. data/config/locales/en.yml +4 -0
  55. data/lib/decidim/action_delegator/admin_engine.rb +15 -1
  56. data/lib/decidim/action_delegator/engine.rb +2 -0
  57. data/lib/decidim/action_delegator/verifications/delegations_authorizer.rb +1 -3
  58. data/lib/decidim/action_delegator/version.rb +3 -3
  59. data/lib/decidim/action_delegator.rb +18 -1
  60. metadata +29 -22
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module ActionDelegator
5
- class TypeAndWeight < Rectify::Query
5
+ class TypeAndWeight < Decidim::Query
6
6
  def initialize(consultation)
7
7
  @consultation = consultation
8
8
  end
@@ -19,7 +19,7 @@ module Decidim
19
19
  # Returns the published questions' responses of the given consultation as an ActiveRecord
20
20
  # Relation. Note this enables us to the chain it with other AR Relation objects.
21
21
  def published_questions_responses
22
- PublishedResponses.new(consultation).query
22
+ Responses.new(consultation).query
23
23
  end
24
24
  end
25
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module ActionDelegator
5
- class VotedWithPonderations < Rectify::Query
5
+ class VotedWithPonderations < Decidim::Query
6
6
  def initialize(relation)
7
7
  @relation = relation
8
8
  end
@@ -0,0 +1,3 @@
1
+ <% if Decidim::ActionDelegator.admin_preview_results && !consultation.finished? %>
2
+ <div class="callout warning"><%= t "ongoing_consultation", scope: "decidim.action_delegator.admin.consultations.results" %></div>
3
+ <% end %>
@@ -19,6 +19,9 @@
19
19
  </h2>
20
20
  </div>
21
21
  <div class="card-section">
22
+
23
+ <%= render "ongoing_consultation_warning", consultation: current_consultation %>
24
+
22
25
  <table class="table-list">
23
26
  <% questions.each do |question| %>
24
27
  <% unless question.external_voting %>
@@ -24,6 +24,9 @@
24
24
  </h2>
25
25
  </div>
26
26
  <div class="card-section">
27
+
28
+ <%= render "ongoing_consultation_warning", consultation: current_consultation %>
29
+
27
30
  <table id="results" class="table-list">
28
31
  <% questions.each do |question| %>
29
32
  <% unless question.external_voting %>
@@ -1,33 +1,31 @@
1
1
  <div class="card">
2
- <div class="card-section">
3
- <div class="card-divider">
4
- <h2 class="card-title">
5
- <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
6
- <%= link_to t("title", scope: "decidim.action_delegator.admin.delegations.index"), decidim_admin_action_delegator.setting_delegations_path(current_setting) %> &gt;
7
- <%= t ".title" %>
8
- </h2>
9
- </div>
10
-
11
- <div class="card-section">
12
- <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_delegation" } do |f| %>
13
- <% prompt_options = { url: decidim_admin.users_organization_url, placeholder: t(".select_member") } %>
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.delegations.index"), decidim_admin_action_delegator.setting_delegations_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
8
+ </div>
14
9
 
15
- <div class="row column">
16
- <%= f.autocomplete_select(:granter_id, @form.granter, { multiple: false, label: t(".granter") }, prompt_options) do |user|
17
- { value: user.id, label: "#{user.name} (@#{user.nickname})" }
18
- end %>
19
- </div>
20
- <div class="row column">
21
- <%= f.autocomplete_select(:grantee_id, @form.grantee, { multiple: false, label: t(".grantee") }, prompt_options) do |user|
22
- { value: user.id, label: "#{user.name} (@#{user.nickname})" }
23
- end %>
24
- </div>
10
+ <div class="card-section">
11
+ <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_delegation" } do |f| %>
12
+ <% prompt_options = { url: decidim_admin.users_organization_url, placeholder: t(".select_member") } %>
25
13
 
26
- <div class="button--double form-general-submit">
27
- <%= f.submit t(".save") %>
28
- </div>
29
- <% end %>
14
+ <div class="row column">
15
+ <%= f.autocomplete_select(:granter_id, @form.granter, { multiple: false, label: t(".granter") }, prompt_options) do |user|
16
+ { value: user.id, label: "#{user.name} (@#{user.nickname})" }
17
+ end %>
18
+ </div>
19
+ <div class="row column">
20
+ <%= f.autocomplete_select(:grantee_id, @form.grantee, { multiple: false, label: t(".grantee") }, prompt_options) do |user|
21
+ { value: user.id, label: "#{user.name} (@#{user.nickname})" }
22
+ end %>
23
+ </div>
30
24
 
25
+ <div class="button--double form-general-submit">
26
+ <%= f.submit t(".save") %>
31
27
  </div>
28
+ <% end %>
29
+
32
30
  </div>
33
31
  </div>
@@ -1,25 +1,30 @@
1
- <%= form_tag(setting_manage_delegations_path, multipart: true, class: "form new_import") do %>
2
- <%= hidden_field_tag :setting_id, current_setting.id %>
3
- <div class="card">
4
- <div class="card-divider">
5
- <h2 class="card-title">
6
- <%= t(".title") %>
7
- </h2>
8
- </div>
9
- </div>
10
- <p><%= t(".upload_instructions") %></p>
11
- <p><%= t(".required_fields") %></p>
12
- <p><%= t(".title_example") %></p>
13
- <pre class="code-block">
14
- from,to
15
- user_1@example.org,user_2@example.org
16
- user_3@example.org,user_4@example.org
17
- ...</pre>
18
- <div class="row column">
19
- <%= file_field_tag :csv_file %>
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.delegations.index"), decidim_admin_action_delegator.setting_delegations_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
20
8
  </div>
21
9
 
22
- <div class="button--double form-general-submit">
23
- <%= submit_tag t(".import"), class: "button" %>
10
+ <div class="card-section">
11
+ <%= form_tag(setting_manage_delegations_path, multipart: true, class: "form new_import") do %>
12
+ <%= hidden_field_tag :setting_id, current_setting.id %>
13
+ <p><%= t(".upload_instructions") %></p>
14
+ <p><%= t(".required_fields") %></p>
15
+ <p><%= t(".title_example") %></p>
16
+ <pre class="code-block">
17
+ from,to
18
+ user_1@example.org,user_2@example.org
19
+ user_3@example.org,user_4@example.org
20
+ ...</pre>
21
+ <div class="row column">
22
+ <%= file_field_tag :csv_file %>
23
+ </div>
24
+
25
+ <div class="button--double form-general-submit">
26
+ <%= submit_tag t(".import"), class: "button" %>
27
+ </div>
28
+ <% end %>
24
29
  </div>
25
- <% end %>
30
+ </div>
@@ -3,7 +3,9 @@
3
3
  <div class="card">
4
4
  <div class="card-divider">
5
5
  <h2 class="card-title">
6
- <%= t(".title") %>
6
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
7
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.participants.index"), decidim_admin_action_delegator.setting_participants_path(current_setting) %> &gt;
8
+ <%= t ".title" %>
7
9
  </h2>
8
10
  </div>
9
11
  </div>
@@ -1,21 +1,19 @@
1
1
  <div class="card">
2
- <div class="card-section">
3
- <div class="card-divider">
4
- <h2 class="card-title">
5
- <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
6
- <%= link_to t("title", scope: "decidim.action_delegator.admin.participants.index"), decidim_admin_action_delegator.setting_participants_path(current_setting) %> &gt;
7
- <%= t ".title" %>
8
- </h2>
9
- </div>
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.participants.index"), decidim_admin_action_delegator.setting_participants_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
8
+ </div>
10
9
 
11
- <div class="card-section">
12
- <%= decidim_form_for @form, url: { action: "update" }, html: { class: "form edit_ponderation" } do |f| %>
13
- <%= render partial: "form", object: f %>
10
+ <div class="card-section">
11
+ <%= decidim_form_for @form, url: { action: "update" }, html: { class: "form edit_ponderation" } do |f| %>
12
+ <%= render partial: "form", object: f %>
14
13
 
15
- <div class="button--double form-general-submit">
16
- <%= f.submit t(".save") %>
17
- </div>
18
- <% end %>
19
- </div>
14
+ <div class="button--double form-general-submit">
15
+ <%= f.submit t(".save") %>
16
+ </div>
17
+ <% end %>
20
18
  </div>
21
19
  </div>
@@ -1,21 +1,19 @@
1
1
  <div class="card">
2
- <div class="card-section">
3
- <div class="card-divider">
4
- <h2 class="card-title">
5
- <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
6
- <%= link_to t("title", scope: "decidim.action_delegator.admin.participants.index"), decidim_admin_action_delegator.setting_participants_path(current_setting) %> &gt;
7
- <%= t ".title" %>
8
- </h2>
9
- </div>
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.participants.index"), decidim_admin_action_delegator.setting_participants_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
8
+ </div>
10
9
 
11
- <div class="card-section">
12
- <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_participant" } do |f| %>
13
- <%= render partial: "form", object: f %>
10
+ <div class="card-section">
11
+ <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_participant" } do |f| %>
12
+ <%= render partial: "form", object: f %>
14
13
 
15
- <div class="button--double form-general-submit">
16
- <%= f.submit t(".save") %>
17
- </div>
18
- <% end %>
19
- </div>
14
+ <div class="button--double form-general-submit">
15
+ <%= f.submit t(".save") %>
16
+ </div>
17
+ <% end %>
20
18
  </div>
21
19
  </div>
@@ -1,21 +1,19 @@
1
1
  <div class="card">
2
- <div class="card-section">
3
- <div class="card-divider">
4
- <h2 class="card-title">
5
- <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
6
- <%= link_to t("title", scope: "decidim.action_delegator.admin.ponderations.index"), decidim_admin_action_delegator.setting_ponderations_path(current_setting) %> &gt;
7
- <%= t ".title" %>
8
- </h2>
9
- </div>
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.ponderations.index"), decidim_admin_action_delegator.setting_ponderations_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
8
+ </div>
10
9
 
11
- <div class="card-section">
12
- <%= decidim_form_for @form, url: { action: "update" }, html: { class: "form edit_ponderation" } do |f| %>
13
- <%= render partial: "form", object: f %>
10
+ <div class="card-section">
11
+ <%= decidim_form_for @form, url: { action: "update" }, html: { class: "form edit_ponderation" } do |f| %>
12
+ <%= render partial: "form", object: f %>
14
13
 
15
- <div class="button--double form-general-submit">
16
- <%= f.submit t(".save") %>
17
- </div>
18
- <% end %>
19
- </div>
14
+ <div class="button--double form-general-submit">
15
+ <%= f.submit t(".save") %>
16
+ </div>
17
+ <% end %>
20
18
  </div>
21
19
  </div>
@@ -1,21 +1,19 @@
1
1
  <div class="card">
2
- <div class="card-section">
3
- <div class="card-divider">
4
- <h2 class="card-title">
5
- <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
6
- <%= link_to t("title", scope: "decidim.action_delegator.admin.ponderations.index"), decidim_admin_action_delegator.setting_ponderations_path(current_setting) %> &gt;
7
- <%= t ".title" %>
8
- </h2>
9
- </div>
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= link_to translated_attribute(current_setting.title), decidim_admin_action_delegator.settings_path %> &gt;
5
+ <%= link_to t("title", scope: "decidim.action_delegator.admin.ponderations.index"), decidim_admin_action_delegator.setting_ponderations_path(current_setting) %> &gt;
6
+ <%= t ".title" %>
7
+ </h2>
8
+ </div>
10
9
 
11
- <div class="card-section">
12
- <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_ponderation" } do |f| %>
13
- <%= render partial: "form", object: f %>
10
+ <div class="card-section">
11
+ <%= decidim_form_for @form, url: { action: "create" }, html: { class: "form new_ponderation" } do |f| %>
12
+ <%= render partial: "form", object: f %>
14
13
 
15
- <div class="button--double form-general-submit">
16
- <%= f.submit t(".save") %>
17
- </div>
18
- <% end %>
19
- </div>
14
+ <div class="button--double form-general-submit">
15
+ <%= f.submit t(".save") %>
16
+ </div>
17
+ <% end %>
20
18
  </div>
21
19
  </div>
@@ -32,5 +32,3 @@
32
32
  </div>
33
33
  </div>
34
34
  </div>
35
-
36
- <%= javascript_pack_tag "decidim_action_delegator_questions" %>
@@ -1,9 +1,6 @@
1
1
  (function () {
2
2
  'use strict';
3
3
 
4
- $("#delegations-modal").foundation("close");
5
- $("#delegations-modal").remove();
6
-
7
4
  $('#question-vote-modal').foundation("close");
8
5
  $('#question-vote-confirm-modal').foundation("close");
9
6
  $('#question-vote-modal, #question-vote-confirm-modal').remove()
@@ -21,12 +18,65 @@
21
18
  $('#confirm-vote-form').removeClass('hide');
22
19
  <% end %>
23
20
 
24
- const delegationsButton = $("#delegations-button"),
25
- delegationDialog = $("#delegations-modal");
21
+ // Replicate the behaviour of vote_dialog.js as it has a bug when changed via ajax
22
+ var button = $("#vote_button"),
23
+ buttonChange = $("#question-vote-confirm-modal-button-change"),
24
+ responseButtons = $(".response-title"),
25
+ voteConfirmDialog = $("#question-vote-confirm-modal"),
26
+ voteDialog = $("#question-vote-modal");
27
+
28
+ if (voteDialog.length && button.length) {
29
+ button.click(function () {
30
+ voteDialog.foundation("open");
31
+ });
32
+ }
33
+
34
+ if (voteDialog.length && responseButtons.length && voteConfirmDialog.length) {
35
+ responseButtons.click(function () {
36
+ $("#question-vote-confirm-modal-question-title").text($(this).text());
37
+ $("#decidim_consultations_response_id").val($(this).data("response-id"));
38
+
39
+ voteDialog.foundation("close");
40
+ voteConfirmDialog.foundation("open");
41
+ });
42
+ }
43
+
44
+ if (buttonChange.length && voteDialog.length && voteConfirmDialog.length) {
45
+ buttonChange.click(function() {
46
+ voteConfirmDialog.foundation("close");
47
+ voteDialog.foundation("open");
48
+ });
49
+ }
50
+
51
+ //lets do the same for delegations
52
+ var delegationsButton = $("#delegations-button"),
53
+ delegationCallouts = $(".delegation-callout"),
54
+ delegationCalloutsMessage = $(".delegation-callout-message"),
55
+ delegationVoteButtons = $(".delegation-vote-button"),
56
+ delegationUnVoteButtons = $(".delegation_unvote_button"),
57
+ delegationField = $("#decidim_consultations_delegation_id"),
58
+ delegationDialog = $("#delegations-modal");
26
59
 
27
60
  delegationDialog.foundation();
28
61
 
29
62
  delegationsButton.click(function () {
30
63
  delegationDialog.foundation("open");
31
64
  });
65
+
66
+ delegationVoteButtons.click((evt) => {
67
+ delegationDialog.foundation("close");
68
+ voteDialog.foundation("open");
69
+ delegationField.val($(evt.currentTarget).data("delegation-id"));
70
+ delegationCalloutsMessage.text($(evt.currentTarget).data("delegation-granter-name"));
71
+ delegationCallouts.removeClass("is-hidden");
72
+ });
73
+
74
+ delegationUnVoteButtons.click((evt) => {
75
+ delegationDialog.foundation("close");
76
+ delegationCallouts.addClass("is-hidden");
77
+ });
78
+
79
+ button.click(() => {
80
+ delegationCallouts.addClass("is-hidden");
81
+ });
32
82
  }());
@@ -33,6 +33,8 @@ en:
33
33
  admin:
34
34
  consultations:
35
35
  results:
36
+ ongoing_consultation: This consultations is still ongoing. Be aware that
37
+ results may change as more people vote.
36
38
  title: Results by answer, membership type and weight
37
39
  weighted_results:
38
40
  title: Results by answer summing membership weights
@@ -373,6 +375,8 @@ en:
373
375
  reach out if it's not correct.
374
376
  send_code: Send verification code
375
377
  title: Authorize with Corporate Governance Verifier
378
+ not_active: The Corporate Governance Verifier cannot be granted at this
379
+ time as there are no active voting spaces.
376
380
  admin:
377
381
  actions:
378
382
  invite: Send invitation
@@ -41,9 +41,23 @@ module Decidim
41
41
  root to: "delegations#index"
42
42
  end
43
43
 
44
+ # marks the main "Users" menu in the admin always active when we are in the action_delegator admin space
45
+ initializer "decidim_admin_action_delegator.main_menu" do
46
+ Decidim.menu :admin_menu do |menu|
47
+ if (item = menu.items.find { |it| it.identifier == :impersonatable_users })
48
+ item.active.first << "decidim/action_delegator/admin/settings"
49
+ item.active.first << "decidim/action_delegator/admin/ponderations"
50
+ item.active.first << "decidim/action_delegator/admin/participants"
51
+ item.active.first << "decidim/action_delegator/admin/manage_participants"
52
+ item.active.first << "decidim/action_delegator/admin/delegations"
53
+ item.active.first << "decidim/action_delegator/admin/manage_delegations"
54
+ end
55
+ end
56
+ end
57
+
44
58
  initializer "decidim_admin_action_delegator.admin_user_menu" do
45
59
  Decidim.menu :admin_user_menu do |menu|
46
- menu.add_item :users,
60
+ menu.add_item :action_delegator,
47
61
  I18n.t("menu.delegations", scope: "decidim.action_delegator.admin"), decidim_admin_action_delegator.settings_path,
48
62
  active: is_active_link?(decidim_admin_action_delegator.settings_path),
49
63
  if: allowed_to?(:index, :impersonatable_user)
@@ -23,6 +23,7 @@ module Decidim
23
23
 
24
24
  config.to_prepare do
25
25
  # override votes questions
26
+ Decidim::Consultations::Question.include(Decidim::ActionDelegator::Consultations::QuestionOverride)
26
27
  Decidim::Consultations::VoteQuestion.include(Decidim::ActionDelegator::Consultations::VoteQuestionOverride)
27
28
  Decidim::Consultations::MultipleVoteQuestion.include(Decidim::ActionDelegator::Consultations::MultipleVoteQuestionOverride)
28
29
  Decidim::Consultations::VoteForm.include(Decidim::ActionDelegator::Consultations::VoteFormOverride)
@@ -33,6 +34,7 @@ module Decidim
33
34
 
34
35
  initializer "decidim_action_delegator.overrides", after: "decidim.action_controller" do
35
36
  config.to_prepare do
37
+ Decidim::Devise::SessionsController.include(Decidim::ActionDelegator::Devise::SessionsControllerOverride)
36
38
  Decidim::Consultations::QuestionVotesController.include(Decidim::ActionDelegator::Consultations::QuestionVotesControllerOverride)
37
39
  Decidim::Consultations::QuestionsController.include(Decidim::ActionDelegator::Consultations::QuestionsControllerOverride)
38
40
  Decidim::Consultations::ConsultationsController.include(Decidim::ActionDelegator::Consultations::ConsultationsControllerOverride)
@@ -71,9 +71,7 @@ module Decidim
71
71
  end
72
72
 
73
73
  def consultation
74
- @consultation ||= begin
75
- component.participatory_space if component&.participatory_space.is_a?(Decidim::Consultation)
76
- end
74
+ @consultation ||= (component.participatory_space if component&.participatory_space.is_a?(Decidim::Consultation))
77
75
  end
78
76
 
79
77
  def manifest
@@ -3,8 +3,8 @@
3
3
  module Decidim
4
4
  # This holds the decidim-action_delegator version.
5
5
  module ActionDelegator
6
- VERSION = "0.7.1"
7
- DECIDIM_VERSION = "0.26.5"
8
- COMPAT_DECIDIM_VERSION = [">= 0.26.0", "< 0.27"].freeze
6
+ VERSION = "0.8.1"
7
+ DECIDIM_VERSION = "0.27.4"
8
+ COMPAT_DECIDIM_VERSION = [">= 0.27.0", "< 0.28"].freeze
9
9
  end
10
10
  end
@@ -12,7 +12,7 @@ module Decidim
12
12
  include ActiveSupport::Configurable
13
13
 
14
14
  # this is the SmsGateway provided by this module
15
- # Note that it will be ignored if you provide your own SmsGateway in Decidm.sms_gateway_service
15
+ # Note that it will be ignored if you provide your own SmsGateway in Decidim.sms_gateway_service
16
16
  config_accessor :sms_gateway_service do
17
17
  "Decidim::ActionDelegator::SmsGateway"
18
18
  end
@@ -29,6 +29,12 @@ module Decidim
29
29
  true
30
30
  end
31
31
 
32
+ # If true, tries to automatically authorize users when they log in with the "Corporate Governance Verifier"
33
+ # Note that this is only possible when the verifier is configured to use only the email (if SMS is required, the user will have to do the standard verification process)
34
+ config_accessor :authorize_on_login do
35
+ true
36
+ end
37
+
32
38
  # used for comparing phone numbers from a census list and the ones introduced by the user
33
39
  # the phone number will be normalized before comparing it so, for instance,
34
40
  # if you have a census list with +34 666 666 666 and the user introduces 0034666666666 or 666666666, they will be considered the same
@@ -48,6 +54,17 @@ module Decidim
48
54
  config_accessor :remove_consultation_deprecation_warning do
49
55
  true
50
56
  end
57
+
58
+ # In a consultation the highlighted questions are duplicated in the list of regular questions
59
+ # this maintains the highlighted questions in the highlighted list and removes them from the regular list
60
+ config_accessor :remove_duplicated_highlighted_questions do
61
+ true
62
+ end
63
+
64
+ # If true, admins can view the result of a consultation even if the consultation is ongoing
65
+ config_accessor :admin_preview_results do
66
+ true
67
+ end
51
68
  end
52
69
  end
53
70