decidim-consultations 0.11.2 → 0.12.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_consultations_manifest.css +4 -0
  3. data/app/assets/stylesheets/decidim/consultations/consultations.scss +0 -1
  4. data/app/cells/decidim/consultations/consultation_cell.rb +19 -0
  5. data/app/cells/decidim/consultations/consultation_m/data.erb +21 -0
  6. data/app/cells/decidim/consultations/consultation_m/footer.erb +5 -0
  7. data/app/cells/decidim/consultations/consultation_m_cell.rb +94 -0
  8. data/app/commands/decidim/consultations/admin/update_consultation.rb +2 -1
  9. data/app/controllers/concerns/decidim/consultations/action_authorization.rb +2 -2
  10. data/app/controllers/concerns/decidim/consultations/admin/consultation_admin.rb +7 -0
  11. data/app/controllers/concerns/decidim/consultations/admin/question_admin.rb +7 -0
  12. data/app/controllers/concerns/decidim/consultations/needs_consultation.rb +0 -4
  13. data/app/controllers/concerns/decidim/consultations/needs_question.rb +0 -7
  14. data/app/controllers/decidim/consultations/admin/application_controller.rb +15 -0
  15. data/app/controllers/decidim/consultations/admin/consultation_publications_controller.rb +3 -3
  16. data/app/controllers/decidim/consultations/admin/consultation_results_publications_controller.rb +3 -3
  17. data/app/controllers/decidim/consultations/admin/consultations_controller.rb +6 -10
  18. data/app/controllers/decidim/consultations/admin/question_attachments_controller.rb +1 -1
  19. data/app/controllers/decidim/consultations/admin/question_publications_controller.rb +3 -3
  20. data/app/controllers/decidim/consultations/admin/questions_controller.rb +6 -10
  21. data/app/controllers/decidim/consultations/admin/responses_controller.rb +7 -7
  22. data/app/controllers/decidim/consultations/application_controller.rb +25 -0
  23. data/app/controllers/decidim/consultations/consultations_controller.rb +3 -17
  24. data/app/controllers/decidim/consultations/question_votes_controller.rb +3 -3
  25. data/app/controllers/decidim/consultations/questions_controller.rb +2 -2
  26. data/app/forms/decidim/consultations/admin/consultation_form.rb +1 -0
  27. data/app/models/decidim/consultation.rb +4 -3
  28. data/app/models/decidim/consultations/question.rb +22 -1
  29. data/app/permissions/decidim/consultations/admin/permissions.rb +108 -0
  30. data/app/permissions/decidim/consultations/permissions.rb +55 -0
  31. data/app/views/decidim/consultations/admin/consultations/edit.html.erb +4 -4
  32. data/app/views/decidim/consultations/admin/consultations/index.html.erb +5 -5
  33. data/app/views/decidim/consultations/admin/questions/edit.html.erb +2 -2
  34. data/app/views/decidim/consultations/admin/questions/index.html.erb +5 -5
  35. data/app/views/decidim/consultations/admin/responses/edit.html.erb +1 -1
  36. data/app/views/decidim/consultations/admin/responses/index.html.erb +3 -3
  37. data/app/views/decidim/consultations/consultation_widgets/show.html.erb +0 -2
  38. data/app/views/decidim/consultations/consultations/_consultations.html.erb +1 -1
  39. data/app/views/decidim/consultations/consultations/_regular_questions.html.erb +2 -2
  40. data/app/views/decidim/consultations/consultations/show.html.erb +0 -8
  41. data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +3 -0
  42. data/app/views/decidim/consultations/questions/_vote_button.html.erb +15 -28
  43. data/app/views/decidim/consultations/questions/_vote_modal.html.erb +1 -1
  44. data/app/views/decidim/consultations/questions/_vote_modal_confirm.html.erb +1 -1
  45. data/app/views/layouts/decidim/_question_components.html.erb +3 -2
  46. data/app/views/layouts/decidim/admin/consultation.html.erb +7 -4
  47. data/app/views/layouts/decidim/admin/consultations.html.erb +16 -10
  48. data/app/views/layouts/decidim/admin/question.html.erb +11 -8
  49. data/app/views/layouts/decidim/consultation.html.erb +0 -2
  50. data/app/views/layouts/decidim/consultation_choose.html.erb +0 -2
  51. data/app/views/layouts/decidim/question.html.erb +0 -1
  52. data/config/locales/ca.yml +33 -11
  53. data/config/locales/en.yml +33 -11
  54. data/config/locales/es.yml +33 -11
  55. data/config/locales/eu.yml +33 -11
  56. data/config/locales/fi.yml +33 -11
  57. data/config/locales/fr.yml +33 -11
  58. data/config/locales/gl.yml +33 -11
  59. data/config/locales/it.yml +33 -11
  60. data/config/locales/nl.yml +33 -11
  61. data/config/locales/pl.yml +41 -11
  62. data/config/locales/pt-BR.yml +33 -11
  63. data/config/locales/pt.yml +33 -11
  64. data/config/locales/ru.yml +1 -3
  65. data/config/locales/sv.yml +33 -11
  66. data/config/locales/uk.yml +41 -11
  67. data/lib/decidim/consultations/admin_engine.rb +1 -11
  68. data/lib/decidim/consultations/engine.rb +6 -11
  69. data/lib/decidim/consultations/participatory_space.rb +64 -105
  70. data/lib/decidim/consultations/version.rb +1 -1
  71. metadata +20 -19
  72. data/app/assets/config/decidim_consultations_manifest.scss +0 -3
  73. data/app/models/decidim/consultations/abilities/admin/consultation_admin_ability.rb +0 -34
  74. data/app/models/decidim/consultations/abilities/admin/question_admin_ability.rb +0 -30
  75. data/app/models/decidim/consultations/abilities/admin/response_admin_ability.rb +0 -26
  76. data/app/models/decidim/consultations/abilities/current_user_ability.rb +0 -45
  77. data/app/models/decidim/consultations/abilities/everyone_ability.rb +0 -23
  78. data/app/views/decidim/consultations/consultations/finished.html.erb +0 -15
