did a bit more refactoring
This commit is contained in:
parent
75253b0b64
commit
5a330b1e64
3 changed files with 51 additions and 24 deletions
app
|
@ -3,6 +3,7 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Http\Requests;
|
||||
use App\Test;
|
||||
use App\Group;
|
||||
|
@ -52,9 +53,6 @@ class AdminController extends Controller
|
|||
return redirect('/admin/users');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function showTests()
|
||||
{
|
||||
$tests = Test::all();
|
||||
|
@ -74,14 +72,8 @@ class AdminController extends Controller
|
|||
|
||||
public function addTest()
|
||||
{
|
||||
$user = \Auth::user();
|
||||
$test = new Test(request()->all());
|
||||
if ($user->company_id) {
|
||||
$group = Group::find($user->company_id);
|
||||
$group->tests()->save($test);
|
||||
return redirect('/admin/tests');
|
||||
}
|
||||
$test->save();
|
||||
$test = new Test();
|
||||
$test->createTest(request()->all());
|
||||
return redirect('/admin/tests');
|
||||
}
|
||||
|
||||
|
@ -90,17 +82,26 @@ class AdminController extends Controller
|
|||
return view('admin.edit.test', compact('test'));
|
||||
}
|
||||
|
||||
public function delTest(Test $test)
|
||||
{
|
||||
return view('admin.delete.test', compact('test'));
|
||||
}
|
||||
|
||||
public function delQuestion(Question $question)
|
||||
{
|
||||
return view('admin.delete.question', compact('question'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* REFACTOR */
|
||||
public function updateTest(Test $test)
|
||||
{
|
||||
$test->update(request()->all());
|
||||
return redirect("/admin/tests/$test->id");
|
||||
}
|
||||
|
||||
public function delTest(Test $test)
|
||||
{
|
||||
return view('admin.delete.test', compact('test'));
|
||||
}
|
||||
|
||||
public function deleteTest(Test $test)
|
||||
{
|
||||
$questions = $test->questions;
|
||||
|
@ -147,11 +148,6 @@ class AdminController extends Controller
|
|||
return redirect("/admin/tests/$test->id");
|
||||
}
|
||||
|
||||
public function delQuestion(Question $question)
|
||||
{
|
||||
return view('admin.delete.question', compact('question'));
|
||||
}
|
||||
|
||||
public function deleteQuestion(Question $question)
|
||||
{
|
||||
$test = $question->test;
|
||||
|
|
14
app/Test.php
14
app/Test.php
|
@ -3,6 +3,7 @@
|
|||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class Test extends Model
|
||||
{
|
||||
|
@ -38,4 +39,17 @@ class Test extends Model
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function createTest($request)
|
||||
{
|
||||
$this->title = $request["title"];
|
||||
$this->question_count = $request["question_count"];
|
||||
$this->question_count_to_fail = $request["question_count_to_fail"];
|
||||
if (Auth::user()->group_id) {
|
||||
Group::find(Auth::user()->group_id)->tests()->save($this);
|
||||
return true;
|
||||
}
|
||||
$this->save();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
23
app/User.php
23
app/User.php
|
@ -3,6 +3,7 @@
|
|||
namespace App;
|
||||
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
|
||||
class User extends Authenticatable
|
||||
|
@ -57,6 +58,22 @@ class User extends Authenticatable
|
|||
return password_verify($password, $hash);
|
||||
}
|
||||
|
||||
public function isModerator()
|
||||
{
|
||||
if (!$this->access_level == 2) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function isAdministrator()
|
||||
{
|
||||
if (!$this->access_level == 3) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Function for adding a user.
|
||||
|
@ -89,17 +106,17 @@ class User extends Authenticatable
|
|||
*/
|
||||
public function deleteUser()
|
||||
{
|
||||
if ($this->id == \Auth::user()->id) {
|
||||
if ($this->id == Auth::user()->id) {
|
||||
$this->delete();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (\Auth::user()->group_id == $this->group_id && \Auth::user()->access_level >= 2) {
|
||||
if (Auth::user()->group_id == $this->group_id && Auth::user()->access_level >= 2) {
|
||||
$this->delete();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (\Auth::user()->access_level >= 3) {
|
||||
if (Auth::user()->access_level >= 3) {
|
||||
$this->delete();
|
||||
return true;
|
||||
}
|
||||
|
|
Reference in a new issue