Merge branch 'dev' into test.customwristbands.cz

This commit is contained in:
Michal Kváček
2016-04-11 02:09:22 +02:00
4 changed files with 66 additions and 12 deletions
+11
View File
@@ -53,6 +53,17 @@ interface AppHandler
*/
public static function edit(Content &$content, Request $request, $revisionID);
/**
* Method called right after content page is marked as deleted
*
* This method is supposed to clean after "deleted" page.
*
* @param Content $content
*
* @return mixed
*/
public static function delete(Content $content);
/**
* Does given module manage content? Or is it just module with widgets/something internal/something absolutely else?
*
+20 -8
View File
@@ -5,6 +5,7 @@ use App\Enumerations\ModuleNamesWithIds;
use App\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\Enumerations\WidgetTypes;
use App\Handlers\Contracts\AppHandler;
use App\Models\Content;
use App\Models\User;
/**
@@ -42,6 +43,11 @@ abstract class Handler implements AppHandler
];
}
public static function delete(Content $content)
{
// temporarily nothing to do
}
public static function getExtendedFormInputsEdit()
{
return self::getExtendedFormInputsCreate();
@@ -65,20 +71,26 @@ abstract class Handler implements AppHandler
// create instance of main menu
\Menu::create('mainMenu', function ($menu) {
// $menu->route('admin.dashboard', trans('admin/mainMenu.dashboard'), [], 10, ['icon' => 'fa fa-dashboard']);
// $menu->route('admin.dashboard', trans('admin/mainMenu.dashboard'), [], 10, ['icon' => 'fa fa-dashboard']);
$menu->dropdown(trans('admin/mainMenu.userManagement'), function ($sub) {
$sub->route('users.new', trans('admin/mainMenu.newUser'), [], 10, ['icon' => 'fa fa-user-plus']);
$sub->route('users.detail', trans('admin/mainMenu.userDetail'), [], 20, ['icon' => 'fa fa-user']);
$sub->route('users.overview', trans('admin/mainMenu.usersOverview'), [], 30, ['icon' => 'fa fa-users']);
}, 20, ['icon' => 'fa fa-users']);
$menu->dropdown(trans('admin/mainMenu.contentPages'), function ($sub) {
$modules = ModuleNamesWithIds::getWithTranslations();
$modules = \App\Models\Module::all();
if (!empty($modules)) {
$sub->dropdown(trans('admin/mainMenu.newContentPage'), function ($sub) use ($modules) {
$i = 1;
foreach ($modules as $module => $name) {
$sub->route('content.new', trans($name), ['moduleId' => $module], $i++);
foreach ($modules as $module) {
// display only list of all modules, which manages content
if (!call_user_func([$module->handler, 'managesContent'])) {
continue;
}
$sub->route('content.new', trans($module->name), ['moduleId' => $module->id], $i++);
}
}, 10, ['icon' => 'fa fa-plus']);
}
@@ -118,10 +130,10 @@ abstract class Handler implements AppHandler
}
}, 29, ['icon' => 'fa fa-folder-open']);
}
// $menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) {
// $sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']);
// $sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']);
// }, 30, ['icon' => 'fa fa-code']);
// $menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) {
// $sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']);
// $sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']);
// }, 30, ['icon' => 'fa fa-code']);
$menu->route('log.overview', trans('admin/mainMenu.actionLog'), [], 40, ['icon' => 'fa fa-history']);
$menu->route('settings.overview', trans('admin/mainMenu.settings'), [], 50, ['icon' => 'fa fa-gear']);
});
@@ -228,6 +228,9 @@ class EditContent extends Controller
list ($revision, $changedColumns) = $page->updateWithHistory(['status' => 'status'], ['status' => Content::STATUS_DELETED]);
// let module to delete some extra content created during page's life
call_user_func([$page->module_handler, 'delete'], $page);
// was something changed?
if ($changedColumns == 0) {
return redirect()
+32 -4
View File
@@ -83,15 +83,13 @@ class Gallery implements AppHandler
// create new directory for images
$directory = Directory::create([
'name' => $request->title,
'name' => $content->id . '_' . $request->title,
'description' => $request->description,
'parent_id' => $parentDirectoryId
]);
// save id into module_config array
$settings = [
'directoryId' => $directory->id
];
$settings = ['directoryId' => $directory->id];
// save settings
$content->module_settings = json_encode($settings);
@@ -209,4 +207,34 @@ class Gallery implements AppHandler
Storage::put(self::CONFIG_FILENAME, $directory->id);
}
/**
* Method called right after content page is marked as deleted
*
* This method is supposed to clean after "deleted" page.
*
* @param Content $content
*
* @return mixed
*/
public static function delete(Content $content)
{
// try to convert module_settings into something more accessible
if (is_string($content->module_settings)) {
$content->module_settings = json_decode($content->module_settings);
}
// get directory id
$directoryId = $content->module_settings->directoryId;
$directory = Directory::find($directoryId);
// check if gallery exists
if (!$directory) {
return;
}
// delete directory used as photogallery
$directory->delete();
}
}