FEATURE: move bussiness logic out of models

This commit is contained in:
Michal Kváček
2016-10-17 01:05:20 +02:00
parent 2ded2924a1
commit e26e6fd460
46 changed files with 1069 additions and 1039 deletions
+6 -4
View File
@@ -1,6 +1,7 @@
<?php
namespace App\CMS\Contracts\Widgets;
use App\Http\Requests\Request;
use App\Models\Widgets\Widget;
interface PublicWidget
@@ -27,10 +28,11 @@ interface PublicWidget
public static function getPresenter();
/**
* @param Widget $widget
* @param \stdClass $data
* Get widget settings for saving into database
*
* @return mixed
* @param Request $request
*
* @return array
*/
public static function save(Widget $widget, \stdClass $data);
public static function save(Request $request);
}
+1 -1
View File
@@ -8,7 +8,7 @@
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
use App\Models\Templates\TemplatePath;
class TemplatePaths extends BaseEnumeration
{
@@ -8,7 +8,7 @@
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
use App\Models\Templates\TemplatePath;
class TemplatePathsHumanReadable extends BaseEnumeration
{
@@ -8,7 +8,7 @@
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
use App\Models\Templates\TemplatePath;
class TemplatePathsHumanReadableRootOnly extends BaseEnumeration
{
+1 -1
View File
@@ -8,7 +8,7 @@
namespace App\CMS\Enumerations;
use App\Models\Template;
use App\Models\Templates\Template;
class Templates extends BaseEnumeration
{
@@ -3,8 +3,8 @@ namespace App\CMS\Handlers\Registrators;
use App\CMS\Enumerations\TemplatePaths;
use App\CMS\Enumerations\Templates;
use App\Models\Template;
use App\Models\TemplatePath;
use App\Models\Templates\Template;
use App\Models\Templates\TemplatePath;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
use Symfony\Component\Process\Exception\InvalidArgumentException;
+5 -13
View File
@@ -2,8 +2,8 @@
namespace App\CMS\Widgets\HtmlCode;
use App\CMS\Contracts\Widgets\PublicWidget;
use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Http\Requests\Request;
use App\Models\Widgets\Widget;
class HtmlCode implements PublicWidget
@@ -39,25 +39,17 @@ class HtmlCode implements PublicWidget
}
/**
* @param Widget $widget
* @param \stdClass $data
* @param Request $data
*
* @return Widget
* @return array
* @throws MissingParameterException
*/
public static function save(Widget $widget, \stdClass $data)
public static function save(Request $data)
{
if (!isset($data->code) || empty($data->code)) {
throw new MissingParameterException('code');
}
$widgetSettings = [
'code' => $data->code,
'containerClass' => isset($data->containerClass) ? $data->containerClass : ''
];
$widget->settings = json_encode($widgetSettings);
return $widget;
return ['code' => $data->code];
}
}
+3 -10
View File
@@ -4,8 +4,8 @@ namespace App\CMS\Widgets\Menu;
use App\CMS\Contracts\Widgets\PublicWidget;
use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Http\Requests\Request;
use App\Models\Content\Content;
use App\Models\Widgets\Widget;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class Menu implements PublicWidget
@@ -46,7 +46,7 @@ class Menu implements PublicWidget
*
* @return mixed
*/
public static function save(Widget $widget, \stdClass $data)
public static function save(Request $data)
{
if (!isset($data->settings) || empty($data->settings) || !json_decode($data->settings)) {
throw new MissingParameterException('settings');
@@ -61,14 +61,7 @@ class Menu implements PublicWidget
}
}
$settings = [
'links' => $links,
'containerClass' => $data->containerClass
];
$widget->settings = json_encode($settings);
return $widget;
return ['links' => $links];
}
public static function selectContentPages($ids)