Example #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
Example #2
0
   Name: admin.saveCourse
*/
$app->post('/admin/course/save', $authorizationCheck(['ADMIN']), function () use($app) {
    $request = $app->request;
    $courseId = strip_tags(trim($request->post('courseId')));
    $name = strip_tags(trim($request->post('name')));
    $description = strip_tags(trim($request->post('description')));
    $coordinator = strip_tags(trim($request->post('coordinator')));
    // Get the id of the user that is adding this course
    $addedby = $app->auth->id_user;
    $v = $app->validation;
    $v->validate(['name|Name' => [$name, 'required|max(80)'], 'description|Description' => [$description, 'required|max(200)'], 'coordinator|Coordinator' => [$coordinator, 'required']]);
    if (isset($courseId) && !empty($courseId)) {
        // Course Id provided, so we are updating an existing course
        // Ensure user id is valide or redirect user
        $course = Course::where('id_course', $courseId)->first();
        if (empty($course)) {
            // No course was found with this id, redirect to admin courses page
            $app->flash('global', 'Invalid Course Id');
            return $app->response->redirect($app->urlFor('admin.courses'));
        }
        // Check field validation results
        if ($v->passes()) {
            $course->update(['id_course' => $courseId, 'name' => $name, 'description' => $description, 'id_coordinator' => $coordinator]);
            $app->flash('global', 'Course Info Saved');
            return $app->response->redirect($app->urlFor('admin.editCourse', array('id' => $course->id_course)));
        } else {
            // Update User Validation Failed
            //
            //
            // Retrieve a collection of users that have the 'INSTRUCTOR' role.