adds spending proposal show for valuator and admin
This commit is contained in:
committed by
Juanjo Bazán
parent
009733a43b
commit
11d6d0b6d6
@@ -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
|
||||
|
||||
9
app/models/abilities/valuator.rb
Normal file
9
app/models/abilities/valuator.rb
Normal file
@@ -0,0 +1,9 @@
|
||||
module Abilities
|
||||
class Valuator
|
||||
include CanCan::Ability
|
||||
|
||||
def initialize(user)
|
||||
can :manage, SpendingProposal
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -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?
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user