1
0
Fork 0

app/Http/Controllers/Admin/*Controller.php: refactoring so that all controllers share similar code by inheriting from BaseController and set $_datatable property.

This commit is contained in:
Henrik Hautakoski 2022-01-24 22:30:38 +01:00
parent 6482020dfd
commit 0c493c2978
8 changed files with 76 additions and 116 deletions

View file

@ -2,12 +2,22 @@
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
class AdminController extends Controller
class AdminController extends BaseController
{
public function index()
{
return view("admin.admin.index");
}
protected $_datatable = [
'model' => \App\Models\Admin::class,
'default_sort' => 'id',
'columns' => [
'id' => '#',
'username' => 'Username',
'created_at' => 'Created',
'updated_at' => 'Updated',
],
'sort_columns' => [
'id' => 'id',
'username' => 'username',
'created_at' => 'created_at',
'updated_at' => 'updated_at',
]
];
}

View file

@ -5,17 +5,32 @@ namespace App\Http\Controllers\Admin;
use App\Models\Card;
use App\Http\Livewire\Form\CardForm;
use App\Http\Controllers\Controller;
class CardController extends Controller
class CardController extends BaseController
{
protected $_datatable = [
'model' => Card::class,
'default_sort' => 'id',
'route_create' => 'admin.card.create',
'route_edit' => 'admin.card.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'body' => 'Body',
'subject' => 'Subject',
'subject_type' => 'Subject Type',
'raid.name' => 'Raid',
],
'sort_columns' => [
'id' => 'id',
'body' => 'body',
'subject' => ['character.name', 'class', 'role'],
'raid.name' => 'raid.name',
]
];
static public function getForm() : string
{
return CardForm::class;
}
public function index()
{
return view('admin.card.index');
}
}

View file

@ -5,17 +5,27 @@ namespace App\Http\Controllers\Admin;
use App\Models\Character;
use App\Http\Livewire\Form\CharacterForm;
use App\Http\Controllers\Controller;
class CharacterController extends Controller
class CharacterController extends BaseController
{
protected $_datatable = [
'model' => Character::class,
'default_sort' => 'id',
'route_create' => 'admin.character.create',
'route_edit' => 'admin.character.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'name' => 'Name',
],
'sort_columns' => [
'id' => 'id',
'name' => 'name',
]
];
static public function getForm() : string
{
return CharacterForm::class;
}
public function index()
{
return view("admin.character.index");
}
}

View file

@ -5,17 +5,27 @@ namespace App\Http\Controllers\Admin;
use App\Models\Raid;
use App\Http\Livewire\Form\RaidForm;
use App\Http\Controllers\Controller;
class RaidController extends Controller
class RaidController extends BaseController
{
protected $_datatable = [
'model' => Raid::class,
'default_sort' => 'id',
'route_create' => 'admin.raid.create',
'route_edit' => 'admin.raid.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'name' => 'Name',
],
'sort_columns' => [
'id' => 'id',
'name' => 'name',
]
];
static public function getForm() : string
{
return RaidForm::class;
}
public function index()
{
return view("admin.raid.index");
}
}

View file

@ -1,20 +0,0 @@
<x-layout name="admin">
@livewire('datatable', [
'model' => \App\Models\Admin::class,
'default_sort' => 'id',
'columns' => [
'id' => '#',
'username' => 'Username',
'created_at' => 'Created',
'updated_at' => 'Updated',
],
'sort_columns' => [
'id' => 'id',
'username' => 'username',
'created_at' => 'created_at',
'updated_at' => 'updated_at'
]
])
</x-layout>

View file

@ -1,25 +0,0 @@
<x-layout name="admin">
@livewire('datatable', [
'model' => \App\Models\Card::class,
'default_sort' => 'id',
'route_create' => 'admin.card.create',
'route_edit' => 'admin.card.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'body' => 'Body',
'subject' => 'Subject',
'subject_type' => 'Subject Type',
'raid.name' => 'Raid',
],
'sort_columns' => [
'id' => 'id',
'body' => 'body',
'subject' => ['character.name', 'class', 'role'],
'raid.name' => 'raid.name',
]
])
</x-layout>

View file

@ -1,20 +0,0 @@
<x-layout name="admin">
@livewire('datatable', [
'model' => \App\Models\Character::class,
'default_sort' => 'id',
'route_create' => 'admin.character.create',
'route_edit' => 'admin.character.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'name' => 'Name',
],
'sort_columns' => [
'id' => 'id',
'name' => 'name',
]
])
</x-layout>

View file

@ -1,20 +0,0 @@
<x-layout name="admin">
@livewire('datatable', [
'model' => \App\Models\Raid::class,
'default_sort' => 'id',
'route_create' => 'admin.raid.create',
'route_edit' => 'admin.raid.edit',
'delete_enabled' => true,
'restore_enabled' => true,
'columns' => [
'id' => '#',
'name' => 'Name',
],
'sort_columns' => [
'id' => 'id',
'name' => 'name',
]
])
</x-layout>