/home2/mshostin/carnival.ms-hostingladz.com/app/Http/Controllers/PermissionsController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Permission;
use Illuminate\Support\Facades\Auth;
class PermissionsController extends Controller
{
/**
* Display a listing of the permissions.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$permissions = Permission::all();
return view('dashboard.admin.permissions.index', compact('permissions'));
}
/**
* Show the form for creating a new permission.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('dashboard.admin.permissions.create');
}
/**
* Store a newly created permission in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required|unique:permissions',
'display_name' => 'required',
'description' => 'nullable',
]);
$data = $request->all();
$data['user_id'] = Auth::id();
Permission::create($data);
return redirect()->route('permissions.index')->with('success', 'Permission created successfully');
}
/**
* Display the specified permission.
*
* @param \App\Models\Permission $permission
* @return \Illuminate\Http\Response
*/
public function show(Permission $permission)
{
return view('dashboard.admin.permissions.show', compact('permission'));
}
/**
* Show the form for editing the specified permission.
*
* @param \App\Models\Permission $permission
* @return \Illuminate\Http\Response
*/
public function edit(Permission $permission)
{
return view('dashboard.admin.permissions.edit', compact('permission'));
}
/**
* Update the specified permission in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Permission $permission
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Permission $permission)
{
$request->validate([
'name' => 'required|unique:permissions,name,' . $permission->id,
'display_name' => 'required',
'description' => 'nullable',
]);
$permission->update($request->all());
return redirect()->route('permissions.index')->with('success', 'Permission updated successfully');
}
/**
* Remove the specified permission from storage.
*
* @param \App\Models\Permission $permission
* @return \Illuminate\Http\Response
*/
public function destroy(Permission $permission)
{
$permission->delete();
return redirect()->route('permissions.index')->with('success', 'Permission deleted successfully');
}
}