Class: Dscf::Credit::BankStaffPolicy

Inherits:
ApplicationPolicy
  • Object
show all
Defined in:
app/policies/dscf/credit/bank_staff_policy.rb

Defined Under Namespace

Classes: Scope

Constant Summary

Constants inherited from ApplicationPolicy

ApplicationPolicy::ADMIN_ROLES

Instance Method Summary collapse

Methods inherited from ApplicationPolicy

#activate?, #approve?, #deactivate?, #reject?, #request_modification?, #resubmit?, #submit?

Instance Method Details

#owned_record?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
37
# File 'app/policies/dscf/credit/bank_staff_policy.rb', line 31

def owned_record?
  if user.has_role?("BANK_STAFF")
    record.user_id == user.id
  else
    true
  end
end

#show?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
# File 'app/policies/dscf/credit/bank_staff_policy.rb', line 19

def show?
  return user.has_permission?(permission_code(:show)) if non_bank_staff_admin?

  user.has_permission?(permission_code(:show)) && owned_record?
end

#update?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
# File 'app/policies/dscf/credit/bank_staff_policy.rb', line 25

def update?
  return user.has_permission?(permission_code(:update)) if non_bank_staff_admin?

  user.has_permission?(permission_code(:update)) && owned_record?
end