fix: update travel type controller
This commit is contained in:
@@ -3,9 +3,81 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\TravelTypeStoreRequest;
|
||||
use App\Http\Requests\TravelTypeUpdateRequest;
|
||||
use App\Models\TravelType;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TravelTypeController extends Controller
|
||||
{
|
||||
/**
|
||||
* لیست + جستجو + صفحهبندی انواع سفر
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('view'), 403);
|
||||
|
||||
$query = TravelType::query();
|
||||
|
||||
// جستجو بر اساس عنوان / اسلاگ
|
||||
if ($request->filled('search')) {
|
||||
$query->where(function ($q) use ($request) {
|
||||
$q->where('title', 'like', '%' . $request->search . '%')
|
||||
->orWhere('slug', 'like', '%' . $request->search . '%');
|
||||
});
|
||||
}
|
||||
|
||||
// فیلتر وضعیت (1=فعال، 0=غیرفعال)
|
||||
if ($request->filled('status')) {
|
||||
$query->where('status', $request->status);
|
||||
}
|
||||
|
||||
$travelTypes = $query->latest()->paginate(10)->withQueryString();
|
||||
|
||||
return view('admin.travel_types.index', compact('travelTypes'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('create'), 403);
|
||||
|
||||
return view('admin.travel_types.create');
|
||||
}
|
||||
|
||||
public function store(TravelTypeStoreRequest $request)
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('create'), 403);
|
||||
|
||||
TravelType::create($request->validated());
|
||||
|
||||
return redirect()->route('admin.travelTypes.index')
|
||||
->with('success', 'نوع سفر با موفقیت ثبت شد.');
|
||||
}
|
||||
|
||||
public function edit(TravelType $travelType)
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('edit'), 403);
|
||||
|
||||
return view('admin.travel_types.edit', compact('travelType'));
|
||||
}
|
||||
|
||||
public function update(TravelTypeUpdateRequest $request, TravelType $travelType)
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('edit'), 403);
|
||||
|
||||
$travelType->update($request->validated());
|
||||
|
||||
return redirect()->route('admin.travelTypes.index')
|
||||
->with('success', 'نوع سفر با موفقیت ویرایش شد.');
|
||||
}
|
||||
|
||||
public function destroy(TravelType $travelType)
|
||||
{
|
||||
abort_unless(auth('admin')->user()->canManageTravelTypes('delete'), 403);
|
||||
|
||||
$travelType->delete();
|
||||
|
||||
return redirect()->route('admin.travelTypes.index')
|
||||
->with('success', 'نوع سفر با موفقیت حذف شد.');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user