decidim-proposals 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/decidim/proposals/proposals_controller.rb +2 -1
- data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +1 -1
- data/app/helpers/decidim/proposals/application_helper.rb +23 -11
- data/app/models/decidim/proposals/abilities/{admin_user.rb → admin_ability.rb} +5 -12
- data/app/models/decidim/proposals/abilities/{current_user.rb → current_user_ability.rb} +1 -2
- data/app/models/decidim/proposals/abilities/{process_admin_user.rb → participatory_process_admin_ability.rb} +10 -22
- data/app/models/decidim/proposals/abilities/participatory_process_moderator_ability.rb +19 -0
- data/app/models/decidim/proposals/proposal.rb +8 -0
- data/app/services/decidim/proposals/proposal_search.rb +5 -2
- data/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_filters.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_proposal_badge.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_proposals.html.erb +10 -1
- data/config/locales/ca.yml +3 -0
- data/config/locales/en.yml +3 -0
- data/config/locales/es.yml +3 -0
- data/lib/decidim/proposals/admin_engine.rb +5 -2
- data/lib/decidim/proposals/engine.rb +1 -1
- data/lib/decidim/proposals/feature.rb +4 -0
- data/lib/decidim/proposals/proposal_serializer.rb +4 -0
- metadata +18 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 119d43dd9b091b7b6f894a98cf5b1a5b0f8e5b38
|
4
|
+
data.tar.gz: 60787db2fd895e03b62fed6f3f69c69db1feb23c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94c3bcb27db06bfe1010caa03994bab8601107a5b1b05fe18cb2d1bf04b3e3e6e5a72a7ab9615c12d45c1b29237e0fa1c14933035c8b8d4cf1bcd4c32e3727be
|
7
|
+
data.tar.gz: fd598e7e6ae7842ffb504f6d2fa600e447ef22681347a6489b31ee7fdc44a628e3355d5d36ce40061d19f61bb537a8139e95e6304e3eadcb0f3d71baf31a651c
|
@@ -8,6 +8,7 @@ module Decidim
|
|
8
8
|
include FormFactory
|
9
9
|
include FilterResource
|
10
10
|
include Orderable
|
11
|
+
include Paginable
|
11
12
|
|
12
13
|
helper_method :geocoded_proposals
|
13
14
|
|
@@ -30,7 +31,7 @@ module Decidim
|
|
30
31
|
[]
|
31
32
|
end
|
32
33
|
|
33
|
-
@proposals = @proposals
|
34
|
+
@proposals = paginate(@proposals)
|
34
35
|
@proposals = reorder(@proposals)
|
35
36
|
end
|
36
37
|
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
translatable_attribute :answer, String
|
12
12
|
attribute :state, String
|
13
13
|
|
14
|
-
validates :state, presence: true, inclusion: { in: %w(accepted rejected) }
|
14
|
+
validates :state, presence: true, inclusion: { in: %w(accepted rejected evaluating) }
|
15
15
|
validates :answer, translatable_presence: true, if: ->(form) { form.state == "rejected" }
|
16
16
|
end
|
17
17
|
end
|
@@ -17,15 +17,7 @@ module Decidim
|
|
17
17
|
#
|
18
18
|
# Returns a String.
|
19
19
|
def humanize_proposal_state(state)
|
20
|
-
|
21
|
-
"accepted"
|
22
|
-
elsif state == "rejected"
|
23
|
-
"rejected"
|
24
|
-
else
|
25
|
-
"not_answered"
|
26
|
-
end
|
27
|
-
|
28
|
-
I18n.t(value, scope: "decidim.proposals.answers")
|
20
|
+
I18n.t(state, scope: "decidim.proposals.answers", default: :not_answered)
|
29
21
|
end
|
30
22
|
|
31
23
|
# Public: The css class applied based on the proposal state.
|
@@ -34,14 +26,34 @@ module Decidim
|
|
34
26
|
#
|
35
27
|
# Returns a String.
|
36
28
|
def proposal_state_css_class(state)
|
37
|
-
|
29
|
+
case state
|
30
|
+
when "accepted"
|
38
31
|
"text-success"
|
39
|
-
|
32
|
+
when "rejected"
|
40
33
|
"text-alert"
|
34
|
+
when "evaluating"
|
35
|
+
"text-info"
|
41
36
|
else
|
42
37
|
"text-warning"
|
43
38
|
end
|
44
39
|
end
|
40
|
+
|
41
|
+
# Public: The css class applied based on the proposal state to
|
42
|
+
# the proposal badge.
|
43
|
+
#
|
44
|
+
# state - The String state of the proposal.
|
45
|
+
#
|
46
|
+
# Returns a String.
|
47
|
+
def proposal_state_badge_css_class(state)
|
48
|
+
case state
|
49
|
+
when "accepted"
|
50
|
+
"success"
|
51
|
+
when "rejected"
|
52
|
+
"warning"
|
53
|
+
when "evaluating"
|
54
|
+
"secondary"
|
55
|
+
end
|
56
|
+
end
|
45
57
|
end
|
46
58
|
end
|
47
59
|
end
|
@@ -5,16 +5,9 @@ module Decidim
|
|
5
5
|
module Abilities
|
6
6
|
# Defines the abilities related to proposals for a logged in admin user.
|
7
7
|
# Intended to be used with `cancancan`.
|
8
|
-
class
|
9
|
-
|
10
|
-
|
11
|
-
attr_reader :user, :context
|
12
|
-
|
13
|
-
def initialize(user, context)
|
14
|
-
return unless user && user.role?(:admin)
|
15
|
-
|
16
|
-
@user = user
|
17
|
-
@context = context
|
8
|
+
class AdminAbility < Decidim::Abilities::AdminAbility
|
9
|
+
def define_abilities
|
10
|
+
super
|
18
11
|
|
19
12
|
can :manage, Proposal
|
20
13
|
can :unreport, Proposal
|
@@ -26,11 +19,11 @@ module Decidim
|
|
26
19
|
private
|
27
20
|
|
28
21
|
def current_settings
|
29
|
-
context.fetch(:current_settings, nil)
|
22
|
+
@context.fetch(:current_settings, nil)
|
30
23
|
end
|
31
24
|
|
32
25
|
def feature_settings
|
33
|
-
context.fetch(:feature_settings, nil)
|
26
|
+
@context.fetch(:feature_settings, nil)
|
34
27
|
end
|
35
28
|
|
36
29
|
def can_create_proposal?
|
@@ -5,7 +5,7 @@ module Decidim
|
|
5
5
|
module Abilities
|
6
6
|
# Defines the abilities related to proposals for a logged in user.
|
7
7
|
# Intended to be used with `cancancan`.
|
8
|
-
class
|
8
|
+
class CurrentUserAbility
|
9
9
|
include CanCan::Ability
|
10
10
|
|
11
11
|
attr_reader :user, :context
|
@@ -27,7 +27,6 @@ module Decidim
|
|
27
27
|
can :create, Proposal if authorized?(:create) && creation_enabled?
|
28
28
|
|
29
29
|
can :report, Proposal
|
30
|
-
can :report, Decidim::Comments::Comment
|
31
30
|
end
|
32
31
|
|
33
32
|
private
|
@@ -5,22 +5,14 @@ module Decidim
|
|
5
5
|
module Abilities
|
6
6
|
# Defines the abilities related to proposals for a logged in process admin user.
|
7
7
|
# Intended to be used with `cancancan`.
|
8
|
-
class
|
9
|
-
|
8
|
+
class ParticipatoryProcessAdminAbility < Decidim::Abilities::ParticipatoryProcessAdminAbility
|
9
|
+
def define_participatory_process_abilities
|
10
|
+
super
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
def initialize(user, context)
|
14
|
-
return unless user && !user.role?(:admin)
|
15
|
-
|
16
|
-
@user = user
|
17
|
-
@context = context
|
18
|
-
|
19
|
-
can :manage, Proposal do |proposal|
|
20
|
-
participatory_processes.include?(proposal.feature.participatory_process)
|
12
|
+
can [:manage, :unreport, :hide], Proposal do |proposal|
|
13
|
+
can_manage_process?(proposal.feature.participatory_process)
|
21
14
|
end
|
22
|
-
|
23
|
-
can :hide, Proposal
|
15
|
+
|
24
16
|
cannot :create, Proposal unless can_create_proposal?
|
25
17
|
cannot :update, Proposal unless can_update_proposal?
|
26
18
|
end
|
@@ -28,31 +20,27 @@ module Decidim
|
|
28
20
|
private
|
29
21
|
|
30
22
|
def current_settings
|
31
|
-
context.fetch(:current_settings, nil)
|
23
|
+
@context.fetch(:current_settings, nil)
|
32
24
|
end
|
33
25
|
|
34
26
|
def feature_settings
|
35
|
-
context.fetch(:feature_settings, nil)
|
27
|
+
@context.fetch(:feature_settings, nil)
|
36
28
|
end
|
37
29
|
|
38
30
|
def current_feature
|
39
|
-
context.fetch(:current_feature, nil)
|
31
|
+
@context.fetch(:current_feature, nil)
|
40
32
|
end
|
41
33
|
|
42
34
|
def can_create_proposal?
|
43
35
|
current_settings.try(:creation_enabled?) &&
|
44
36
|
feature_settings.try(:official_proposals_enabled) &&
|
45
|
-
|
37
|
+
can_manage_process?(current_feature.try(:participatory_process))
|
46
38
|
end
|
47
39
|
|
48
40
|
def can_update_proposal?
|
49
41
|
current_settings.try(:proposal_answering_enabled) &&
|
50
42
|
feature_settings.try(:proposal_answering_enabled)
|
51
43
|
end
|
52
|
-
|
53
|
-
def participatory_processes
|
54
|
-
@participatory_processes ||= Decidim::Admin::ManageableParticipatoryProcessesForUser.for(@user)
|
55
|
-
end
|
56
44
|
end
|
57
45
|
end
|
58
46
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
module Abilities
|
6
|
+
# Defines the abilities related to proposals for a logged in process admin user.
|
7
|
+
# Intended to be used with `cancancan`.
|
8
|
+
class ParticipatoryProcessModeratorAbility < Decidim::Abilities::ParticipatoryProcessModeratorAbility
|
9
|
+
def define_participatory_process_abilities
|
10
|
+
super
|
11
|
+
|
12
|
+
can [:unreport, :hide], Proposal do |proposal|
|
13
|
+
can_manage_process?(proposal.feature.participatory_process)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -23,6 +23,7 @@ module Decidim
|
|
23
23
|
|
24
24
|
scope :accepted, -> { where(state: "accepted") }
|
25
25
|
scope :rejected, -> { where(state: "rejected") }
|
26
|
+
scope :evaluating, -> { where(state: "evaluating") }
|
26
27
|
|
27
28
|
def self.order_randomly(seed)
|
28
29
|
transaction do
|
@@ -67,6 +68,13 @@ module Decidim
|
|
67
68
|
state == "rejected"
|
68
69
|
end
|
69
70
|
|
71
|
+
# Public: Checks if the organization has marked the proposal as evaluating it.
|
72
|
+
#
|
73
|
+
# Returns Boolean.
|
74
|
+
def evaluating?
|
75
|
+
state == "evaluating"
|
76
|
+
end
|
77
|
+
|
70
78
|
# Public: Overrides the `commentable?` Commentable concern method.
|
71
79
|
def commentable?
|
72
80
|
feature.settings.comments_enabled?
|
@@ -47,10 +47,13 @@ module Decidim
|
|
47
47
|
|
48
48
|
# Handle the state filter
|
49
49
|
def search_state
|
50
|
-
|
50
|
+
case state
|
51
|
+
when "accepted"
|
51
52
|
query.accepted
|
52
|
-
|
53
|
+
when "rejected"
|
53
54
|
query.rejected
|
55
|
+
when "evaluating"
|
56
|
+
query.evaluating
|
54
57
|
else # Assume 'all'
|
55
58
|
query
|
56
59
|
end
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<div class="card-section">
|
8
8
|
<div class="row column">
|
9
|
-
<%= f.collection_radio_buttons :state, [["accepted", t('.accepted')], ["rejected", t('.rejected')]], :first, :last, prompt: true %>
|
9
|
+
<%= f.collection_radio_buttons :state, [["accepted", t('.accepted')], ["rejected", t('.rejected')], ["evaluating", t('.evaluating')]], :first, :last, prompt: true %>
|
10
10
|
</div>
|
11
11
|
|
12
12
|
<div class="row column">
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<% end %>
|
18
18
|
|
19
19
|
<% if feature_settings.proposal_answering_enabled && current_settings.proposal_answering_enabled %>
|
20
|
-
<%= form.collection_radio_buttons :state, [["all", t('.all')], ["accepted", t('.accepted')], ["rejected", t('.rejected')]], :first, :last, legend_title: t('.state') %>
|
20
|
+
<%= form.collection_radio_buttons :state, [["all", t('.all')], ["accepted", t('.accepted')], ["rejected", t('.rejected')], ["evaluating", t('.evaluating')]], :first, :last, legend_title: t('.state') %>
|
21
21
|
<% end %>
|
22
22
|
|
23
23
|
<% if linked_classes_for(Decidim::Proposals::Proposal).any? %>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<% if proposal.answered? %>
|
2
|
-
<span class="<%= (proposal.
|
2
|
+
<span class="<%= proposal_state_badge_css_class(proposal.state) %> label proposal-status"><%= humanize_proposal_state proposal.state %></span>
|
3
3
|
<% end %>
|
@@ -1,4 +1,13 @@
|
|
1
|
-
|
1
|
+
<div class="collection-sort-controls row small-up-1 medium-up-3 card-grid">
|
2
|
+
<div class="column">
|
3
|
+
<%= order_selector available_orders, i18n_scope: "decidim.proposals.proposals.orders" %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="column">
|
7
|
+
<%= render partial: "decidim/shared/results_per_page" %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
|
2
11
|
<div class="row small-up-1 medium-up-2 card-grid">
|
3
12
|
<%= render @proposals %>
|
4
13
|
</div>
|
data/config/locales/ca.yml
CHANGED
@@ -48,6 +48,7 @@ ca:
|
|
48
48
|
edit:
|
49
49
|
accepted: Acceptada
|
50
50
|
answer_proposal: Resposta
|
51
|
+
evaluating: En avaluació
|
51
52
|
rejected: Rebutjada
|
52
53
|
title: Respondre a la proposta %{title}
|
53
54
|
proposals:
|
@@ -66,6 +67,7 @@ ca:
|
|
66
67
|
title: Crear proposta
|
67
68
|
answers:
|
68
69
|
accepted: Acceptada
|
70
|
+
evaluating: En avaluació
|
69
71
|
not_answered: No resposta
|
70
72
|
rejected: Rebutjada
|
71
73
|
create:
|
@@ -97,6 +99,7 @@ ca:
|
|
97
99
|
category: Categoria
|
98
100
|
category_prompt: Selecciona una categoria
|
99
101
|
citizenship: Ciutadania
|
102
|
+
evaluating: En avaluació
|
100
103
|
official: Oficial
|
101
104
|
origin: Origen
|
102
105
|
rejected: Rebutjades
|
data/config/locales/en.yml
CHANGED
@@ -50,6 +50,7 @@ en:
|
|
50
50
|
edit:
|
51
51
|
accepted: Accepted
|
52
52
|
answer_proposal: Answer
|
53
|
+
evaluating: Evaluating
|
53
54
|
rejected: Rejected
|
54
55
|
title: Answer for proposal %{title}
|
55
56
|
proposals:
|
@@ -68,6 +69,7 @@ en:
|
|
68
69
|
title: Create proposal
|
69
70
|
answers:
|
70
71
|
accepted: Accepted
|
72
|
+
evaluating: Evaluating
|
71
73
|
not_answered: Not answered
|
72
74
|
rejected: Rejected
|
73
75
|
create:
|
@@ -99,6 +101,7 @@ en:
|
|
99
101
|
category: Category
|
100
102
|
category_prompt: Select a category
|
101
103
|
citizenship: Citizenship
|
104
|
+
evaluating: Evaluating
|
102
105
|
official: Official
|
103
106
|
origin: Origin
|
104
107
|
rejected: Rejected
|
data/config/locales/es.yml
CHANGED
@@ -48,6 +48,7 @@ es:
|
|
48
48
|
edit:
|
49
49
|
accepted: Aceptada
|
50
50
|
answer_proposal: Respuesta
|
51
|
+
evaluating: En evaluación
|
51
52
|
rejected: Rechazada
|
52
53
|
title: Responder a la propuesta %{title}
|
53
54
|
proposals:
|
@@ -66,6 +67,7 @@ es:
|
|
66
67
|
title: Crear propuesta
|
67
68
|
answers:
|
68
69
|
accepted: Aceptadas
|
70
|
+
evaluating: En evaluación
|
69
71
|
not_answered: No contestada
|
70
72
|
rejected: Rechazada
|
71
73
|
create:
|
@@ -97,6 +99,7 @@ es:
|
|
97
99
|
category: Categoría
|
98
100
|
category_prompt: Selecciona una categoría
|
99
101
|
citizenship: Ciudadanía
|
102
|
+
evaluating: En evaluación
|
100
103
|
official: Oficial
|
101
104
|
origin: Origen
|
102
105
|
rejected: Rechazadas
|
@@ -18,8 +18,11 @@ module Decidim
|
|
18
18
|
|
19
19
|
initializer "decidim_proposals.inject_abilities_to_user" do |_app|
|
20
20
|
Decidim.configure do |config|
|
21
|
-
config.admin_abilities += [
|
22
|
-
|
21
|
+
config.admin_abilities += [
|
22
|
+
"Decidim::Proposals::Abilities::AdminAbility",
|
23
|
+
"Decidim::Proposals::Abilities::ParticipatoryProcessAdminAbility",
|
24
|
+
"Decidim::Proposals::Abilities::ParticipatoryProcessModeratorAbility"
|
25
|
+
]
|
23
26
|
end
|
24
27
|
end
|
25
28
|
|
@@ -25,7 +25,7 @@ module Decidim
|
|
25
25
|
|
26
26
|
initializer "decidim_proposals.inject_abilities_to_user" do |_app|
|
27
27
|
Decidim.configure do |config|
|
28
|
-
config.abilities += ["Decidim::Proposals::Abilities::
|
28
|
+
config.abilities += ["Decidim::Proposals::Abilities::CurrentUserAbility"]
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
@@ -114,6 +114,10 @@ Decidim.register_feature(:proposals) do |feature|
|
|
114
114
|
proposal.answered_at = Time.current
|
115
115
|
proposal.answer = Decidim::Faker::Localized.sentence(10)
|
116
116
|
proposal.save!
|
117
|
+
elsif n > 6
|
118
|
+
proposal.state = "evaluating"
|
119
|
+
proposal.answered_at = Time.current
|
120
|
+
proposal.save!
|
117
121
|
end
|
118
122
|
|
119
123
|
rand(3).times do |m|
|
@@ -21,6 +21,10 @@ module Decidim
|
|
21
21
|
id: @proposal.category.try(:id),
|
22
22
|
name: @proposal.category.try(:name)
|
23
23
|
},
|
24
|
+
scope: {
|
25
|
+
id: @proposal.scope.try(:id),
|
26
|
+
name: @proposal.scope.try(:name)
|
27
|
+
},
|
24
28
|
title: @proposal.title,
|
25
29
|
body: @proposal.body,
|
26
30
|
votes: @proposal.proposal_votes_count,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-proposals
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-08-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-core
|
@@ -18,28 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.4.
|
21
|
+
version: 0.4.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.4.
|
28
|
+
version: 0.4.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: decidim-comments
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.4.
|
35
|
+
version: 0.4.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.4.
|
42
|
+
version: 0.4.1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: rectify
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,56 +88,56 @@ dependencies:
|
|
88
88
|
requirements:
|
89
89
|
- - '='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.4.
|
91
|
+
version: 0.4.1
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - '='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.4.
|
98
|
+
version: 0.4.1
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: decidim-meetings
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - '='
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 0.4.
|
105
|
+
version: 0.4.1
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - '='
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.4.
|
112
|
+
version: 0.4.1
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: decidim-results
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - '='
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: 0.4.
|
119
|
+
version: 0.4.1
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
124
|
- - '='
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version: 0.4.
|
126
|
+
version: 0.4.1
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: decidim-budgets
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
131
|
- - '='
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0.4.
|
133
|
+
version: 0.4.1
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
138
|
- - '='
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version: 0.4.
|
140
|
+
version: 0.4.1
|
141
141
|
description: A proposals component for decidim's participatory processes.
|
142
142
|
email:
|
143
143
|
- josepjaume@gmail.com
|
@@ -175,9 +175,10 @@ files:
|
|
175
175
|
- app/helpers/decidim/proposals/application_helper.rb
|
176
176
|
- app/helpers/decidim/proposals/map_helper.rb
|
177
177
|
- app/helpers/decidim/proposals/proposal_votes_helper.rb
|
178
|
-
- app/models/decidim/proposals/abilities/
|
179
|
-
- app/models/decidim/proposals/abilities/
|
180
|
-
- app/models/decidim/proposals/abilities/
|
178
|
+
- app/models/decidim/proposals/abilities/admin_ability.rb
|
179
|
+
- app/models/decidim/proposals/abilities/current_user_ability.rb
|
180
|
+
- app/models/decidim/proposals/abilities/participatory_process_admin_ability.rb
|
181
|
+
- app/models/decidim/proposals/abilities/participatory_process_moderator_ability.rb
|
181
182
|
- app/models/decidim/proposals/application_record.rb
|
182
183
|
- app/models/decidim/proposals/proposal.rb
|
183
184
|
- app/models/decidim/proposals/proposal_vote.rb
|