public function delete(User $user, Form $form) { if ($user->isAdmin() && !$form->isRestricted()) { return true; } return false; }
public function show(User $user, Employee $employee) { if ($user->employee->id == $employee->id) { return true; } elseif ($user->isAdmin()) { return true; } elseif ($user->department && $employee->user->department && $user->isDepartmentHead() && $user->department->id == $employee->user->department->id) { return true; } return false; }
public function show(User $user, EmployeeLeave $leave) { $employee = $user->employee; if ($user->isAdmin()) { return true; } switch ($employee->id) { case $leave->employee->id: return true; break; case $leave->recommending_approval_id: return true; break; case $leave->approved_by_id: return true; break; default: return false; break; } }