public function edit($id) { $request = Request::with(['equipment', 'area', 'location', 'category', 'uploads', 'approvers', 'status', 'actions' => function ($query) { $query->orderBy('created_at', 'desc'); }, 'actions.submitted', 'comments.author' => function ($query) { $query->orderBy('created_at', 'asc'); }])->find($id); if (is_null($request)) { return view('security.not-found'); } $data['request'] = $request; $data['areas'] = Area::all(['id', 'name']); $data['organizations'] = Organization::all(); $data['categories'] = Category::all(['id', 'name']); $data['locations'] = Location::all(['id', 'name']); $data['approvers'] = Approval::getRecent($id); $data['hasApproved'] = Approval::hasApproved($id)->exists(); if ($request->Status->name == 'Approved') { return view('request.view', $data); } if ($request->submitted_by != Auth::User()->id && !Auth::User()->hasRole(['administrator', 'approver'])) { return view('security.401'); } return view('request.edit', $data); }
public function revoke($id) { Approval::where('request_id', $id)->where('user_id', Auth::user()->id)->delete(); $approvals = Approval::getRecent($id); $status = array('Approve' => 0, 'Reject' => 0); foreach ($approvals as $approval) { $status[$approval->choice]++; } $sub = \App\Request::find($id); $this->updateStatus($sub, $status); return response()->json(['status' => 'success']); }
/** * Handle the event. * * @param FinalStatusSubmitted $event * @return void */ public function handle(FinalStatusSubmitted $event) { $event->request->load('requester', 'equipment', 'area', 'location', 'category', 'uploads', 'comments'); $users = User::emailList()->get(); Mail::send('emails.finished', ['request' => $event->request, 'approvers' => Approval::getRecent($event->request->id)], function ($message) use($event, $users) { $message->from('*****@*****.**', 'LCCB Autobot'); foreach ($users as $user) { $message->to($user->email); } $message->subject('Change Request Closed'); foreach ($event->request->uploads as $file) { $message->attach('D:\\www\\lccb\\uploads\\lccbRequests\\' . $file->request_id . '\\' . $file->file_name); } }); }