changes abilities extending valuation period

This commit is contained in:
kikito
2017-01-04 15:59:36 +01:00
parent b289e21992
commit 4ceeb68a90
4 changed files with 8 additions and 7 deletions

View File

@@ -46,7 +46,7 @@ module Abilities
can [:read, :create, :update, :destroy], Budget::Group can [:read, :create, :update, :destroy], Budget::Group
can [:read, :create, :update, :destroy], Budget::Heading can [:read, :create, :update, :destroy], Budget::Heading
can [:hide, :update, :toggle_selection], Budget::Investment can [:hide, :update, :toggle_selection], Budget::Investment
can :valuate, Budget::Investment, budget: { phase: 'valuating' } can :valuate, Budget::Investment
can :create, Budget::ValuatorAssignment can :create, Budget::ValuatorAssignment
can [:search, :edit, :update, :create, :index, :destroy], Banner can [:search, :edit, :update, :create, :index, :destroy], Banner

View File

@@ -5,7 +5,8 @@ module Abilities
def initialize(user) def initialize(user)
valuator = user.valuator valuator = user.valuator
can [:read, :update, :valuate], SpendingProposal can [:read, :update, :valuate], SpendingProposal
can [:read, :update, :valuate], Budget::Investment, id: valuator.investment_ids, budget: { phase: 'valuating' } can [:read, :update, :valuate], Budget::Investment, id: valuator.investment_ids
cannot [:update, :valuate], Budget::Investment, budget: { phase: 'finished' }
end end
end end
end end

View File

@@ -66,6 +66,6 @@ describe "Abilities::Administrator" do
it { should be_able_to(:hide, Budget::Investment) } it { should be_able_to(:hide, Budget::Investment) }
it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: 'valuating'))) } it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: 'valuating'))) }
it { should_not be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: 'finished'))) } it { should be_able_to(:valuate, create(:budget_investment, budget: create(:budget, phase: 'finished'))) }
end end

View File

@@ -10,8 +10,8 @@ describe "Abilities::Valuator" do
let(:assigned_investment) { create(:budget_investment, budget: create(:budget, phase: 'valuating')) } let(:assigned_investment) { create(:budget_investment, budget: create(:budget, phase: 'valuating')) }
before(:each) { assigned_investment.valuators << valuator } before(:each) { assigned_investment.valuators << valuator }
let(:assigned_investment_not_valuating) { create(:budget_investment, budget: create(:budget, phase: 'finished')) } let(:finished_assigned_investment) { create(:budget_investment, budget: create(:budget, phase: 'finished')) }
before(:each) { assigned_investment_not_valuating.valuators << valuator } before(:each) { finished_assigned_investment.valuators << valuator }
it { should be_able_to(:read, SpendingProposal) } it { should be_able_to(:read, SpendingProposal) }
it { should be_able_to(:update, SpendingProposal) } it { should be_able_to(:update, SpendingProposal) }
@@ -23,6 +23,6 @@ describe "Abilities::Valuator" do
it { should be_able_to(:update, assigned_investment) } it { should be_able_to(:update, assigned_investment) }
it { should be_able_to(:valuate, assigned_investment) } it { should be_able_to(:valuate, assigned_investment) }
it { should_not be_able_to(:update, assigned_investment_not_valuating) } it { should_not be_able_to(:update, finished_assigned_investment) }
it { should_not be_able_to(:valuate, assigned_investment_not_valuating) } it { should_not be_able_to(:valuate, finished_assigned_investment) }
end end