Пример #1
0
 /**
  * Update the specified event give the eventID.
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     if (!Entrust::can(PermissionNames::EventInfoEdit($id))) {
         return response("Permission not found", 403);
     }
     $event = Event::find($id);
     if (is_null($event)) {
         return response("No event for id {$id}.", 404);
     }
     $event->eventName = $request->input('eventName');
     $event->date = $request->input('date');
     $event->location = $request->input('location');
     $event->startTime = $request->input('startTime');
     $event->endTime = $request->input('endTime');
     $event->capacity = $request->input('capacity');
     $event->description = $request->input('description');
     $event->conferenceID = $request->input('conferenceID');
     $event->save();
     $recipientModels = UserEvent::where('eventID', $id)->with('user.account')->get();
     $recipients = [];
     foreach ($recipientModels as $model) {
         if ($model->user->account->receiveUpdates) {
             $recipients[] = $model->user->account->email;
         }
     }
     Log::info("Dispatching event update for " . sizeof($recipients) . " recipients");
     $this->dispatch(new SendUpdateEmail("Event Updated", "update-notification", ['typestr' => 'event', 'name' => $event->eventName . " for conference " . $event->conference->conferenceName, 'link' => config('app.url') . '/dashboard/' . $event->conferenceID . '/events'], $recipients));
     return response()->json(['id' => $event->id]);
 }