diff --git a/app/Http/Controllers/Admin/EditWidgetArea.php b/app/Http/Controllers/Admin/EditWidgetArea.php new file mode 100644 index 00000000..9c1ecd8c --- /dev/null +++ b/app/Http/Controllers/Admin/EditWidgetArea.php @@ -0,0 +1,74 @@ + $area]); + } + + public function postEdit(EditWidgetAreaRequest $request, $id) + { + try { + $area = WidgetArea::findOrFail($id); + } catch (ModelNotFoundException $e) { + return $this->invalidArea(); + } + + $area->name = $request->name; + $area->description = $request->description; + + $area->save(); + + return redirect() + ->route('widgetareas.edit', ['id' => $id]) + ->with('success', trans('admin/widgetAreas.editSuccessfull')); + } + + /** + * Hard deletes widget area + * + * @param $id + * + * @return \Illuminate\Http\RedirectResponse + */ + public function deleteArea($id) + { + // try to find area + try { + $area = WidgetArea::findOrFail($id); + } catch (ModelNotFoundException $e) { + return $this->invalidArea(); + } + + // delete area + $area->delete(); + + // redirect and inform user + return redirect() + ->route('widgetareas.overview') + ->with('success', trans('admin/widgetAreas.successfullyDeleted')); + } + + /** + * Redirect user to overview with message about invalid widget area + * + * @return \Illuminate\Http\RedirectResponse + */ + private function invalidArea() + { + return redirect() + ->route('widgetareas.overview') + ->with('error', trans('admin/widgetAreas.invalidArea')); + } +} diff --git a/app/Http/Requests/EditWidgetAreaRequest.php b/app/Http/Requests/EditWidgetAreaRequest.php new file mode 100644 index 00000000..9632e847 --- /dev/null +++ b/app/Http/Requests/EditWidgetAreaRequest.php @@ -0,0 +1,18 @@ + 'required', + ]; + } +} diff --git a/resources/views/admin/widgets/area/edit.blade.php b/resources/views/admin/widgets/area/edit.blade.php new file mode 100644 index 00000000..a96927f2 --- /dev/null +++ b/resources/views/admin/widgets/area/edit.blade.php @@ -0,0 +1,10 @@ +@extends('admin.layout') + +@section('pageName', @trans('admin/widgetAreas.edit', ['name' => $area->name])) + +@section('content') +

@lang('admin/widgetAreas.edit', ['name' => $area->name])

+ + @include('admin.widgets.area.editForm') +@stop + diff --git a/resources/views/admin/widgets/area/editForm.blade.php b/resources/views/admin/widgets/area/editForm.blade.php new file mode 100644 index 00000000..64e1819f --- /dev/null +++ b/resources/views/admin/widgets/area/editForm.blade.php @@ -0,0 +1,48 @@ +@if (session('success')) +
+ {{ session('success') }} +
+@endif + +@if (session('error')) +
+ {{ session('error') }} +
+@endif + +
+ {!! csrf_field() !!} + + + + + + + +
\ No newline at end of file