/**
  * testMoveItemPermission
  *
  * @return void
  */
 public function testMoveItemPermission()
 {
     $originItem = $this->getSampleMenuItem();
     $movedItem = new MenuItem(['id' => 'testboard', 'parentId' => 'freeboard', 'ordering' => 1, 'activated' => 1, 'type' => 'pluginA@board', 'title' => 'Test 게시판', 'description' => '테스트 게시판입니다.', 'url' => 'testboard']);
     $movedItem->setBreadCrumbs(['basic', 'board', 'freeboard']);
     $registered = m::mock('Xpressengine\\Permission\\Registered');
     $permissionFactory = $this->permissionFactory;
     $permissionFactory->shouldReceive('findRegistered')->andReturn($registered);
     $permissionFactory->shouldReceive('move')->andReturn();
     $permissionHandler = new MenuPermissionHandler($permissionFactory, $this->groupRepoMock, $this->memberRepoMock);
     $permissionHandler->moveItemPermission($originItem, $movedItem);
 }
Пример #2
0
 /**
  * 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());
 }