File: /home/armgroup/libs/app/Http/Controllers/Admin/PageController.php
<?php
namespace App\Http\Controllers\Admin;
use App\DataTables\PagesDataTable;
use App\Http\Controllers\Controller;
use App\Models\Page;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
class PageController extends Controller
{
public function __construct()
{
$this->middleware('permission:manage pages');
}
public function index(PagesDataTable $dataTable)
{
return $dataTable->render('admin.pages.index');
}
public function create()
{
return view('admin.pages.create');
}
public function edit(Page $page)
{
Gate::authorize('checkPermission', $page->user_id);
return view('admin.pages.edit', compact('page'));
}
public function destroy(Page $page)
{
Gate::authorize('checkPermission', $page->user_id);
DB::transaction(function () use ($page) {
$page->comments()->delete();
$page->delete();
});
$this->doneMessage("{$page->title} حذف شد");
return back();
}
}