/home2/mshostin/farms.ms-hostingladz.com/app/Http/Controllers/Backend/PermissionController.php
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Permission;
use Illuminate\Support\Facades\Auth;
use App\Models\Activity;
class PermissionController extends Controller
{
public function __construct()
{
$permissions = [
'index' => 'view-permissions',
'store' => 'create-permissions',
'update' => 'edit-permissions',
'destroy' => 'delete-permissions',
];
foreach ($permissions as $method => $permission) {
$this->middleware("permission:{$permission}")->only($method);
}
}
public function index()
{
$permissions = Permission::all();
return view('dashboard.pages.permissions', compact('permissions'));
}
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255|unique:permissions,name',
'slug' => 'required|string|max:255|unique:permissions,slug',
]);
$permission = Permission::create($request->only(['name', 'slug']));
return redirect()->route('permissions.index')->with('success', 'Permission created successfully.');
}
public function update(Request $request, Permission $permission)
{
$request->validate([
'name' => 'required|string|max:255|unique:permissions,name,' . $permission->id,
'slug' => 'required|string|max:255|unique:permissions,slug,' . $permission->id,
]);
$original = $permission->getOriginal();
$permission->update($request->only(['name', 'slug']));
return redirect()->route('permissions.index')->with('success', 'Permission updated successfully.');
}
public function destroy(Permission $permission)
{
$attributes = $permission->getAttributes();
$permission->roles()->detach();
$permission->delete();
return redirect()->route('permissions.index')->with('success', 'Permission deleted successfully.');
}
}