Exemplo n.º 1
0
        } 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
Exemplo n.º 2
0
         // 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
         //