Example #1
0
 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);
 }
Example #2
0
 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']);
 }
Example #3
0
 /**
  * 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);
         }
     });
 }