Newer
Older
dmpopidor / app / policies / user_policy.rb
class UserPolicy < ApplicationPolicy
  attr_reader :user

  def initialize(user, users)
    raise Pundit::NotAuthorizedError, "must be logged in" unless user
    @user = user
    @users = users
  end

  def admin_index?
    @user.can_grant_permissions?
  end

  def admin_grant_permissions?
    @user.can_grant_permissions? && (@users.org_id == @user.org_id)
  end

  def admin_update_permissions?
    @user.can_grant_permissions?  && (@users.org_id == @user.org_id)
  end

  class Scope < Scope
    def resolve
      scope.where(org_id: user.org_id)
    end
  end

end