Changed delete view to a popup instead of seperate page, and a few layout changes

This commit is contained in:
mwalbeck 2016-10-28 14:44:31 +02:00
parent f06ce731bf
commit 74eedfdba4
22 changed files with 88 additions and 146 deletions

View file

@ -71,13 +71,6 @@ class AdministrativeTestController extends Controller
return redirect("/admin/tests/$test->id");
}
public function confirmDeleteTest(Test $test)
{
$this->authorize('delete', $test);
return view('tests.delete', compact('test'));
}
public function deleteTest(Test $test)
{
$this->authorize('delete', $test);
@ -136,13 +129,6 @@ class AdministrativeTestController extends Controller
return redirect("/admin/tests/$test->id");
}
public function confirmDeleteQuestion(Question $question)
{
$this->authorize('delete', $question);
return view('tests.question.delete', compact('question'));
}
public function deleteQuestion(Question $question)
{
$this->authorize('delete', $question);

View file

@ -21,13 +21,6 @@ class AdministrativeUserController extends Controller
* Common controller functions between administrators and moderator for handling users.
*
*/
public function confirmDeleteUser(User $user)
{
$this->authorize('delete', $user);
return view('users.delete', compact('user'));
}
public function deleteUser(User $user)
{
$this->authorize('delete', $user);

View file

@ -54,13 +54,6 @@ class GroupController extends Controller
return redirect("/admin/groups");
}
public function confirmDeleteGroup(Group $group)
{
$this->authorize('delete', $group);
return view('groups.delete', compact('group'));
}
public function deleteGroup(Group $group)
{
$this->authorize('delete', $group);

View file

@ -17,4 +17,15 @@ $(document).ready(function() {
field--;
}
});
});
});
$('.delete-modal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var delete_url = button.data('url'); // Extract info from data-* attributes
var delete_id = button.data('id'); // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
var modal = $(this);
var admin_path = modal.find('#modal-button-delete').attr("formaction");
modal.find('#modal-button-delete').attr("formaction", admin_path + delete_url + "/" + delete_id + "/delete");
})

View file

@ -5,7 +5,9 @@
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Groups</div>
<div class="panel-heading">
<h4 class="panel-title">Groups</h4>
</div>
<div class="panel-body">
<table class="table">
<tr>

View file

@ -4,7 +4,9 @@
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Tests</div>
<div class="panel-heading">
<h4 class="panel-title">Tests</h4>
</div>
<div class="panel-body">
<form method="get">
<button formaction="/{{ Auth::user()->getAdminPath() }}/tests" class="btn btn-default">Show Tests</button>

View file

@ -1,4 +1,4 @@
@extends('layouts.base')
@extends('layouts.app')
@section('content')
<div class="container">

View file

@ -1,18 +0,0 @@
@extends('layouts.base')
@section('content')
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<h1>Are you Sure!</h1>
</br>
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/groups/{{ $group->id }}/delete">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit" class="btn btn-danger">Yes</button>
</form>
<form method="GET" action="/{{ Auth::user()->getAdminPath() }}/groups">
<button type="submit" class="btn btn-default">No</button>
</form>
</div>
</div>
@stop

View file

@ -1,11 +1,16 @@
@extends('layouts.base')
@section('content')
@include('shared.delete-modal')
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Groups</div>
<div class="panel-heading">
<h4 class="panel-title">Groups</h4>
</div>
<div class="panel-body">
<table class="table">
<tr>
@ -24,7 +29,7 @@
<td>
<form method="get" class="pull-right">
<button class="btn btn-sm btn-default pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/groups/{{ $group->id }}/edit">Edit</button>
<button class="btn btn-sm btn-danger pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/groups/{{ $group->id }}/delete">Delete</button>
<button type="button" class="btn btn-sm btn-danger pull-left" data-toggle="modal" data-target=".delete-modal" data-url="groups" data-id="{{ $group->id }}">Delete</button>
</form>
</td>
</tr>

View file

