Exemplo n.º 1
0
             $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
         //
         // 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.newcourse.html.twig', ['errors' => $v->errors(), 'request' => $request, 'coordinators' => $coordinators]);
Exemplo n.º 2
0
    // Notify submission creator of action
    if ($app->auth->id_user != $submission->id_user) {
        $app->mail->send('email/submissionaction.html.twig', ['user' => $app->auth, 'submission' => $submission], function ($message) use($submission) {
            $message->to($submission->user->email);
            $message->subject($submission->status . ': ' . $submission->queue->name . ' - ' . $submission->queue->queueable->name);
        });
    }
    $app->response->redirect($app->urlFor('home.view.submission', array('id' => $subId)));
})->name('submission.action');
$app->post('/submissionsave/:id', $authenticated(), function ($queueId) use($app) {
    if (!isset($queueId) || !is_numeric($queueId)) {
        $app->flash('global', 'Submission queue id invalid or not provided!');
        $app->redirect($app->urlFor('home'));
    }
    // Get the Queue that were creating a submission for
    $queue = Queue::with('elements')->find(intval($queueId));
    // If no queue with provided id is found, redirect user to home with error
    if (empty($queue)) {
        $app->flash('global', 'Could not find queue with id (' . $queueId . ')!');
        $app->redirect($app->urlFor('home'));
    }
    // Make sure that the queues required number of attachments matches the number submitted
    // If not, redirect with error message
    if (count($_FILES) != count($queue->elements)) {
        $app->flash('global', 'Incorrect number of files attached!');
        $app->redirect($app->urlFor('home.view.submission.create', array('id' => $queue->id_queue)));
    }
    $request = $app->request;
    $filetotal = strip_tags($request->post('filetotal'));
    $comment = strip_tags(trim($request->post('comment')));
    /*
Exemplo n.º 3
0
<?php

use DocManager\Course\Course;
use DocManager\Queue\Queue;
$app->get('/', function () use($app) {
    if ($app->auth) {
        $userQueues = $app->auth->queues->sortBy('name');
        $mycourses = Course::where('id_coordinator', $app->auth->id_user)->with('queues')->get()->sortBy('name');
        $activeQueues = Queue::where('is_enabled', true)->with('queueable')->get()->sortBy('name');
        $app->render('home.default.html.twig', ['userqueues' => $userQueues, 'mycourses' => $mycourses, 'activequeues' => $activeQueues]);
    } else {
        $app->render('home.default.html.twig');
    }
})->name('home');