]> _ Git - cubist_cms-back.git/commitdiff
#2889
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jul 2019 13:46:52 +0000 (15:46 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jul 2019 13:46:52 +0000 (15:46 +0200)
src/app/Magic/Controllers/CubistMagicController.php
src/app/Magic/Menu/Menu.php
src/app/Magic/Menu/PageItem.php

index ae7ea9bcca04290206eac3c1888ae67fa12f9242..4ada7d9e1db79826e4f41459f42aec95d4a30937 100644 (file)
@@ -12,6 +12,7 @@ use Cubist\Backpack\app\Magic\Requests\CubistMagicStoreRequest;
 use Cubist\Backpack\app\Magic\Requests\CubistMagicUpdateRequest;
 use Gaspertrix\Backpack\DropzoneField\Traits\HandleAjaxMedia;
 use Illuminate\Support\Arr;
+use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\Redirect;
 
 class CubistMagicController extends CubistCrudController
@@ -62,7 +63,7 @@ class CubistMagicController extends CubistCrudController
         $this->crud->allowAccess('revisions');
         $this->crud->setEditView('cubist_back::edit');
 
-        if($this->_nested){
+        if ($this->_nested) {
             $this->crud->allowAccess('reorder');
             $this->crud->enableReorder('name', 4);
         }
@@ -188,6 +189,8 @@ class CubistMagicController extends CubistCrudController
      */
     public function store(CubistMagicStoreRequest $request)
     {
+        $this->_forgetCache();
+
         $request = $this->_prepareCRUDData($request);
         $this->getModelInstance()->onBeforeStore($this, $request);
 
@@ -204,6 +207,8 @@ class CubistMagicController extends CubistCrudController
      */
     public function update(CubistMagicUpdateRequest $request)
     {
+        $this->_forgetCache();
+
         $request = $this->_prepareCRUDData($request);
         $this->getModelInstance()->onBeforeUpdate($this, $request);
 
@@ -214,6 +219,10 @@ class CubistMagicController extends CubistCrudController
         return $redirect_location;
     }
 
+    protected function _forgetCache()
+    {
+        Cache::forget('navigation');
+    }
 
     public function index()
     {
index 4112ba87441556917800f9083af1255ef8b8bf40..8fca83376696b4f67439b67a2baae38d53fb239c 100644 (file)
@@ -3,6 +3,7 @@
 namespace Cubist\Backpack\app\Magic\Menu;
 
 use Lavary\Menu\Menu as BaseMenu;
+use Illuminate\Support\Facades\Cache;
 
 class Menu extends BaseMenu
 {
@@ -25,10 +26,13 @@ class Menu extends BaseMenu
     public static function getNavigation()
     {
         if (self::$_nav === null) {
-            Debugbar::startMeasure('nav', 'Init Navigation object');
-            self::$_nav = new Item();
-            self::$_nav->initFromDatabase();
-            Debugbar::stopMeasure('nav');
+            \Barryvdh\Debugbar\Facade::startMeasure('nav', 'Init Navigation object');
+            self::$_nav = Cache::remember('navigation', 43200, function () {
+                $nav = new Item();
+                $nav->initFromDatabase();
+                return $nav;
+            });
+            \Barryvdh\Debugbar\Facade::stopMeasure('nav');
         }
         return self::$_nav;
 
index 50fa504a8a350cefea1f79aed5efd53a954a1bb1..b6afc7da4fb799feefed21d46e73343fbad9aa5f 100644 (file)
@@ -30,7 +30,8 @@ class PageItem extends Item
 
     public function setChildrenFromTemplate()
     {
-        $this->getPage()->getUsedTemplate()->setMenuChildren($this);
+        $template=$this->getPage()->getUsedTemplate();
+        $template->setMenuChildren($this);
     }
 
     public function getHref()