/** * 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]); }