} else { // Redirect to Home if user has no permission to view return $app->response->redirect($app->urlFor('home')); } } else { // Redirect to Home if no valid attachment was found with this id return $app->response->redirect($app->urlFor('home')); } })->name('home.view.attachment'); $app->get('/submission/create/:id', $authenticated(), function ($queueId) use($app) { if (!is_numeric($queueId)) { $app->flash('global', 'Invalid Queue Id'); return $app->response->redirect($app->urlFor('home')); } $userQueues = $app->auth->queues->sortBy('name'); $mycourses = Course::where('id_coordinator', $app->auth->id_user)->with('queues')->get()->sortBy('name'); $queue = Queue::with('elements', 'queueable')->find(intval($queueId)); $app->render('home.view.createSubmission.html.twig', ['userqueues' => $userQueues, 'mycourses' => $mycourses, 'queue' => $queue]); })->name('home.view.submission.create'); $app->post('/submission/addcomment/:id', $authenticated(), function ($subId) use($app) { if (!isset($subId) || !is_numeric($subId)) { $app->flash('global', 'Invalid Submission Id'); return $app->response->redirect($app->urlFor('home')); } $request = $app->request; $comment = trim(strip_tags($request->post('comment'))); if (!empty($comment) && strlen($comment) <= 200) { $submission = Submission::find(intval($subId))->load('user', 'queue', 'queue.queueable'); $submission->comments()->save(new Comment(['comment' => $comment, 'id_user' => $app->auth->id_user, 'created_at' => date('Y-m-d G:i:s')])); // If the user adding the comment is not the submission creator // Notify submission creator of new comment
// Update User Validation Failed // // // Retrieve a collection of users that have the 'INSTRUCTOR' role. // This will be passed into the view so users can select a valid advisor when registering. $coordinators = $app->user->whereHas('roles', function ($q) { $q->where('name', '=', 'INSTRUCTOR'); })->get()->sortBy('last_name'); $app->render('admin/admin.editcourse.html.twig', ['errors' => $v->errors(), 'request' => $request, 'course' => $course, 'coordinators' => $coordinators]); } } else { // No course id provided, so this is a new course // Create course and default queues // Check field validation results if ($v->passes()) { $course = Course::create(['name' => $name, 'description' => $description, 'id_coordinator' => $coordinator, 'id_added_by' => $addedby]); /* Create an array of QueueElements to add to this queue */ $elements = [new QueueElement(['name' => 'Add/Drop', 'description' => 'Add/Drop Form'])]; // Update or create the queue and get reference $queue = Queue::create(['name' => 'Add/Drop', 'description' => 'Queue for processing course add/drop requests', 'is_enabled' => true]); // Associate queue with its owner $course->queues()->save($queue); // Add queue elements for the new queue $queue->elements()->saveMany($elements); $app->flash('global', 'Course Info Saved'); return $app->response->redirect($app->urlFor('admin.editCourse', array('id' => $course->id_course))); } else { // New course validation failed //