path = storage_path('app/forms/contacts.json'); } public function index() { $categories = Category::all(); return view('form', compact('categories')); } public function submit(Request $request) { $validated = $request->validate([ 'name' => 'required|string|min:3|max:15', 'email' => 'required|email|max:50', 'message' => 'required|string|min:10|max:100', 'category_id' => 'required|exists:categories,id', ]); $newStatus = Status::where('name', 'Новое')->first(); if ($newStatus) { $validated['status_id'] = $newStatus->id; } ContactMessage::create($validated); return redirect()->back()->with('success', 'Данные сохранены!'); } public function showData() { $submissions = ContactMessage::with('category', 'status')->new()->latest()->get(); return view('admin.index', compact('submissions')); } public function show(ContactMessage $submission) { return view('admin.show', compact('submission')); } public function edit(ContactMessage $submission) { $categories = Category::all(); $statuses = Status::all(); return view('admin.edit', compact('submission', 'categories', 'statuses')); } public function update(Request $request , ContactMessage $submission) { $validated = $request->validate([ 'name' => 'required|string|min:3|max:15', 'email' => 'required|email|max:50', 'message' => 'required|string|min:10|max:100', 'status_id' => 'required|exists:statuses,id', ]); $submission->update($validated); return redirect()->route('admin.index')->with('success', 'Данные обновлены!'); } public function addNote(Request $request, ContactMessage $submission) { $request->validate(['body' => 'required|string']); $submission->notes()->create($request->only('body')); return back()->with('success', 'Заметка добавлена!'); } public function delete(ContactMessage $submission) { $submission -> delete(); return redirect()->route('admin.index')->with('success', 'Запись удалена!'); } }