added new, edit and delete functionality for tests

This commit is contained in:
mwalbeck 2016-09-01 14:07:42 +02:00
parent 6dd296a664
commit 1e4b7fd57c
11 changed files with 225 additions and 4 deletions

View file

@ -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');
}
}

View file

@ -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

View 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

View 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

View file

@ -0,0 +1 @@
hello

View 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

View 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

View 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

View 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">

View file

@ -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');