added new, edit and delete functionality for tests
This commit is contained in:
parent
6dd296a664
commit
1e4b7fd57c
11 changed files with 225 additions and 4 deletions
|
@ -3,8 +3,9 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Http\Requests;
|
||||
use App\Test;
|
||||
use App\Company;
|
||||
|
||||
class AdminController extends Controller
|
||||
{
|
||||
|
@ -18,4 +19,46 @@ class AdminController extends Controller
|
|||
{
|
||||
return view('admin.admin');
|
||||
}
|
||||
|
||||
public function showTest()
|
||||
{
|
||||
$tests = Test::all();
|
||||
return view('admin.show.tests', compact('tests'));
|
||||
}
|
||||
|
||||
public function test()
|
||||
{
|
||||
return view('admin.new.test');
|
||||
}
|
||||
|
||||
public function addTest()
|
||||
{
|
||||
$user = \Auth::user();
|
||||
$company = Company::find($user->company_id);
|
||||
$test = new Test(request()->all());
|
||||
$company->tests()->save($test);
|
||||
return redirect('/admin/tests');
|
||||
}
|
||||
|
||||
public function editTest(Test $test)
|
||||
{
|
||||
return view('admin.edit.test', compact('test'));
|
||||
}
|
||||
|
||||
public function updateTest(Test $test)
|
||||
{
|
||||
$test->update(request()->all());
|
||||
return redirect('/admin/tests');
|
||||
}
|
||||
|
||||
public function delTest(Test $test)
|
||||
{
|
||||
return view('admin.delete.test', compact('test'));
|
||||
}
|
||||
|
||||
public function deleteTest(Test $test)
|
||||
{
|
||||
$test->delete();
|
||||
return redirect('/admin/tests');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +1,35 @@
|
|||
@extends('layouts.base')
|
||||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Tests</div>
|
||||
<div class="panel-body">
|
||||
<form method="get">
|
||||
<button formaction="/admin/tests" class="btn btn-default">Show Tests</button>
|
||||
<button formaction="/admin/tests/new" class="btn btn-default">New Test</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Users</div>
|
||||
<div class="panel-body">
|
||||
<form method="get">
|
||||
<button formaction="/admin/users" class="btn btn-default">Show Users</button>
|
||||
<button formaction="/admin/users/new" class="btn btn-default">New User</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Companies</div>
|
||||
<div class="panel-body">
|
||||
<form method="get">
|
||||
<button formaction="/admin/companies" class="btn btn-default">Show Companies</button>
|
||||
<button formaction="/admin/companies/new" class="btn btn-default">New Company</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
18
resources/views/admin/delete/test.blade.php
Normal file
18
resources/views/admin/delete/test.blade.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<h1>Are you Sure!</h1>
|
||||
</br>
|
||||
<form method="POST" action="/admin/tests/{{ $test->id }}">
|
||||
{{ csrf_field() }}
|
||||
{{ method_field('DELETE') }}
|
||||
<button type="submit" class="btn btn-default">Yes</button>
|
||||
</form>
|
||||
<form method="GET" action="/admin/tests">
|
||||
<button type="submit" class="btn btn-default">No</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
25
resources/views/admin/edit/test.blade.php
Normal file
25
resources/views/admin/edit/test.blade.php
Normal file
|
@ -0,0 +1,25 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<h1>Create New Test</h1>
|
||||
</br>
|
||||
<form method="POST" action="/admin/tests/{{ $test->id }}">
|
||||
{{ csrf_field() }}
|
||||
{{ method_field('PATCH') }}
|
||||
<div class="form-group">
|
||||
<label>Title</label>
|
||||
<input type="text" class="form-control" name="title" value="{{ $test->title }}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Number of Questions</label>
|
||||
<input type="text" class="form-control" name="question_count" value="{{ $test->question_count }}">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
1
resources/views/admin/new/questions.blade.php
Normal file
1
resources/views/admin/new/questions.blade.php
Normal file
|
@ -0,0 +1 @@
|
|||
hello
|
24
resources/views/admin/new/test.blade.php
Normal file
24
resources/views/admin/new/test.blade.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<h1>Create New Test</h1>
|
||||
</br>
|
||||
<form method="POST" action="/admin/tests/new">
|
||||
{{ csrf_field() }}
|
||||
<div class="form-group">
|
||||
<label>Title</label>
|
||||
<input type="text" class="form-control" name="title">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Number of Questions</label>
|
||||
<input type="text" class="form-control" name="question_count">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
39
resources/views/admin/new/user.blade.php
Normal file
39
resources/views/admin/new/user.blade.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-4 col-md-offset-4">
|
||||
<h1>Create New User</h1>
|
||||
</br>
|
||||
<form method="POST" action="/admin/new/questions">
|
||||
<div class="form-group">
|
||||
<label>Name</label>
|
||||
<input type="text" class="form-control" name="title">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Email</label>
|
||||
<input type="email" class="form-control" name="question_count">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>password</label>
|
||||
<input type="password" class="form-control" name="question_count">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Email</label>
|
||||
<input type="email" class="form-control" name="question_count">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Email</label>
|
||||
<input type="email" class="form-control" name="question_count">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Email</label>
|
||||
<input type="email" class="form-control" name="question_count">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
25
resources/views/admin/show/tests.blade.php
Normal file
25
resources/views/admin/show/tests.blade.php
Normal file
|
@ -0,0 +1,25 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Tests</div>
|
||||
<div class="panel-body">
|
||||
@foreach ($tests as $test)
|
||||
<div class="list-group-item">
|
||||
{{ $test->title}}
|
||||
<form class="pull-right" method="get">
|
||||
<button formaction="/admin/tests/{{ $test->id }}/edit">Edit</button>
|
||||
<button formaction="/admin/tests/{{ $test->id }}/delete">Delete</button>
|
||||
</form>
|
||||
</div>
|
||||
</br>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
0
resources/views/admin/show/users.blade.php
Normal file
0
resources/views/admin/show/users.blade.php
Normal file
|
@ -13,12 +13,12 @@
|
|||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/css/app.css">
|
||||
|
||||
<!-- Scripts -->
|
||||
<!-- Scripts
|
||||
<script>
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>
|
||||
</script>
|
||||
</script> -->
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-default navbar-static-top">
|
||||
|
|
|
@ -18,6 +18,18 @@ Auth::routes();
|
|||
Route::get('/home', 'HomeController@index');
|
||||
Route::get('/stats', 'HomeController@stats');
|
||||
Route::get('/settings', 'HomeController@settings');
|
||||
|
||||
Route::get('/test/{test}', 'TestController@test');
|
||||
Route::get('/test/answer', 'TestController@answer');
|
||||
|
||||
Route::get('/admin', 'AdminController@index');
|
||||
Route::get('/admin/tests/new', 'AdminController@test');
|
||||
Route::post('/admin/tests/new', 'AdminController@addTest');
|
||||
Route::get('/admin/tests', 'AdminController@showTest');
|
||||
|
||||
Route::get('/admin/tests/{test}/edit', 'AdminController@editTest');
|
||||
Route::patch('/admin/tests/{test}', 'AdminController@updateTest');
|
||||
|
||||
Route::get('/admin/tests/{test}/delete', 'AdminController@delTest');
|
||||
Route::delete('/admin/tests/{test}', 'AdminController@deleteTest');
|
||||
|
||||
|
|
Reference in a new issue