adds spending proposal show for valuator and admin

This commit is contained in:
Juanjo Bazán
2016-02-18 18:54:49 +01:00
committed by Juanjo Bazán
parent 009733a43b
commit 11d6d0b6d6
5 changed files with 17 additions and 8 deletions

View File

@@ -2,6 +2,7 @@ class SpendingProposalsController < ApplicationController
include FeatureFlags
before_action :authenticate_user!, except: [:index]
before_action :verify_valuator, only: [:show]
load_and_authorize_resource
@@ -31,4 +32,8 @@ class SpendingProposalsController < ApplicationController
params.require(:spending_proposal).permit(:title, :description, :external_url, :geozone_id, :terms_of_service, :captcha, :captcha_key)
end
def verify_valuator
raise CanCan::AccessDenied unless current_user.try(:valuator?) || current_user.try(:administrator?)
end
end

View File

@@ -0,0 +1,9 @@
module Abilities
class Valuator
include CanCan::Ability
def initialize(user)
can :manage, SpendingProposal
end
end
end

View File

@@ -7,6 +7,8 @@ class Ability
alias_action :hide_in_moderation_screen, to: :hide
if user # logged-in users
self.merge Abilities::Valuator.new(user) if user.valuator?
if user.administrator?
self.merge Abilities::Administrator.new(user)
elsif user.moderator?

View File

@@ -69,7 +69,7 @@ Rails.application.routes.draw do
end
end
resources :spending_proposals, only: [:index, :new, :create]
resources :spending_proposals, only: [:index, :new, :create, :show]
resources :stats, only: [:index]

View File

@@ -415,12 +415,6 @@ ActiveRecord::Schema.define(version: 20160217101004) do
add_index "users", ["hidden_at"], name: "index_users_on_hidden_at", using: :btree
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
create_table "validators", force: :cascade do |t|
t.integer "user_id"
end
add_index "validators", ["user_id"], name: "index_validators_on_user_id", using: :btree
create_table "valuators", force: :cascade do |t|
t.integer "user_id"
end
@@ -496,6 +490,5 @@ ActiveRecord::Schema.define(version: 20160217101004) do
add_foreign_key "moderators", "users"
add_foreign_key "notifications", "users"
add_foreign_key "organizations", "users"
add_foreign_key "validators", "users"
add_foreign_key "valuators", "users"
end