diff --git a/workflow/engine/classes/model/Department.php b/workflow/engine/classes/model/Department.php index 7dbf711d0..49ae0e04a 100755 --- a/workflow/engine/classes/model/Department.php +++ b/workflow/engine/classes/model/Department.php @@ -412,7 +412,7 @@ class Department extends BaseDepartment $criteria->add( DepartmentPeer::DEP_PARENT, $DepParent, Criteria::EQUAL ); $con = Propel::getConnection( DepartmentPeer::DATABASE_NAME ); $objects = DepartmentPeer::doSelect( $criteria, $con ); - global $RBAC; + $oUsers = new Users(); foreach ($objects as $oDepartment) { $node = array (); @@ -426,7 +426,7 @@ class Department extends BaseDepartment $manager = $oDepartment->getDepManager(); if ($manager != '') { - $UserUID = $RBAC->load( $manager ); + $UserUID = $oUsers->load($manager); $node['DEP_MANAGER_USERNAME'] = isset( $UserUID['USR_USERNAME'] ) ? $UserUID['USR_USERNAME'] : ''; $node['DEP_MANAGER_FIRSTNAME'] = isset( $UserUID['USR_FIRSTNAME'] ) ? $UserUID['USR_FIRSTNAME'] : ''; $node['DEP_MANAGER_LASTNAME'] = isset( $UserUID['USR_LASTNAME'] ) ? $UserUID['USR_LASTNAME'] : ''; diff --git a/workflow/engine/src/BusinessModel/Department.php b/workflow/engine/src/BusinessModel/Department.php index eebd6f2cf..9b4f946ee 100644 --- a/workflow/engine/src/BusinessModel/Department.php +++ b/workflow/engine/src/BusinessModel/Department.php @@ -48,8 +48,8 @@ class Department $criteria->add( DepartmentPeer::DEP_UID, $dep_uid, \Criteria::EQUAL ); $con = \Propel::getConnection( DepartmentPeer::DATABASE_NAME ); $objects = DepartmentPeer::doSelect( $criteria, $con ); + $oUsers = new \Users(); - global $RBAC; $node = array (); foreach ($objects as $oDepartment) { $node['DEP_UID'] = $oDepartment->getDepUid(); @@ -62,7 +62,7 @@ class Department $manager = $oDepartment->getDepManager(); if ($manager != '') { - $UserUID = $RBAC->load( $manager ); + $UserUID = $oUsers->load($manager); $node['DEP_MANAGER_USERNAME'] = isset( $UserUID['USR_USERNAME'] ) ? $UserUID['USR_USERNAME'] : ''; $node['DEP_MANAGER_FIRSTNAME'] = isset( $UserUID['USR_FIRSTNAME'] ) ? $UserUID['USR_FIRSTNAME'] : ''; $node['DEP_MANAGER_LASTNAME'] = isset( $UserUID['USR_LASTNAME'] ) ? $UserUID['USR_LASTNAME'] : ''; @@ -110,7 +110,7 @@ class Department if (isset($dep_data['DEP_PARENT']) && $dep_data['DEP_PARENT'] != '') { Validator::depUid($dep_data['DEP_PARENT'], 'dep_parent'); } - if (isset($dep_data['DEP_MANAGER']) && $dep_data['DEP_PARENT'] != '') { + if (isset($dep_data['DEP_MANAGER']) && $dep_data['DEP_MANAGER'] != '') { Validator::usrUid($dep_data['DEP_MANAGER'], 'dep_manager'); } if (isset($dep_data['DEP_STATUS'])) { diff --git a/workflow/engine/src/Tests/BusinessModel/DepartmentTest.php b/workflow/engine/src/Tests/BusinessModel/DepartmentTest.php index fdf9bca74..09b1ad1a1 100644 --- a/workflow/engine/src/Tests/BusinessModel/DepartmentTest.php +++ b/workflow/engine/src/Tests/BusinessModel/DepartmentTest.php @@ -16,10 +16,94 @@ if (!class_exists("Propel")) { */ class DepartmentTest extends \PHPUnit_Framework_TestCase { + public function testSaveDepartment() + { + $oDepartment = new \BusinessModel\Department(); + + ////////// Create department parent + $dep1 = array ( + 'dep_title' => 'departamento padre' + ); + $arrayDepartments = $oDepartment->saveDepartment($dep1); + $this->assertTrue(isset($arrayDepartments['dep_uid'])); + $this->assertEquals($arrayDepartments['dep_parent'], ''); + $this->assertEquals($arrayDepartments['dep_title'], 'departamento padre'); + $this->assertEquals($arrayDepartments['dep_status'], 'ACTIVE'); + $this->assertEquals($arrayDepartments['dep_manager'], ''); + $this->assertEquals($arrayDepartments['has_children'], 0); + + ////////// Create department child + $dep1Uid = $arrayDepartments['dep_uid']; + $dep2 = array ( + 'dep_parent' => $dep1Uid, + 'dep_manager' => '00000000000000000000000000000001', + 'dep_title' => 'departamento hijo1', + 'dep_status' => 'INACTIVE' + ); + $arrayDepartments2 = $oDepartment->saveDepartment($dep2); + $this->assertTrue(isset($arrayDepartments2['dep_uid'])); + $this->assertEquals($arrayDepartments2['dep_parent'], $dep1Uid); + $this->assertEquals($arrayDepartments2['dep_title'], 'departamento hijo1'); + $this->assertEquals($arrayDepartments2['dep_status'], 'INACTIVE'); + $this->assertEquals($arrayDepartments2['dep_manager'], '00000000000000000000000000000001'); + $this->assertEquals($arrayDepartments2['has_children'], 0); + + ////////// Update department parent + $depUp1 = array ( + 'dep_uid' => $dep1Uid, + 'dep_title' => 'DepPadre', + 'dep_manager' => '00000000000000000000000000000001' + ); + $oDepartment->saveDepartment($depUp1, false); + + $dep2Uid = $arrayDepartments2['dep_uid']; + $depUp2 = array ( + 'dep_uid' => $dep2Uid, + 'dep_title' => 'DepHijo', + 'dep_manager' => '', + ); + $oDepartment->saveDepartment($depUp2, false); + } + public function testGetDepartments() { $oDepartment = new \BusinessModel\Department(); $arrayDepartments = $oDepartment->getDepartments(); + $this->assertTrue(is_array($arrayDepartments)); + $this->assertEquals(count($arrayDepartments), 1); + $this->assertTrue(is_array($arrayDepartments[0]['dep_children'])); + $this->assertEquals(count($arrayDepartments[0]['dep_children']), 1); + } + + public function testGetDepartment() + { + $oDepartment = new \BusinessModel\Department(); + $arrayDepartments = $oDepartment->getDepartments(); + $depIdPadre = $arrayDepartments[0]['dep_uid']; + $depIdChild = $arrayDepartments[0]['dep_children'][0]['dep_uid']; + $oDepartment = new \BusinessModel\Department(); + $dataPadre = $oDepartment->getDepartment($depIdPadre); + $dataChild = $oDepartment->getDepartment($depIdChild); + + $this->assertTrue(is_array($dataPadre)); + $this->assertEquals($dataPadre['dep_title'], 'DepPadre'); + $this->assertEquals($dataPadre['dep_manager'], '00000000000000000000000000000001'); + $this->assertTrue(is_array($dataChild)); + $this->assertEquals($dataChild['dep_title'], 'DepHijo'); + $this->assertEquals($dataChild['dep_manager'], ''); + } + + public function testDeleteDepartment() + { + $oDepartment = new \BusinessModel\Department(); + $arrayDepartments = $oDepartment->getDepartments(); + $dataDepChild = $arrayDepartments[0]['dep_children']; + + $oDepartment->deleteDepartment($dataDepChild[0]['dep_uid']); + $oDepartment->deleteDepartment($arrayDepartments[0]['dep_uid']); + + $arrayDepartments = $oDepartment->getDepartments(); + $this->assertEquals(count($arrayDepartments), 0); } }