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.
- checksums.yaml +4 -4
- data/app/assets/config/decidim_consultations_manifest.css +4 -0
- data/app/assets/stylesheets/decidim/consultations/consultations.scss +0 -1
- data/app/cells/decidim/consultations/consultation_cell.rb +19 -0
- data/app/cells/decidim/consultations/consultation_m/data.erb +21 -0
- data/app/cells/decidim/consultations/consultation_m/footer.erb +5 -0
- data/app/cells/decidim/consultations/consultation_m_cell.rb +94 -0
- data/app/commands/decidim/consultations/admin/update_consultation.rb +2 -1
- data/app/controllers/concerns/decidim/consultations/action_authorization.rb +2 -2
- data/app/controllers/concerns/decidim/consultations/admin/consultation_admin.rb +7 -0
- data/app/controllers/concerns/decidim/consultations/admin/question_admin.rb +7 -0
- data/app/controllers/concerns/decidim/consultations/needs_consultation.rb +0 -4
- data/app/controllers/concerns/decidim/consultations/needs_question.rb +0 -7
- data/app/controllers/decidim/consultations/admin/application_controller.rb +15 -0
- data/app/controllers/decidim/consultations/admin/consultation_publications_controller.rb +3 -3
- data/app/controllers/decidim/consultations/admin/consultation_results_publications_controller.rb +3 -3
- data/app/controllers/decidim/consultations/admin/consultations_controller.rb +6 -10
- data/app/controllers/decidim/consultations/admin/question_attachments_controller.rb +1 -1
- data/app/controllers/decidim/consultations/admin/question_publications_controller.rb +3 -3
- data/app/controllers/decidim/consultations/admin/questions_controller.rb +6 -10
- data/app/controllers/decidim/consultations/admin/responses_controller.rb +7 -7
- data/app/controllers/decidim/consultations/application_controller.rb +25 -0
- data/app/controllers/decidim/consultations/consultations_controller.rb +3 -17
- data/app/controllers/decidim/consultations/question_votes_controller.rb +3 -3
- data/app/controllers/decidim/consultations/questions_controller.rb +2 -2
- data/app/forms/decidim/consultations/admin/consultation_form.rb +1 -0
- data/app/models/decidim/consultation.rb +4 -3
- data/app/models/decidim/consultations/question.rb +22 -1
- data/app/permissions/decidim/consultations/admin/permissions.rb +108 -0
- data/app/permissions/decidim/consultations/permissions.rb +55 -0
- data/app/views/decidim/consultations/admin/consultations/edit.html.erb +4 -4
- data/app/views/decidim/consultations/admin/consultations/index.html.erb +5 -5
- data/app/views/decidim/consultations/admin/questions/edit.html.erb +2 -2
- data/app/views/decidim/consultations/admin/questions/index.html.erb +5 -5
- data/app/views/decidim/consultations/admin/responses/edit.html.erb +1 -1
- data/app/views/decidim/consultations/admin/responses/index.html.erb +3 -3
- data/app/views/decidim/consultations/consultation_widgets/show.html.erb +0 -2
- data/app/views/decidim/consultations/consultations/_consultations.html.erb +1 -1
- data/app/views/decidim/consultations/consultations/_regular_questions.html.erb +2 -2
- data/app/views/decidim/consultations/consultations/show.html.erb +0 -8
- data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +3 -0
- data/app/views/decidim/consultations/questions/_vote_button.html.erb +15 -28
- data/app/views/decidim/consultations/questions/_vote_modal.html.erb +1 -1
- data/app/views/decidim/consultations/questions/_vote_modal_confirm.html.erb +1 -1
- data/app/views/layouts/decidim/_question_components.html.erb +3 -2
- data/app/views/layouts/decidim/admin/consultation.html.erb +7 -4
- data/app/views/layouts/decidim/admin/consultations.html.erb +16 -10
- data/app/views/layouts/decidim/admin/question.html.erb +11 -8
- data/app/views/layouts/decidim/consultation.html.erb +0 -2
- data/app/views/layouts/decidim/consultation_choose.html.erb +0 -2
- data/app/views/layouts/decidim/question.html.erb +0 -1
- data/config/locales/ca.yml +33 -11
- data/config/locales/en.yml +33 -11
- data/config/locales/es.yml +33 -11
- data/config/locales/eu.yml +33 -11
- data/config/locales/fi.yml +33 -11
- data/config/locales/fr.yml +33 -11
- data/config/locales/gl.yml +33 -11
- data/config/locales/it.yml +33 -11
- data/config/locales/nl.yml +33 -11
- data/config/locales/pl.yml +41 -11
- data/config/locales/pt-BR.yml +33 -11
- data/config/locales/pt.yml +33 -11
- data/config/locales/ru.yml +1 -3
- data/config/locales/sv.yml +33 -11
- data/config/locales/uk.yml +41 -11
- data/lib/decidim/consultations/admin_engine.rb +1 -11
- data/lib/decidim/consultations/engine.rb +6 -11
- data/lib/decidim/consultations/participatory_space.rb +64 -105
- data/lib/decidim/consultations/version.rb +1 -1
- metadata +20 -19
- data/app/assets/config/decidim_consultations_manifest.scss +0 -3
- data/app/models/decidim/consultations/abilities/admin/consultation_admin_ability.rb +0 -34
- data/app/models/decidim/consultations/abilities/admin/question_admin_ability.rb +0 -30
- data/app/models/decidim/consultations/abilities/admin/response_admin_ability.rb +0 -26
- data/app/models/decidim/consultations/abilities/current_user_ability.rb +0 -45
- data/app/models/decidim/consultations/abilities/everyone_ability.rb +0 -23
- data/app/views/decidim/consultations/consultations/finished.html.erb +0 -15
@@ -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 %>
|