@ -5,7 +5,9 @@
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Tests</div>
<div class="panel-heading">
<h4 class="panel-title">Tests</h4>
</div>
<div class="panel-body">
<table class="table">
<tr>

View file

@ -0,0 +1,18 @@
<div class="modal fade delete-modal" tabindex="-1" role="dialog" aria-labelledby="delete-modal">
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Are You Sure!</h4>
</div>
<div class="modal-body">
<form method="POST" class="">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="button" id="modal-button-delete" class="btn btn-danger" formaction="/{{ Auth::user()->getAdminPath() }}/">Yes</button>
<button type="button" class="btn btn-default" data-dismiss="modal">No</button>
</form>
</div>
</div>
</div>
</div>

View file

@ -2,15 +2,6 @@
@section('content')
<div>
<div class="option-wrap">
<div class="form-control option-field-1"><input type="text" name="options[1][option]"/></div>
<div class="form-control option-field-2"><input type="text" name="options[2][option]"/></div>
<div class="form-control option-field-3"><input type="text" name="options[3][option]"/></div>
<div class="form-control option-field-4"><input type="text" name="options[4][option]"/></div>
</div>
<button class="add-option">Add More Fields</button>
<button class="remove-option">Remove Fields</button>
</div>
@endsection

View file

@ -5,7 +5,9 @@
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Question #{{ session("question_counter")-1 }}</div>
<div class="panel-heading">
<h4 class="panel-title">Question #{{ session("question_counter")-1 }}</h4>
</div>
<div class="panel-body">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: {{ session("test")->progressBarWidth(session("question_counter")-1) }}%;">

View file

@ -1,18 +0,0 @@
@extends('layouts.base')
@section('content')
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<h1>Are you Sure!</h1>
</br>
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/delete">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit" class="btn btn-danger">Yes</button>
</form>
<form method="GET" action="/{{ Auth::user()->getAdminPath() }}/tests">
<button type="submit" class="btn btn-default">No</button>
</form>
</div>
</div>
@stop

View file

@ -4,7 +4,9 @@
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Question #{{ session("question_counter") }}</div>
<div class="panel-heading">
<h4 class="panel-title">Question #{{ session("question_counter") }}</h4>
</div>
<div class="panel-body">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: {{ session("test")->progressBarWidth(session("question_counter")) }}%;">

View file

@ -1,18 +0,0 @@
@extends('layouts.base')
@section('content')
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<h1>Are you Sure!</h1>
</br>
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/questions/{{ $question->id }}">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit" class="btn btn-danger">Yes</button>
</form>
<form method="GET" action="/{{ Auth::user()->getAdminPath() }}/tests">
<button type="submit" class="btn btn-default">No</button>
</form>
</div>
</div>
@stop

View file

@ -1,6 +1,9 @@
@extends('layouts.base')
@section('content')
@include('shared.delete-modal')
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
@ -11,8 +14,8 @@
<div class="panel-body">
@if (Auth::user()->isAdministrator() || (Auth::user()->isModerator() AND $test->group_id === Auth::user()->group_id))
<form method="get">
<button class="btn btn-danger pull-right" formaction="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/delete">Delete</button>
<button class="btn btn-default pull-right" formaction="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/edit">Edit</button>
<button type="button" class="btn btn-sm btn-danger pull-right" data-toggle="modal" data-target=".delete-modal" data-url="tests" data-id="{{ $test->id }}">Delete</button>
<button class="btn btn-sm btn-default pull-right" formaction="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/edit">Edit</button>
</form>
@endif
<strong>Title:</strong><br>
@ -47,7 +50,7 @@
@if (Auth::user()->isAdministrator() || (Auth::user()->isModerator() AND $test->group_id === Auth::user()->group_id))
<form method="get" class="pull-right">
<button class="btn btn-sm btn-default pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/questions/{{ $question->id }}/edit">Edit</button>
<button class="btn btn-sm btn-danger pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/questions/{{ $question->id }}/delete">Delete</button>
<button type="button" class="btn btn-sm btn-danger pull-left" data-toggle="modal" data-target=".delete-modal" data-url="questions" data-id="{{ $question->id }}">Delete</button>
</form>
@endif
</div>

