Hi community,
When I assign an existing Category (priority 2) to an existing Parent (priority 1), the system throws an exception: “LogicException: Node must exists.” with stacktrace of approx. 60 lines (I will add this to the end of my post).
I have currently a shop configuration with 2 geographic locations. Just to be sure, I tested with following scenarios:
a) Checked the administrator’s account details and made sure this account has rights assigned for both locations - fails
b) Parent and Child category both assigned to single (and same) location - fails
c) Parent and Child category both assigned to both locations - fails
The error does NOT occur for newly created Parent- and Child Categories, but the result is much worse as it broke my end-user web-page, here is what it looks like:
ParentChildCategoryBroken.jpg
Here the stacktrace when I try to establish Parent/Child relation for existing Categories:
LogicException: Node must exists.
in /var/www/retsinaorder.vpndns.net/vendor/kalnoy/nestedset/src/NodeTrait.php:1182
Stack trace:
#0 /var/www/retsinaorder.vpndns.net/vendor/kalnoy/nestedset/src/NodeTrait.php(426): Admin\Models\Categories_model->assertNodeExists(Object(Admin\Models\Categories_model))
#1 /var/www/retsinaorder.vpndns.net/vendor/kalnoy/nestedset/src/NodeTrait.php(403): Admin\Models\Categories_model->appendOrPrependTo(Object(Admin\Models\Categories_model))
#2 /var/www/retsinaorder.vpndns.net/vendor/kalnoy/nestedset/src/NodeTrait.php(816): Admin\Models\Categories_model->appendToNode(Object(Admin\Models\Categories_model))
#3 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Database/Model.php(473): Admin\Models\Categories_model->setParentIdAttribute('1')
#4 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Database/Attach/HasMedia.php(80): Igniter\Flame\Database\Model->setAttribute('parent_id', '1')
#5 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1539): Admin\Models\Categories_model->setAttribute('parent_id', '1')
#6 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Traits/ExtendableTrait.php(402): Illuminate\Database\Eloquent\Model->__set('parent_id', '1')
#7 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Database/Model.php(700): Igniter\Flame\Database\Model->extendableSet('parent_id', '1')
#8 /var/www/retsinaorder.vpndns.net/app/admin/actions/FormController.php(518): Igniter\Flame\Database\Model->__set('parent_id', '1')
#9 /var/www/retsinaorder.vpndns.net/app/admin/actions/FormController.php(484): Admin\Actions\FormController->setModelAttributes(Object(Admin\Models\Categories_model), Array)
#10 /var/www/retsinaorder.vpndns.net/app/admin/actions/FormController.php(302): Admin\Actions\FormController->prepareModelsToSave(Object(Admin\Models\Categories_model), Array)
#11 [internal function]: Admin\Actions\FormController->edit_onSave('edit', '8')
#12 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Traits/ExtendableTrait.php(428): call_user_func_array(Array, Array)
#13 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Support/Extendable.php(42): Igniter\Flame\Support\Extendable->extendableCall('edit_onSave', Array)
#14 [internal function]: Igniter\Flame\Support\Extendable->__call('edit_onSave', Array)
#15 /var/www/retsinaorder.vpndns.net/app/admin/classes/AdminController.php(404): call_user_func_array(Array, Array)
#16 /var/www/retsinaorder.vpndns.net/app/admin/classes/AdminController.php(262): Admin\Classes\AdminController->runHandler('onSave', Array)
#17 /var/www/retsinaorder.vpndns.net/app/admin/classes/AdminController.php(167): Admin\Classes\AdminController->processHandlers()
#18 /var/www/retsinaorder.vpndns.net/app/system/classes/Controller.php(106): Admin\Classes\AdminController->remap('edit', Array)
#19 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): System\Classes\Controller->runAdmin('categories/edit...')
#20 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('runAdmin', Array)
#21 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(System\Classes\Controller), 'runAdmin')
#22 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()
#23 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\Routing\Route->run()
#24 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(77): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#26 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#27 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Currency/Middleware/CurrencyMiddleware.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Igniter\Flame\Currency\Middleware\CurrencyMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /var/www/retsinaorder.vpndns.net/app/admin/middleware/LogUserLastSeen.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#30 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Admin\Middleware\LogUserLastSeen->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Translation/Middleware/Localization.php(40): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#32 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Igniter\Flame\Translation\Middleware\Localization->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#38 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#42 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#43 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#44 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#45 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#46 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#47 /var/www/retsinaorder.vpndns.net/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#48 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#49 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#50 /var/www/retsinaorder.vpndns.net/vendor/tastyigniter/flame/src/Setting/Middleware/SaveSetting.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Igniter\Flame\Setting\Middleware\SaveSetting->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 /var/www/retsinaorder.vpndns.net/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#53 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#55 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#56 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#57 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#58 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#59 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#60 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#61 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#62 /var/www/retsinaorder.vpndns.net/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#63 /var/www/retsinaorder.vpndns.net/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#64 {main}