/** * moveItem * * @param MenuRetrieveHandler $menuRetrieveHandler menu handler * @param MenuAlterHandler $menuChanger menu alter handler * @param MenuConfigHandler $configHandler menu config handler * @param MenuPermissionHandler $permissionHandler menu permission handler * * @return RendererInterface * @throws Exception */ public function moveItem(MenuRetrieveHandler $menuRetrieveHandler, MenuAlterHandler $menuChanger, MenuConfigHandler $configHandler, MenuPermissionHandler $permissionHandler) { $ordering = Request::get('ordering'); $itemId = Request::get('itemId'); $parentId = Request::get('parent'); XeDB::beginTransaction(); try { $item = $menuRetrieveHandler->getItem($itemId); $movedItem = $menuChanger->moveItem($item, $parentId); $menuChanger->setOrder($item, $ordering); $configHandler->moveItemConfig($item, $movedItem); $permissionHandler->moveItemPermission($item, $movedItem); } catch (\Exception $e) { XeDB::rollback(); throw $e; } XeDB::commit(); return Presenter::makeApi(\Request::all()); }
/** * testGetMenuPermissions * * @return void */ public function testGetMenuPermissions() { $permissionHandler = new MenuPermissionHandler($this->permissionFactory, $this->groupRepoMock, $this->memberRepoMock); $this->permissionFactory->shouldReceive('makesByType')->andReturn([]); $permissions = $permissionHandler->getMenuPermissions(); $this->assertEquals([], $permissions); }
/** * applyMenuPermission * * @param object $target menu entity or menu item object * * @return void */ protected function applyMenuPermission($target) { $permissions = $this->menuPermission->getMenuPermissions(); $target->applyPermission($permissions); }