| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace App\Http\Controllers\Admin;
- /*
- * LeadController — просмотр заявок с веб-форм в административной панели.
- * Маршруты:
- * GET admin/leads — список всех заявок (с фильтром по форме)
- * GET admin/leads/{lead} — просмотр одной заявки (помечает как прочитанную)
- * DELETE admin/leads/{lead} — удалить заявку
- */
- use App\Http\Controllers\Controller;
- use App\Models\Lead;
- use App\Models\WebForm;
- use Illuminate\Http\RedirectResponse;
- use Illuminate\Http\Request;
- use Illuminate\View\View;
- class LeadController extends Controller
- {
- public function index(Request $request): View
- {
- $forms = WebForm::orderBy('title')->get();
- $formId = $request->query('form_id');
- $query = Lead::with('form')->latest();
- if ($formId) {
- $query->where('form_id', $formId);
- }
- $leads = $query->paginate(30)->withQueryString();
- return view('admin.leads.index', compact('leads', 'forms', 'formId'));
- }
- public function show(Lead $lead): View
- {
- $lead->markAsRead();
- return view('admin.leads.show', compact('lead'));
- }
- public function destroy(Lead $lead): RedirectResponse
- {
- $lead->delete();
- return redirect()->route('admin.leads.index')->with('success', 'Заявка удалена.');
- }
- }
|