Initial commit
This commit is contained in:
31
app/models/user_context.rb
Normal file
31
app/models/user_context.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
# Used by Pundit to authorize actions based on a given user and account
|
||||
class UserContext
|
||||
attr_reader :user, :account
|
||||
|
||||
def initialize(user, account)
|
||||
@user = user
|
||||
@account = account
|
||||
end
|
||||
|
||||
delegate_missing_to :user
|
||||
|
||||
def associate?
|
||||
user.associate?(account)
|
||||
end
|
||||
|
||||
def manager?
|
||||
user.manager?(account)
|
||||
end
|
||||
|
||||
def account_manager?
|
||||
user.account_manager?(account)
|
||||
end
|
||||
|
||||
def role
|
||||
user.role_for(account)
|
||||
end
|
||||
|
||||
def ==(other)
|
||||
user == other
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user