FEATURE #1523: add subpages for content
This commit is contained in:
@@ -6,7 +6,6 @@ use App\Http\Requests\CreateNewContentRequest;
|
||||
use App\Models\Content;
|
||||
use App\Models\Module;
|
||||
use App\Models\Template;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\Str;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
|
||||
@@ -39,6 +38,7 @@ class CreateNewContent extends Controller
|
||||
'templates' => $templates,
|
||||
'moduleId' => $moduleId,
|
||||
'page' => $page,
|
||||
'rootPages' => $page->rootPages(),
|
||||
'moduleName' => trans($module->name),
|
||||
'formSectionNames' => call_user_func([$module->handler, 'getExtendedFormSections']),
|
||||
'formSections' => call_user_func([$module->handler, 'getExtendedFormInputsCreate']),
|
||||
@@ -78,13 +78,15 @@ class CreateNewContent extends Controller
|
||||
$page->template = $request->template;
|
||||
$page->module_handler = $module->handler;
|
||||
|
||||
if ($request->parentPage) {
|
||||
$page->parent_id = $request->parentPage;
|
||||
}
|
||||
|
||||
// save module-specific stuff
|
||||
call_user_func_array([$module->handler, 'createNew'], [&$page, $request]);
|
||||
|
||||
$page->save();
|
||||
|
||||
Event::fire(new \Modules\StaticPages\Events\CreateNewStaticPage($page));
|
||||
|
||||
return redirect()
|
||||
->route('content.overview')
|
||||
->with('success', trans('admin/contents.successfullyCreated'));
|
||||
|
||||
@@ -7,12 +7,7 @@ use App\Http\Requests\EditContentRequest;
|
||||
use App\Models\Content;
|
||||
use App\Models\ContentHistory;
|
||||
use App\Models\Template;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\Str;
|
||||
use Modules\StaticPages\Events\DeleteStaticPage;
|
||||
use Modules\StaticPages\Events\EditStaticPage as EditStaticPageEvent;
|
||||
use Modules\StaticPages\Events\MakeDraftFromStaticPage;
|
||||
use Modules\StaticPages\Events\PublishStaticPage;
|
||||
use Modules\StaticPages\Http\Requests\EditStaticPageRequest;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
|
||||
@@ -56,6 +51,7 @@ class EditContent extends Controller
|
||||
return view('admin.content.edit', [
|
||||
'contentStatuses' => $statuses,
|
||||
'page' => $page,
|
||||
'rootPages' => $page->rootPages(),
|
||||
'templates' => $templates,
|
||||
'formSectionNames' => call_user_func([$page->module_handler, 'getExtendedFormSections']),
|
||||
'formSections' => call_user_func([$page->module_handler, 'getExtendedFormInputsCreate']),
|
||||
@@ -84,6 +80,7 @@ class EditContent extends Controller
|
||||
}
|
||||
|
||||
$request->url = Str::slug($request->url);
|
||||
$request->parentPage = $request->parentPage ? $request->parentPage : null;
|
||||
|
||||
// array of fields in database and fields from request
|
||||
$fields = [
|
||||
@@ -95,11 +92,12 @@ class EditContent extends Controller
|
||||
'meta_keywords' => 'metaKeywords',
|
||||
'meta_description' => 'metaDescription',
|
||||
'content' => 'pageContent',
|
||||
'parent_id' => 'parentPage',
|
||||
'status' => 'status'
|
||||
];
|
||||
|
||||
// save new values with history
|
||||
list($revision, $changedColumns) = $page->updateWithHistory($fields, $request->all());
|
||||
list($revision, $changedColumns) = $page->updateWithHistory($fields, $this->getFields($request, $fields));
|
||||
|
||||
$changedColumns += call_user_func_array([$page->module_handler, 'edit'], [&$page, $request, $revision]);
|
||||
|
||||
@@ -111,7 +109,7 @@ class EditContent extends Controller
|
||||
}
|
||||
|
||||
// fire event with
|
||||
Event::fire(new EditStaticPageEvent($page, $revision));
|
||||
// Event::fire(new EditStaticPageEvent($page, $revision));
|
||||
|
||||
// something was changed, inform user
|
||||
return redirect()
|
||||
@@ -121,7 +119,6 @@ class EditContent extends Controller
|
||||
|
||||
/**
|
||||
* Method for changing page status
|
||||
*
|
||||
* This method is called in static page overview from quick actions. It checks if status is valid, if page exists
|
||||
* and updates status.
|
||||
*
|
||||
@@ -164,11 +161,11 @@ class EditContent extends Controller
|
||||
}
|
||||
|
||||
// fire events
|
||||
if ($status != Content::STATUS_DRAFT) {
|
||||
Event::fire(new PublishStaticPage($page, $revision));
|
||||
} else {
|
||||
Event::fire(new MakeDraftFromStaticPage($page, $revision));
|
||||
}
|
||||
// if ($status != Content::STATUS_DRAFT) {
|
||||
// Event::fire(new PublishStaticPage($page, $revision));
|
||||
// } else {
|
||||
// Event::fire(new MakeDraftFromStaticPage($page, $revision));
|
||||
// }
|
||||
|
||||
// redirect back to overview with info for user
|
||||
return redirect()
|
||||
@@ -205,7 +202,7 @@ class EditContent extends Controller
|
||||
}
|
||||
|
||||
// trigger delete event
|
||||
Event::fire(new DeleteStaticPage($page, $revision));
|
||||
// Event::fire(new DeleteStaticPage($page, $revision));
|
||||
|
||||
// redirect back to overview with info for user
|
||||
return redirect()
|
||||
@@ -253,7 +250,7 @@ class EditContent extends Controller
|
||||
}
|
||||
|
||||
// trigger delete event
|
||||
// Event::fire(new DeleteStaticPage($page, $revision));
|
||||
// Event::fire(new DeleteStaticPage($page, $revision));
|
||||
|
||||
// redirect back to overview with info for user
|
||||
return redirect()
|
||||
@@ -263,4 +260,15 @@ class EditContent extends Controller
|
||||
'url' => $page->url
|
||||
]));
|
||||
}
|
||||
|
||||
private function getFields(EditContentRequest $request, $fields)
|
||||
{
|
||||
$requestData = [];
|
||||
|
||||
foreach ($fields as $field) {
|
||||
$requestData[$field] = $request->$field;
|
||||
}
|
||||
|
||||
return $requestData;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user