View file

@ -1,11 +1,16 @@
@extends('layouts.base')
@section('content')
@include('shared.delete-modal')
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Tests</div>
<div class="panel-heading">
<h4 class="panel-title">Tests</h4>
</div>
<div class="panel-body">
<table class="table">
<tr>
@ -23,15 +28,11 @@
<td><a href="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}">{{ $test->title }}</a></td>
@if (Auth::user()->isAdministrator() || (Auth::user()->isModerator() AND $test->group_id === Auth::user()->group_id))
<td>
<form method="get" class="pull-right">
<button class="btn btn-sm btn-danger pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/tests/{{ $test->id }}/delete">Delete</button>
</form>
<button type="button" class="btn btn-sm btn-danger pull-right" data-toggle="modal" data-target=".delete-modal" data-url="tests" data-id="{{ $test->id }}">Delete</button>
</td>
@else
<td>
<form method="get" class="pull-right">
<button class="btn btn-sm btn-danger pull-left" formaction="#" disabled>Delete</button>
</form>
<button class="btn btn-sm btn-danger pull-right" formaction="#" disabled>Delete</button>
</td>
@endif
</tr>

View file

@ -1,18 +0,0 @@
@extends('layouts.base')
@section('content')
<div class="container-fluid">
<div class="col-md-6 col-md-offset-3">
<h1>Are you Sure!</h1>
</br>
<form method="POST" action="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit" class="btn btn-danger">Yes</button>
</form>
<form method="GET" action="/{{ Auth::user()->getAdminPath() }}/users">
<button type="submit" class="btn btn-default">No</button>
</form>
</div>
</div>
@stop

View file

@ -30,7 +30,9 @@
</div>
@endif
<div class="panel panel-default">
<div class="panel-heading">Password</div>
<div class="panel-heading">
<h4 class="panel-title">Password</h4>
</div>
<div class="panel-body">
<form method="post" action="/settings/update/password">
{{ csrf_field() }}
@ -51,7 +53,9 @@
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Email</div>
<div class="panel-heading">
<h4 class="panel-title">Email</h4>
</div>
<div class="panel-body">
<form method="post" action="/settings/update/email">
{{ csrf_field() }}

View file

@ -1,11 +1,16 @@
@extends('layouts.base')
@section('content')
@include('shared.delete-modal')
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">Users</div>
<div class="panel-heading">
<h4 class="panel-title">Users</h4>
</div>
<div class="panel-body">
<table class="table">
<tr>
@ -24,7 +29,7 @@
<td>
<form method="get" class="pull-right">
<button class="btn btn-sm btn-default pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}/edit">Edit</button>
<button class="btn btn-sm btn-danger pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}/delete">Delete</button>
<button type="button" class="btn btn-sm btn-danger pull-left" data-toggle="modal" data-target=".delete-modal" data-url="users" data-id="{{ $user->id }}">Delete</button>
</form>
</td>
</tr>

View file

