FEATURE #1507: adapt static pages for new modular content management

This commit is contained in:
Michal Kváček
2016-03-11 15:47:27 +01:00
parent 9f5bd46ca3
commit eed7e15650
12 changed files with 62 additions and 476 deletions
+55 -2
View File
@@ -1,8 +1,10 @@
<?php
namespace Modules\StaticPages\Handlers;
use App\Enumerations\ModulesHandlerToId;
use App\Handlers\Handler;
use App\Http\Controllers\Controller;
use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\User;
@@ -15,11 +17,19 @@ class StaticPage extends Handler
// register links in admin menu
$menu = \Menu::instance('mainMenu');
$menu->dropdown(trans('staticpages::adminMenu.staticPages'), function ($submenu) use ($user) {
$submenu->route('staticpage.new', trans('staticpages::adminMenu.new'), [], 1, ['icon' => 'fa fa-plus-square-o']);
$submenu->route('staticpage.overview', trans('staticpages::adminMenu.overview'), [], 20, ['icon' => 'fa fa-list']);
$submenu->route('content.new', trans('staticpages::adminMenu.new'), ['moduleId' => self::getModuleId()], 10, ['icon' => 'fa fa-plus']);
$submenu->route('content.overview', trans('staticpages::adminMenu.overview'), ['moduleId' => self::getModuleId()], 20, ['icon' => 'fa fa-list']);
}, 15, ['icon' => 'fa fa-newspaper-o']);
}
public static function getModuleId()
{
$allModules = ModulesHandlerToId::getWithTranslations();
$moduleId = $allModules[config('staticpages.handler')];
return $moduleId;
}
/**
* Render given module into visitor area.
*
@@ -32,4 +42,47 @@ class StaticPage extends Handler
{
return Controller::VisitorsView($content->template, ['page' => $content]);
}
/**
* Does given module manage content? Or is it just module with widgets/something internal/something absolutely else?
*
* @return bool
*/
public static function managesContent()
{
return true;
}
/**
* Save module-specific values into database
*
* @param Content $content
* @param Request $request
*
* @return mixed
*/
public static function createNew(Content &$content, Request $request)
{
// There is nothing more we can save. Static pages are only text saved into database.
// This funcionality is already covered in saving content page alone.
}
/**
* Method used for editing existing content page.
*
* Reason why it is separated from createNew() method is simple - we need to save history of changes.
*
* @param Content $content
* @param Request $request
* @param string $revisionId
*
* @return mixed
*/
public static function edit(Content &$content, Request $request, $revisionId)
{
// There is nothing more we can save. Static pages are only text saved into database.
// This funcionality is already covered in saving content page alone.
return 0;
}
}