BUG 5785 Fix Bug Validation of the parent and existing department.
This commit is contained in:
@@ -964,7 +964,17 @@ class wsBase
|
||||
return $result;
|
||||
}
|
||||
|
||||
$department = new department();
|
||||
$department = new Department();
|
||||
if ( ($parentUID != '') && !($department->existsDepartment($parentUID)) ) {
|
||||
$result = new wsCreateDepartmentResponse (26, G::loadTranslation ('ID_PARENT_DEPARTMENT_NOT_EXIST'), $parentUID);
|
||||
return $result;
|
||||
}
|
||||
|
||||
if ( $department->checkDepartmentName($departmentName, $parentUID ) ) {
|
||||
$result = new wsCreateDepartmentResponse (27, G::loadTranslation ('ID_DEPARTMENT_EXISTS'), '');
|
||||
return $result;
|
||||
}
|
||||
|
||||
$row['DEP_TITLE'] = $departmentName;
|
||||
$row['DEP_PARENT'] = $parentUID;
|
||||
|
||||
|
||||
@@ -444,6 +444,37 @@ function getDepartments( $DepParent ) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check department name exist in the level
|
||||
* @param string $departmentName name of the department
|
||||
* @param string $parentUID parent UID of the department
|
||||
* @param string $departmentUID department UID
|
||||
* @return boolean $Fields true or false
|
||||
*
|
||||
*/
|
||||
function checkDepartmentName($departmentName, $parentUID, $departmentUID = '' )
|
||||
{
|
||||
$oCriteria = new Criteria('workflow');
|
||||
|
||||
$oCriteria->clearSelectColumns();
|
||||
$oCriteria->addSelectColumn( ContentPeer::CON_CATEGORY );
|
||||
$oCriteria->addSelectColumn( ContentPeer::CON_VALUE );
|
||||
$oCriteria->addSelectColumn( DepartmentPeer::DEP_PARENT );
|
||||
$oCriteria->add(ContentPeer::CON_CATEGORY, 'DEPO_TITLE');
|
||||
$oCriteria->addJoin(ContentPeer::CON_ID, DepartmentPeer::DEP_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(ContentPeer::CON_VALUE, $departmentName);
|
||||
$oCriteria->add(DepartmentPeer::DEP_UID, $departmentUID, Criteria::NOT_EQUAL);
|
||||
$oCriteria->add(ContentPeer::CON_LANG, SYS_LANG );
|
||||
$oCriteria->add(DepartmentPeer::DEP_PARENT, $parentUID);
|
||||
|
||||
$oDataset = DepartmentPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
return ($aRow) ? true : false;
|
||||
}
|
||||
|
||||
function getUsersFromDepartment( $sDepUid, $sManagerUid ) {
|
||||
try {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
|
||||
@@ -185,24 +185,9 @@ switch ($_POST['action'])
|
||||
$dep_name = $_REQUEST['name'];
|
||||
$dep_uid = $_REQUEST['uid'];
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->clearSelectColumns();
|
||||
$oCriteria->addSelectColumn( ContentPeer::CON_CATEGORY );
|
||||
$oCriteria->addSelectColumn( ContentPeer::CON_VALUE );
|
||||
$oCriteria->addSelectColumn(DepartmentPeer::DEP_PARENT);
|
||||
$oCriteria->add(ContentPeer::CON_CATEGORY, 'DEPO_TITLE');
|
||||
$oCriteria->addJoin(ContentPeer::CON_ID, DepartmentPeer::DEP_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(ContentPeer::CON_VALUE, $dep_name);
|
||||
$oCriteria->add(DepartmentPeer::DEP_UID,$dep_uid,Criteria::NOT_EQUAL);
|
||||
$oCriteria->add(ContentPeer::CON_LANG, SYS_LANG );
|
||||
$oCriteria->add(DepartmentPeer::DEP_PARENT,$parent);
|
||||
|
||||
$oDataset = DepartmentPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
echo (!$aRow) ? 'true' : 'false';
|
||||
$oDepartment = new Department();
|
||||
$checkVal = $oDepartment->checkDepartmentName($dep_name, $parent, $dep_uid );
|
||||
echo ( !$checkVal ) ? 'true' : 'false';
|
||||
break;
|
||||
|
||||
case 'saveDepartment':
|
||||
|
||||
Reference in New Issue
Block a user