diff --git a/app/CMS/Repositories/Widgets/Widget.php b/app/CMS/Repositories/Widgets/Widget.php new file mode 100644 index 00000000..25156d9f --- /dev/null +++ b/app/CMS/Repositories/Widgets/Widget.php @@ -0,0 +1,33 @@ +except('_token'); + + // create new widget + $widget = new WidgetModel(); + $widget->widget_type_handler = $widgetType->handler; + $widget->user_id = \Auth::user()->id; + $widget->name = $data['name']; + $widget->description = $data['description']; + $widget->container_class = $data['containerClass']; + $widget->container_id = $data['containerId']; + $widget->settings = json_encode(call_user_func([$widgetType->handler, 'save'], $request)); + + // save into database + $widget->save(); + + // fire event with newly created widget + Event::fire(new \App\Events\CreateNewWidget($widget)); + + return $widget; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Admin/Widgets/CreateNewWidget.php b/app/Http/Controllers/Admin/Widgets/CreateNewWidget.php index f4d90621..f50f749b 100644 --- a/app/Http/Controllers/Admin/Widgets/CreateNewWidget.php +++ b/app/Http/Controllers/Admin/Widgets/CreateNewWidget.php @@ -2,11 +2,11 @@ namespace App\Http\Controllers\Admin\Widgets; +use App\CMS\Repositories\Widgets\Widget; +use App\CMS\Widgets\Exceptions\MissingParameterException; use App\Http\Controllers\Admin\Controller; use App\Http\Requests\NewWidgetRequest; -use App\Models\Widgets\Widget; use App\Models\Widgets\WidgetType; -use App\CMS\Widgets\Exceptions\MissingParameterException; class CreateNewWidget extends Controller { @@ -54,9 +54,9 @@ class CreateNewWidget extends Controller } catch (MissingParameterException $e) { // user omitted some value return $this->invalidWidget($type, $e->getMessage()); - } catch (\Exception $e) { - // something went wrong - return $this->invalidWidget($type, trans('admin/widgets.cannotSave', ['exception' => $e->getMessage()])); + // } catch (\Exception $e) { + // // something went wrong + // return $this->invalidWidget($type, trans('admin/widgets.cannotSave', ['exception' => $e->getMessage()])); } // redirect with success notification diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore index c96a04f0..d6b7ef32 100755 --- a/storage/framework/cache/.gitignore +++ b/storage/framework/cache/.gitignore @@ -1,2 +1,2 @@ * -!.gitignore \ No newline at end of file +!.gitignore