/** * Bind data to the view. * * @param View $view * @return void */ public function compose(View $view) { $user = $this->user; $travelOrderCount = 0; $regularLeaveCount = 0; $specialLeaveCount = 0; if ($user->employee && $user->employee->canApproveRegularLeave()) { $regularLeaveCount = $user->employee->regular_leave_recommending_approvals->merge($user->employee->regular_leave_approved_by)->count(); } if ($user->employee && $user->employee->canApproveSpecialLeave()) { $specialLeaveCount = $user->employee->special_leave_recommending_approvals->merge($user->employee->special_leave_approved_by)->count(); } if ($user->isAdmin()) { $regularLeaveCount = EmployeeLeave::approved()->count(); $specialLeaveCount = EmployeeSpecialLeave::approved()->count(); } if ($user->employee && $user->employee->canApproveTravelOrder()) { if ($user->isFinanceDirector()) { $travelOrderCount = TravelOrder::recommended()->count(); } else { $travelOrderCount = $user->employee->travel_order_recommending_approvals->merge($user->employee->travel_order_approved_by)->count(); } } $view->with(compact('user', 'regularLeaveCount', 'specialLeaveCount', 'travelOrderCount')); }
/** * Display a listing of the resource. * * @return Response */ public function index() { if ($this->user->employee->canApproveSpecialLeave()) { if ($this->user->isAdmin()) { $employee_leaves = EmployeeSpecialLeave::approved()->get(); } else { $employee_leaves = $this->user->employee->special_leave_recommending_approvals->merge($this->user->employee->special_leave_approved_by); } return view('leaves.special.employee_leaves')->with(compact('employee_leaves')); } abort(403); }