FEATURE: add support for categories into content save/edit

This commit is contained in:
Michal Kváček
2016-08-13 17:48:44 +02:00
parent 5aec27478a
commit 54e5927bb1
8 changed files with 108 additions and 7 deletions
@@ -4,16 +4,14 @@ namespace App\Http\Controllers\Admin;
use App\Enumerations\ActiveContentStatuses;
use App\Events\CreateNewContent as CreateNewContentEvent;
use App\Http\Requests\CreateNewContentRequest;
use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\ContentHasFile;
use App\Models\Directory;
use App\Models\File;
use App\Models\Module;
use App\Models\Template;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Str;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
use Modules\Categories\Entities\Category;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class CreateNewContent extends Controller
@@ -43,7 +41,6 @@ class CreateNewContent extends Controller
*/
public function getNew($moduleId)
{
$module = Module::findOrFail($moduleId);
$statuses = ActiveContentStatuses::getWithTranslations();
@@ -51,6 +48,13 @@ class CreateNewContent extends Controller
->select(['template_name', 'name', 'description'])
->get();
// add categories, if supported
$categories = [];
if ($module->support_categories) {
$categories = Category::where('module_id', $moduleId)
->get();
}
// create default content object
$this->content->status = Content::STATUS_DRAFT;
@@ -59,6 +63,8 @@ class CreateNewContent extends Controller
'contentStatuses' => $statuses,
'templates' => $templates,
'moduleId' => $moduleId,
'module' => $module,
'categories' => $categories,
'page' => $this->content,
'rootPages' => $this->content->getOverview()
->get(),
@@ -102,6 +108,7 @@ class CreateNewContent extends Controller
$page->status = $request->status;
$page->template = $request->template;
$page->module_handler = $module->handler;
$page->category_id = $request->category;
if ($request->parentPage) {
$page->parent_id = $request->parentPage;
+15 -1
View File
@@ -14,10 +14,12 @@ use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\ContentHistory;
use App\Models\File;
use App\Models\Module;
use App\Models\Template;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Str;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
use Modules\Categories\Entities\Category;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class EditContent extends Controller
@@ -55,16 +57,27 @@ class EditContent extends Controller
$allModules = ModulesHandlerToId::getWithTranslations();
$moduleId = $allModules[$page->module_handler];
$module = Module::findOrFail($moduleId);
$templates = Template::where('module_id', $moduleId)
->select(['template_name', 'name', 'description'])
->get();
// add categories, if supported
$categories = [];
if ($module->support_categories) {
$categories = Category::where('module_id', $moduleId)
->get();
}
$history = $this->history->getStructuredHistoryOf($page);
// render view
return view('admin.content.edit', [
'contentStatuses' => $statuses,
'page' => $page,
'module' => $module,
'categories' => $categories,
'rootPages' => $page->getOverview()
->where('contents.id', '!=', $page->id)
->get(),
@@ -121,7 +134,8 @@ class EditContent extends Controller
'content' => 'pageContent',
'parent_id' => 'parentPage',
'status' => 'status',
'title_photo' => 'titlePhotoFilename'
'title_photo' => 'titlePhotoFilename',
'category_id' => 'category'
];
// save new values with history