diff --git a/app/Handlers/History.php b/app/Handlers/History.php index beb8f528..0d859af3 100644 --- a/app/Handlers/History.php +++ b/app/Handlers/History.php @@ -34,6 +34,9 @@ class History implements HistoryHandler 'to' => $statuses[$changeset->new_value] ]); break; + case 'is_homepage': + return trans('admin/history.setupAsHomepage'); + break; default: return trans('admin/history.changedFromTo', [ 'from' => $changeset->old_value, diff --git a/app/Http/Controllers/Admin/CreateNewContent.php b/app/Http/Controllers/Admin/CreateNewContent.php index faa97e8d..2b090b9b 100644 --- a/app/Http/Controllers/Admin/CreateNewContent.php +++ b/app/Http/Controllers/Admin/CreateNewContent.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin; use App\Enumerations\ActiveContentStatuses; +use App\Http\Requests\CreateNewContentRequest; use App\Models\Content; use App\Models\Module; use App\Models\Template; @@ -48,8 +49,7 @@ class CreateNewContent extends Controller /** * Save new content page * - * @param CreateNewStaticPageRequest $request - * + * @param CreateNewContentRequest $request * @param $moduleId * * @return \Illuminate\Http\RedirectResponse @@ -72,8 +72,8 @@ class CreateNewContent extends Controller $page->url = Str::slug($request->url); $page->published_from = $request->publishedFrom; $page->published_to = $request->publishedTo; - $page->meta_keywords = $request->meta_description; - $page->meta_description = $request->meta_description; + $page->meta_keywords = $request->metaDescription; + $page->meta_description = $request->metaDescription; $page->content = $request->pageContent; $page->status = $request->status; $page->template = $request->template; diff --git a/app/Http/Controllers/Admin/EditContent.php b/app/Http/Controllers/Admin/EditContent.php index 0f95abc3..25ac10f9 100644 --- a/app/Http/Controllers/Admin/EditContent.php +++ b/app/Http/Controllers/Admin/EditContent.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Admin; use App\Enumerations\ContentStatuses; use App\Enumerations\ModulesHandlerToId; +use App\Http\Requests\EditContentRequest; use App\Models\Content; use App\Models\ContentHistory; use App\Models\Template; @@ -53,24 +54,24 @@ class EditContent extends Controller // render view return view('admin.content.edit', [ - 'contentStatuses' => $statuses, - 'page' => $page, - 'templates' => $templates, + 'contentStatuses' => $statuses, + 'page' => $page, + 'templates' => $templates, 'formSectionNames' => call_user_func([$page->module_handler, 'getExtendedFormSections']), 'formSections' => call_user_func([$page->module_handler, 'getExtendedFormInputsCreate']), - 'historySize' => count($history['changesets']) + 'historySize' => count($history['changesets']) ]); } /** * Edit static page and save changes into history. * - * @param EditStaticPageRequest $request + * @param EditContentRequest $request * @param $id * * @return \Illuminate\Http\RedirectResponse */ - public function postEdit(EditStaticPageRequest $request, $id) + public function postEdit(EditContentRequest $request, $id) { try { $page = Content::findOrFail($id); @@ -230,7 +231,6 @@ class EditContent extends Controller * @var $page Content */ $page = Content::findOrFail($id); - $homepage = $page->getHomepage(); } catch (NotFoundHttpException $e) { // page not found return redirect() @@ -238,12 +238,12 @@ class EditContent extends Controller ->with('error', trans('admin/contents.invalidPage')); } + // disable any other existing homepage + Content::where('is_homepage', 1) + ->update(['is_homepage' => 0]); - - list ($revision, $changedColumns) = $page->updateWithHistory(['is_homepage' => 'is_homepage'], ['is_homepage' => 1]); - - if ($homepage) - $homepage->updateWithHistory(['isHomepage' => 'is_homepage'], ['ishomepage' => 0]); + // set new homepage + list (, $changedColumns) = $page->updateWithHistory(['is_homepage' => 'is_homepage'], ['is_homepage' => 1]); // was something changed? if ($changedColumns == 0) { diff --git a/resources/lang/en/admin/contents.php b/resources/lang/en/admin/contents.php index 98f17d33..cce837e0 100644 --- a/resources/lang/en/admin/contents.php +++ b/resources/lang/en/admin/contents.php @@ -34,5 +34,6 @@ return [ 'appearance' => 'Appearance', 'template' => 'Template of this page', 'overview' => 'List of all content pages', - 'homepageSetup' => 'Homepage successfully set up.' + 'homepageSetup' => 'Homepage successfully set up.', + 'setHomepage' => 'Set page as homepage' ]; \ No newline at end of file diff --git a/resources/lang/en/admin/history.php b/resources/lang/en/admin/history.php index 4ee722ef..70902307 100644 --- a/resources/lang/en/admin/history.php +++ b/resources/lang/en/admin/history.php @@ -8,11 +8,13 @@ return [ 'columnMetaDescription' => 'Description', 'columnStatus' => 'Page visibility', 'columnTemplate' => 'Template', + 'columnIs_homepage' => 'Homepage', 'changedFromTo' => 'Changed from :from to :to', 'numOfChanges' => 'One change|:count changes', 'diff' => 'Difference', 'diffPageName' => 'Difference of :column', 'backToOverview' => 'Back to history overview', - 'backToEdit' => 'Back to editation form' + 'backToEdit' => 'Back to editation form', + 'setupAsHomepage' => 'Setup as homepage' ]; \ No newline at end of file diff --git a/resources/views/admin/content/formParts/metaInformation.blade.php b/resources/views/admin/content/formParts/metaInformation.blade.php index 12954382..259033a4 100644 --- a/resources/views/admin/content/formParts/metaInformation.blade.php +++ b/resources/views/admin/content/formParts/metaInformation.blade.php @@ -3,8 +3,7 @@ @@ -13,9 +12,7 @@ \ No newline at end of file diff --git a/resources/views/admin/content/overview.blade.php b/resources/views/admin/content/overview.blade.php index f5b833b1..cdc0ef9b 100644 --- a/resources/views/admin/content/overview.blade.php +++ b/resources/views/admin/content/overview.blade.php @@ -41,7 +41,7 @@

- + @if($page->is_homepage) @@ -55,9 +55,8 @@ @if($page->status == \App\Models\Content::STATUS_DRAFT) - @endif - - @if(in_array($page->status, [\App\Models\Content::STATUS_PROTECTED, \App\Models\Content::STATUS_PUBLIC])) + @else + @endif