schneespur/release/schneespur-1.0.2/app/Http/Controllers/Admin/VehicleController.php
Michael 7288b93500 Release v1.0.2: diagnostic infrastructure core
Add neutral diagnostic framework for future reporting modules:
- DiagnosticReporterInterface, Registry, Manager, PayloadSanitizer
- Laravel exception hook in bootstrap/app.php
- Module permission declarations (requires_permissions in module.json)
- Core diagnostic report points (module boot/install/update failures)
- Module documentation update (moduldoku.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:54:11 +00:00

65 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\StoreVehicleRequest;
use App\Http\Requests\Admin\UpdateVehicleRequest;
use App\Models\Vehicle;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class VehicleController extends Controller
{
public function index(Request $request): View
{
$vehicles = Vehicle::query()
->when($request->search, function ($query, $search) {
$query->where('name', 'like', "%{$search}%");
})
->orderBy('name')
->paginate(25)
->withQueryString();
return view('admin.vehicles.index', compact('vehicles'));
}
public function create(): View
{
return view('admin.vehicles.create');
}
public function store(StoreVehicleRequest $request): RedirectResponse
{
$vehicle = Vehicle::create($request->validated());
return redirect()
->route('admin.vehicles.index')
->with('success', __('vehicle.flash_created', ['name' => $vehicle->name]));
}
public function edit(Vehicle $vehicle): View
{
return view('admin.vehicles.edit', compact('vehicle'));
}
public function update(UpdateVehicleRequest $request, Vehicle $vehicle): RedirectResponse
{
$vehicle->update($request->validated());
return redirect()
->route('admin.vehicles.index')
->with('success', __('vehicle.flash_updated', ['name' => $vehicle->name]));
}
public function destroy(Vehicle $vehicle): RedirectResponse
{
$name = $vehicle->name;
$vehicle->delete();
return redirect()
->route('admin.vehicles.index')
->with('success', __('vehicle.flash_deleted', ['name' => $name]));
}
}