@ -12,9 +12,10 @@
*/
Route::get('/', 'PageController@welcome');
Route::get('/403', 'PageController@error403');
/*Route::get('/403', 'PageController@error403');
Route::get('/404', 'PageController@error404');
Route::get('/503', 'PageController@error503');
Route::get('/503', 'PageController@error503');*/
Auth::routes();
@ -50,14 +51,12 @@ Route::group(['prefix' => 'mod', 'middleware' => 'is.mod'], function () {
Route::get('/tests/{test}', 'AdministrativeTestController@showTest');
Route::get('/tests/{test}/edit', 'AdministrativeTestController@editTest');
Route::patch('/tests/{test}/edit', 'AdministrativeTestController@updateTest');
Route::get('/tests/{test}/delete', 'AdministrativeTestController@confirmDeleteTest');
Route::delete('/tests/{test}/delete', 'AdministrativeTestController@deleteTest');
Route::get('/tests/{test}/question', 'AdministrativeTestController@newQuestion');
Route::post('/tests/{test}/question', 'AdministrativeTestController@addQuestion');
Route::get('/questions/{question}/edit', 'AdministrativeTestController@editQuestion');
Route::patch('/questions/{question}', 'AdministrativeTestController@updateQuestion');
Route::get('/questions/{question}/delete', 'AdministrativeTestController@confirmDeleteQuestion');
Route::delete('/questions/{question}/', 'AdministrativeTestController@deleteQuestion');
Route::delete('/questions/{question}/delete', 'AdministrativeTestController@deleteQuestion');
Route::get('/users', 'ModeratorController@showUsers');
@ -65,8 +64,7 @@ Route::group(['prefix' => 'mod', 'middleware' => 'is.mod'], function () {
Route::post('/users/new', 'AdministrativeUserController@addUser');
Route::get('/users/{user}/edit', 'AdministrativeUserController@editUser');
Route::post('/users/{user}/edit', 'AdministrativeUserController@updateUser');
Route::get('/users/{user}/delete', 'AdministrativeUserController@confirmDeleteUser');
Route::delete('/users/{user}', 'AdministrativeUserController@deleteUser');
Route::delete('/users/{user}/delete', 'AdministrativeUserController@deleteUser');
});
/*---------- Routes for the administrator section ----------*/
@ -83,14 +81,12 @@ Route::group(['prefix' => 'admin', 'middleware' => 'is.admin'], function () {
Route::get('/tests/{test}', 'AdministrativeTestController@showTest');
Route::get('/tests/{test}/edit', 'AdministrativeTestController@editTest');
Route::patch('/tests/{test}/edit', 'AdministrativeTestController@updateTest');
Route::get('/tests/{test}/delete', 'AdministrativeTestController@confirmDeleteTest');
Route::delete('/tests/{test}/delete', 'AdministrativeTestController@deleteTest');
Route::get('/tests/{test}/question', 'AdministrativeTestController@newQuestion');
Route::post('/tests/{test}/question', 'AdministrativeTestController@addQuestion');
Route::get('/questions/{question}/edit', 'AdministrativeTestController@editQuestion');
Route::patch('/questions/{question}', 'AdministrativeTestController@updateQuestion');
Route::get('/questions/{question}/delete', 'AdministrativeTestController@confirmDeleteQuestion');
Route::delete('/quphpestions/{question}/', 'AdministrativeTestController@deleteQuestion');
Route::delete('/questions/{question}/delete', 'AdministrativeTestController@deleteQuestion');
Route::get('/users', 'AdminController@showGroups');
Route::get('/users/all', 'AdminController@showAllUsers');
@ -99,15 +95,13 @@ Route::group(['prefix' => 'admin', 'middleware' => 'is.admin'], function () {
Route::post('/users/new', 'AdministrativeUserController@addUser');
Route::get('/users/{user}/edit', 'AdministrativeUserController@editUser');
Route::post('/users/{user}/edit', 'AdministrativeUserController@updateUser');
Route::get('/users/{user}/delete', 'AdministrativeUserController@confirmDeleteUser');
Route::delete('/users/{user}', 'AdministrativeUserController@deleteUser');
Route::delete('/users/{user}/delete', 'AdministrativeUserController@deleteUser');
Route::get('/groups', 'GroupController@showGroups');
Route::get('/groups/new', 'GroupController@newGroup');
Route::post('/groups/new', 'GroupController@addGroup');
Route::get('/groups/{group}/edit', 'GroupController@editGroup');
Route::patch('/groups/{group}/edit', 'GroupController@updateGroup');
Route::get('/groups/{group}/delete', 'GroupController@confirmDeleteGroup');
Route::delete('/groups/{group}/delete', 'GroupController@DeleteGroup');
});