@@ -1,3 +0,0 @@
1
- //= link decidim/consultations/consultations.scss
2
- //= link decidim/consultations/social_share.css.scss
3
- //= link decidim/consultations/highlighted-content-banner.css.scss
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Consultations
5
- module Abilities
6
- module Admin
7
- # Defines the abilities related to user able to administer consultations.
8
- # Intended to be used with `cancancan`.
9
- class ConsultationAdminAbility
10
- include CanCan::Ability
11
-
12
- attr_reader :user, :context
13
-
14
- def initialize(user, context)
15
- return unless user&.admin?
16
-
17
- @user = user
18
- @context = context
19
-
20
- can :manage, Consultation
21
-
22
- cannot :publish_results, Consultation
23
- can :publish_results, Consultation do |consultation|
24
- consultation.finished? && !consultation.results_published?
25
- end
26
-
27
- cannot :unpublish_results, Consultation
28
- can :unpublish_results, Consultation, &:results_published?
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Consultations
5
- module Abilities
6
- module Admin
7
- # Defines the abilities related to user able to administer consultation's questions.
8
- # Intended to be used with `cancancan`.
9
- class QuestionAdminAbility
10
- include CanCan::Ability
11
-
12
- attr_reader :user, :context
13
-
14
- def initialize(user, context)
15
- return unless user&.admin?
16
-
17
- @user = user
18
- @context = context
19
-
20
- can :manage, Question
21
- cannot :publish, Question
22
- can :publish, Question do |question|
23
- question.external_voting || question.responses_count.positive?
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Consultations
5
- module Abilities
6
- module Admin
7
- # Defines the abilities related to user able to administer question responses.
8
- # Intended to be used with `cancancan`.
9
- class ResponseAdminAbility
10
- include CanCan::Ability
11
-
12
- attr_reader :user, :context
13
-
14
- def initialize(user, context)
15
- return unless user&.admin?
16
-
17
- @user = user
18
- @context = context
19
-
20
- can :manage, Response
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Consultations
5
- module Abilities
6
- # Defines the base abilities related to consultations and questions for
7
- # authenticated users. Intended to be used with `cancancan`.
8
- class CurrentUserAbility < Decidim::Abilities::EveryoneAbility
9
- attr_reader :user
10
-
11
- def initialize(user, context)
12
- super(user, context)
13
- return unless user
14
-
15
- @user = user
16
-
17
- can :vote, Question do |question|
18
- can_vote?(question)
19
- end
20
-
21
- can :unvote, Question do |question|
22
- can_unvote?(question)
23
- end
24
- end
25
-
26
- private
27
-
28
- def can_vote?(question)
29
- question.organization.id == user.organization.id &&
30
- question.consultation.active? &&
31
- question.consultation.published? &&
32
- question.published? &&
33
- !question.voted_by?(user)
34
- end
35
-
36
- def can_unvote?(question)
37
- question.consultation.active? &&
38
- question.consultation.published? &&
39
- question.published? &&
40
- question.voted_by?(user)
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Consultations
5
- module Abilities
6
- # Defines the base abilities related to consultations for any user. Guest
7
- # users will use these too. Intended to be used with `cancancan`.
8
- class EveryoneAbility < Decidim::Abilities::EveryoneAbility
9
- def initialize(user, context)
10
- super(user, context)
11
-
12
- can :read, Consultation do |consultation|
13
- consultation.published? || user&.admin?
14
- end
15
-
16
- can :read, Question do |question|
17
- question.published? || user&.admin?
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,15 +0,0 @@
1
- <% if active_consultations.any? %>
2
- <div class="row section">
3
- <h2 class="section-heading"><%= t "consultations.finished.active_consultations", scope: "decidim" %></h2>
4
- <%= render active_consultations %>
5
- </div>
6
- <% end %>
7
-
8
- <% if finished_consultations.any? %>
9
- <div class="row section">
10
- <h2 class="section-heading">
11
- <%= t "consultations.finished.past_consultations", scope: "decidim" %>
12
- </h2>
13
- <%= render finished_consultations %>
14
- </div>
15
- <% end %>