public function cancel(User $user, EmployeeSpecialLeave $leave) { if ($user->id == $leave->employee->user->id) { if ($leave->isStatus('filed') or $leave->isStatus('accepted') or $leave->isStatus('pending')) { return true; } } return false; }
/** * 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 \Illuminate\Http\Response */ public function index() { if ($this->user->isAdmin()) { $regular_leaves = EmployeeLeave::certified()->orderBy('updated_at', 'desc')->get(); $special_leaves = EmployeeSpecialLeave::certified()->orderBy('updated_at', 'desc')->get(); return view('leaves.approved_leaves')->with(compact('regular_leaves', 'special_leaves')); } flash()->error('You are not allowed to view this.'); return redirect()->back(); }
public function downloadSummary() { $file = storage_path('app/templates/SpecialLeaveSummary.xlsx'); $leaves = EmployeeSpecialLeave::certified()->get(); if ($leaves->isEmpty()) { flash()->warning('Special leave empty.'); return redirect()->back(); } write_form(new \DNSCHumanResource\FormWriters\WriteSpecialLeaveSummary($leaves)); }