Added session flashes and validation errors to views and add session flashes in controllers

This commit is contained in:
mwalbeck 2016-11-01 13:03:39 +01:00
parent 614258af16
commit 4fc0d5c793
26 changed files with 72 additions and 86 deletions

View file

@ -49,6 +49,7 @@ class AdministrativeTestController extends Controller
$test = new Test();
$test->createTest($request->all());
$request->session()->flash('status', 'The test has been created');
return redirect("/" . Auth::user()->getAdminPath() . "/tests/$test->id");
}
@ -68,6 +69,7 @@ class AdministrativeTestController extends Controller
$this->authorize('update', $test);
$test->updateTest($request->all());
$request->session()->flash('status', 'The test has been updated');
return redirect("/" . Auth::user()->getAdminPath() . "/tests/$test->id");
}
@ -76,6 +78,7 @@ class AdministrativeTestController extends Controller
$this->authorize('delete', $test);
$test->deleteTest();
$request->session()->flash('status', 'The test has been deleted');
return redirect("/" . Auth::user()->getAdminPath() . '/tests');
}
@ -104,6 +107,7 @@ class AdministrativeTestController extends Controller
$option = new Option;
$option->addOption($question, $optionData);
}
$request->session()->flash('status', 'The question has been created');
return redirect("/" . Auth::user()->getAdminPath() . "/tests/$test->id");
}
@ -126,15 +130,17 @@ class AdministrativeTestController extends Controller
foreach ($options as $key => $option) {
$option->updateOption($optionsData[$key+1]);
}
$request->session()->flash('status', 'The question has been updated');
return redirect("/" . Auth::user()->getAdminPath() . "/tests/$test->id");
}
public function deleteQuestion(Question $question)
public function deleteQuestion(Question $question, Request $request)
{
$this->authorize('delete', $question);
$test = $question->test;
$question->deleteQuestion();
$request->session()->flash('status', 'The question has been deleted');
return redirect("/" . Auth::user()->getAdminPath() . "/tests/$test->id");
}
}

View file

@ -59,6 +59,7 @@ class AdministrativeUserController extends Controller
$user = new User;
$user->addUser($request->all());
$request->session()->flash('status', 'The user has been created');
return redirect("/" . Auth::user()->getAdminPath() . "/users/$user->id");
}
@ -83,14 +84,16 @@ class AdministrativeUserController extends Controller
$this->authorize('update', $user);
$user->updateUser($request->all());
$request->session()->flash('status', 'The user has been updated');
return redirect("/" . Auth::user()->getAdminPath() . "/users/group/$user->group_id");
}
public function deleteUser(User $user)
public function deleteUser(User $user, Request $request)
{
$this->authorize('delete', $user);
$user->deleteUser();
$request->session()->flash('status', 'The user has been deleted');
return redirect("/" . Auth::user()->getAdminPath() . '/users');
}
}

View file

@ -43,6 +43,7 @@ class GroupController extends Controller
$group = new Group;
$group->addGroup($request->all());
$request->session()->flash('status', 'New group added successfully!');
return redirect("/" . Auth::user()->getAdminPath() . "/groups");
}
@ -58,14 +59,16 @@ class GroupController extends Controller
$this->authorize('update', $group);
$group->updateGroup($request->all());
$request->session()->flash('status', 'The group has been updated');
return redirect("/" . Auth::user()->getAdminPath() . "/groups/$group->id");
}
public function deleteGroup(Group $group)
public function deleteGroup(Group $group, Request $request)
{
$this->authorize('delete', $group);
$group->deleteGroup();
$request->session()->flash('status', 'The group has been deleted');
return redirect("/" . Auth::user()->getAdminPath() . "/groups");
}
}

View file

@ -20,14 +20,14 @@ class TestController extends Controller
$this->middleware('auth');
}
public function startTest(Test $test)
public function startTest(Test $test, Request $request)
{
if (null !== session("start_time") && session("time_limit") !== 0 && session("start_time")+session("time_limit") > time()) {
if (null !== session("start_time") && session("time_limit") !== 0 && session("start_time")+session("time_limit") > time() && $test->id === session('test')->id) {
return redirect()->action('TestController@showQuestion');
}
if (Auth::user()->testTaken($test->id)) {
//insert session flash
$request->session()->flash('status_failed', 'You have already taken this test!');
return redirect('/home');
}
session(['questions' => $test->randomizeQuestions(), 'question_counter' => 1, 'test' => $test, 'correct_answers' => 0, 'wrong_answers' => 0, 'is_correct' => false, 'has_failed' => false, 'last_question' => false, 'start_time' => time(), 'time_limit' => $test->time_limit]);