function current_conference_published() { $id = get_current_conference_id(); $current_conference = Conference::find($id); return $current_conference->published; }
/** * Store a newly created resource in storage. * @param Request $request * @return Response */ public function store(Request $request, $id) { $conf = Conference::find($id); if (is_null($conf)) { return response("No conference for id {$id}.", 405); } if (!Entrust::can(PermissionNames::ConferenceEventCreate($id))) { return response("Permission not found", 403); } return DB::transaction(function () use($request, $id) { $event = new Event(); $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 = $id; $event->save(); $role = RoleCreate::AllEventRoles($event->id); $user = Auth::user(); $user->attachRole($role); return response()->json(['id' => $event->id]); }); }
/** * Replaces a given conference with the new values, given valid json. */ public function replace(Request $req, $id) { if (!Entrust::can(PermissionNames::ConferenceInfoEdit($id))) { return response("", 403); } $this->validateConferenceJson($req); $conf = Conference::find($id); if (is_null($conf)) { return response("Conference {$id} does not exist.", 400); } $this->assignInputToConference($req, $conf); $conf->save(); Log::info("Conference info for " . $conf->conferenceName . " edited."); $recipientModels = UserConference::where('conferenceID', $id)->with('user.account')->get(); $recipients = []; foreach ($recipientModels as $model) { if ($model->user->account->receiveUpdates) { $recipients[] = $model->user->account->email; } else { Log::debug("Discarding {$model->user->account->email} as updates aren't enabled"); } } Log::info("Dispatching conference update for " . sizeof($recipients) . " recipients"); $this->dispatch(new SendUpdateEmail("Conference Updated", "update-notification", ['typestr' => 'conference', 'name' => $conf->conferenceName, 'link' => config('app.url') . '/dashboard/conferences/list'], $recipients)); return ''; }