class UsersManagePolicy
  def initialize(user, record)
    @user = user
    @record = record
  end

  # Permisson for view user detail info
  def view_users?
    @user.level_before_type_cast >= User.levels[:staff]
  end

  # Permisson for view user detail info
  # Usage in controllers: authorize @user, policy_class: UsersManagePolicy
  def show?
    (@user.staff_level? || @user.admin_level? || @user.root_level?) || @record.id == @user.id
  end
end
