REFACTORING: move part of content business logic into repository

This commit is contained in:
Michal Kváček
2016-10-18 15:36:26 +02:00
parent eabbf48ee0
commit 662700b4f2
19 changed files with 504 additions and 383 deletions
@@ -3,15 +3,33 @@ namespace App\Cms\Interactions\Admin\Content;
use App\CMS\Contracts\Interaction;
use App\CMS\Helpers\CurrentTemplate;
use App\Events\CreateNewContent;
use App\Http\Requests\Request;
use App\Models\Content\Content;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Str;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class NewContent implements Interaction
{
protected $content;
public function __construct()
{
$this->content = App::make(\App\CMS\Contracts\Repositories\Content::class);
}
/**
* @param Request $request
* @param $parameters
*
* @return Content
*/
public function handle(Request $request, $parameters)
{
list($moduleHandler) = $parameters;
// create new page
$page = new Content();
$page->template = $request->template;
@@ -27,7 +45,7 @@ class NewContent implements Interaction
$page->meta_description = $request->metaDescription;
$page->content = $request->pageContent;
$page->status = $request->status;
$page->module_handler = $request->handler;
$page->module_handler = $moduleHandler;
$page->category_id = (int)$request->category > 0 ? $request->category : null;
$page->parent_id = $request->parentPage ? $request->parentPage : null;
@@ -48,6 +66,9 @@ class NewContent implements Interaction
// upload files assigned to content page
$page->uploadRelatedFiles($request);
Event::fire(new CreateNewContent($this));
return $page;
}