Added place edit function
This commit is contained in:
@@ -60,22 +60,37 @@ class PlacesController extends Controller
|
||||
return str_replace([',',' '], ['|',''], $gps);
|
||||
}
|
||||
|
||||
public function edit(Place $place): VIEW
|
||||
public function edit(int $id): VIEW
|
||||
{
|
||||
$place = Place::find($id);
|
||||
return view('places.edit', compact('place'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Place $place): Redirector|RedirectResponse
|
||||
public function update(Request $request, int $id)
|
||||
{
|
||||
$data = $request->validate([
|
||||
'name' => 'required|string|max:255',
|
||||
'lat' => 'required|numeric',
|
||||
'lng' => 'required|numeric',
|
||||
// Очистка телефона от маски перед валидацией
|
||||
if ($request->filled('phone')) {
|
||||
$request->merge(['phone' => preg_replace('/\D/', '', $request->phone)]);
|
||||
}
|
||||
|
||||
$validated = $request->validate([
|
||||
'name' => 'required|max:512',
|
||||
'address' => 'nullable|max:512',
|
||||
'phone' => 'nullable|digits:11',
|
||||
'gps' => [
|
||||
'nullable',
|
||||
'regex:/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/'
|
||||
],
|
||||
'url' => 'nullable|url|max:255',
|
||||
'description' => 'nullable',
|
||||
]);
|
||||
$place->update($data);
|
||||
|
||||
$place = Place::findOrFail($id);
|
||||
$place->update($validated);
|
||||
|
||||
return redirect()
|
||||
->route('places.index')
|
||||
->with('status', 'Обновлено!');
|
||||
->with('success', 'Данные обновлены');
|
||||
}
|
||||
|
||||
public function delete(int $id): Redirector|RedirectResponse
|
||||
|
||||
Reference in New Issue
Block a user