add admin gate

This commit is contained in:
TimmensOne
2023-03-31 17:17:09 +02:00
parent 7a95a3d36f
commit 8b7ae81d66
11 changed files with 80 additions and 86 deletions

View File

@ -5,10 +5,12 @@ namespace App\Http\Controllers;
use App\Models\Device;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Gate;
use Illuminate\Http\RedirectResponse;
class DeviceController extends Controller
{
//
public function index()
{
return view('devices.index', [
@ -16,11 +18,15 @@ class DeviceController extends Controller
]);
}
public function create(){
public function create()
{
$this->authorize('admin-only');
return view('devices.create');
}
public function store(Request $request){
public function store(Request $request)
{
$this->authorize('admin-only');
$formFields = $request->validate([
'title' => 'required',
'device_type' => 'required',
@ -36,11 +42,15 @@ class DeviceController extends Controller
return redirect('/devices');
}
public function edit(Device $device) {
public function edit(Device $device)
{
$this->authorize('admin-only');
return view('devices.edit', ['device' => $device]);
}
public function update(Device $device, Request $request){
public function update(Device $device, Request $request)
{
$this->authorize('admin-only');
$formFields = $request->validate([
'title' => 'required',
'device_type' => 'required',
@ -56,7 +66,9 @@ class DeviceController extends Controller
return back();
}
public function destroy(Device $device){
public function destroy(Device $device): RedirectResponse
{
$this->authorize('admin-only');
$device->delete();
return redirect('devices');
}