FEATURE #1423: add uploading of title photo for content pages

This commit is contained in:
Michal Kváček
2016-03-31 22:39:38 +02:00
parent e789b02a93
commit 590e1eeaca
12 changed files with 204 additions and 51 deletions
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
use App\Enumerations\ActiveContentStatuses;
use App\Http\Requests\CreateNewContentRequest;
use App\Models\Content;
use App\Models\File;
use App\Models\Module;
use App\Models\Template;
use Illuminate\Support\Str;
@@ -11,6 +12,22 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class CreateNewContent extends Controller
{
/**
* @var File
*/
private $file;
/**
* @var Content
*/
private $content;
public function __construct(File $file, Content $content)
{
parent::__construct();
$this->file = $file;
$this->content = $content;
}
/**
* Display form for new content page
*
@@ -29,16 +46,15 @@ class CreateNewContent extends Controller
->get();
// create default content object
$page = new Content();
$page->status = Content::STATUS_DRAFT;
$this->content->status = Content::STATUS_DRAFT;
// render view
return view('admin.content.new', [
'contentStatuses' => $statuses,
'templates' => $templates,
'moduleId' => $moduleId,
'page' => $page,
'rootPages' => $page->rootPages(),
'page' => $this->content,
'rootPages' => $this->content->rootPages(),
'moduleName' => trans($module->name),
'formSectionNames' => call_user_func([$module->handler, 'getExtendedFormSections']),
'formSections' => call_user_func([$module->handler, 'getExtendedFormInputsCreate']),
@@ -82,6 +98,13 @@ class CreateNewContent extends Controller
$page->parent_id = $request->parentPage;
}
// upload file - if provided
if ($request->hasFile('titlePhoto')) {
$file = $this->file->upload($request->file('titlePhoto'), $request);
$page->title_photo = $file['filename'];
}
// save module-specific stuff
call_user_func_array([$module->handler, 'createNew'], [&$page, $request]);