public function testAddSubunit()
 {
     $subunitList = TestDataService::loadObjectList('Subunit', $this->fixture, 'Subunit');
     $subunit = $subunitList[2];
     $parentSubunit = new Subunit();
     $parentSubunit->setName("New Department");
     $this->assertTrue($this->companyStructureDao->addSubunit($parentSubunit, $subunit));
     $this->assertNotNull($parentSubunit->getId());
 }
 public function deleteSubunit(Subunit $subunit)
 {
     try {
         $q = Doctrine_Query::create()->delete('Subunit')->where('lft >= ?', $subunit->getLft())->andWhere('rgt <= ?', $subunit->getRgt());
         $q->execute();
         return true;
     } catch (Exception $e) {
         throw new DaoException($e->getMessage());
     }
 }
 public function testDeleteSubunit()
 {
     $subunit = TestDataService::fetchObject('Subunit', 1);
     $parentSubunit = new Subunit();
     $parentSubunit->setName("new subunit");
     $compStructureDao = $this->getMock('CompanyStructureDao');
     $compStructureDao->expects($this->once())->method('deleteSubunit')->with($subunit)->will($this->returnValue(true));
     $this->companyStructureService->setCompanyStructureDao($compStructureDao);
     $result = $this->companyStructureService->deleteSubunit($subunit);
     $this->assertTrue($result);
 }
 public function execute($request)
 {
     $id = trim($request->getParameter('hdnId'));
     $name = trim($request->getParameter('txtName'));
     $description = trim($request->getParameter('txtDescription'));
     $unitId = trim($request->getParameter('txtUnit_Id'));
     $parentId = trim($request->getParameter('hdnParent', null));
     $subunit = new Subunit();
     $subunit->setId($id);
     $subunit->setName($name);
     $subunit->setDescription($description);
     $subunit->setUnitId($unitId);
     $object = new stdClass();
     try {
         if (empty($parentId)) {
             $result = $this->getCompanyStructureService()->saveSubunit($subunit);
         } else {
             $parentSubunit = $this->getCompanyStructureService()->getSubunitById($parentId);
             $result = $this->getCompanyStructureService()->addSubunit($parentSubunit, $subunit);
         }
         if ($result) {
             $object->affectedId = $subunit->getId();
             $object->messageType = 'success';
             $object->message = __(TopLevelMessages::SAVE_SUCCESS);
         } else {
             $object->messageType = 'warning';
             $object->message = __('Failed to Save');
         }
     } catch (Exception $e) {
         $object->messageType = 'warning';
         $object->message = __('Name Already Exists');
     }
     @ob_clean();
     return $this->renderText(json_encode($object));
 }