Class: Dscf::Credit::LoanAccrualPolicy

Inherits:
ApplicationPolicy
  • Object
show all
Defined in:
app/policies/dscf/credit/loan_accrual_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?, #show?, #submit?, #update?

Instance Method Details

#generate?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'app/policies/dscf/credit/loan_accrual_policy.rb', line 22

def generate?
  user.has_permission?(permission_code(:generate))
end

#owned_record?Boolean

Returns:

  • (Boolean)


30
31
32
33
34
35
36
37
38
39
# File 'app/policies/dscf/credit/loan_accrual_policy.rb', line 30

def owned_record?
  if user.has_role?("USER")
    record.loan&.loan_profile&.loan_application&.user_id == user.id
  elsif user.has_role?("FACILITATOR")
    la = record.loan&.loan_profile&.loan_application
    la&.backer_type == "Dscf::Core::User" && la&.backer_id == user.id
  else
    true
  end
end

#statistics?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'app/policies/dscf/credit/loan_accrual_policy.rb', line 26

def statistics?
  user.has_permission?(permission_code(:statistics))
end