Added session flashes and validation errors to views and add session flashes in controllers
This commit is contained in:
parent
614258af16
commit
4fc0d5c793
26 changed files with 72 additions and 86 deletions
app/Http/Controllers
AdministrativeTestController.phpAdministrativeUserController.phpGroupController.phpTestController.php
resources/views
admin
groups
home.blade.phpshared
tests
users
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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');
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Groups</h4>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Tests</h4>
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Edit Group: {{ $group->name }}</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/groups/{{ $group->id }}/edit">
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Create New Group</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/groups/new">
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Group</h4>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Groups</h4>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include("shared.session-flash")
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Tests</h4>
|
||||
|
|
16
resources/views/shared/session-flash.blade.php
Normal file
16
resources/views/shared/session-flash.blade.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
@if (session('status'))
|
||||
<div class="alert alert-success alert-dismissable fade in">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {{ session('status') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (session('status_failed'))
|
||||
<div class="alert alert-danger alert-dismissable fade in">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {{ session('status_failed') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
9
resources/views/shared/validation-errors.blade.php
Normal file
9
resources/views/shared/validation-errors.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Question #{{ session("question_counter")-1 }}</h4>
|
||||
|
|
|
@ -3,15 +3,8 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Edit Test: {{ $test->title }}</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/edit">
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Question #{{ session("question_counter") }}</h4>
|
||||
|
|
|
@ -4,16 +4,8 @@
|
|||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Create New Test</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/tests/new">
|
||||
|
|
|
@ -4,15 +4,8 @@
|
|||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Edit Question</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/questions/{{ $question->id }}">
|
||||
|
|
|
@ -3,15 +3,8 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Question {{ $question_number }}</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/question" id="form1">
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Test</h4>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Tests</h4>
|
||||
|
|
|
@ -3,15 +3,8 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Create New User</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}/edit">
|
||||
|
|
|
@ -3,15 +3,8 @@
|
|||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<h1>Create New User</h1>
|
||||
</br>
|
||||
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/users/new">
|
||||
|
|
|
@ -4,31 +4,8 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success alert-dismissable fade in">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {{ session('status') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (session('status_failed'))
|
||||
<div class="alert alert-danger alert-dismissable fade in">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {{ session('status_failed') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('shared.session-flash')
|
||||
@include('shared.validation-errors')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Password</h4>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">User</h4>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
@include('shared.session-flash')
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">Users</h4>
|
||||
|
|
Reference in a new issue