Merge pull request #823 from brayanpereyra/master

Refersh the file class.processMap.php
This commit is contained in:
julceslauhub
2012-10-18 12:26:27 -07:00

View File

@@ -3347,20 +3347,79 @@ class processMap
* @param string $sProcessUID
* @return object(Criteria) $oCriteria
*/
public function listProcessesUser ($sProcessUID)
{
public function listProcessesUser($sProcessUID) {
$aResp = array(
array(
'LA_PU_UID' => 'char',
'LA_PRO_UID' => 'char',
'LA_USR_UID' => 'char',
'LA_PU_NAME' => 'char',
'LA_PU_TYPE_NAME' => 'char')
);
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( ProcessUserPeer::PU_UID );
$oCriteria->addSelectColumn( ProcessUserPeer::USR_UID );
$oCriteria->addSelectColumn( ProcessUserPeer::PRO_UID );
$oCriteria->addSelectColumn( ProcessUserPeer::PU_TYPE );
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_EMAIL );
$oCriteria->addJoin( ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN );
$oCriteria->add( ProcessUserPeer::PRO_UID, $sProcessUID );
return $oCriteria;
// Groups
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
$oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE);
$aConditions [] = array(ProcessUserPeer::USR_UID, ContentPeer::CON_ID);
$aConditions [] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter () . 'GRP_TITLE' . DBAdapter::getStringDelimiter ());
$aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ());
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array(
'LA_PU_UID' => $aRow['PU_UID'],
'LA_PRO_UID' => $aRow['PRO_UID'],
'LA_USR_UID' => $aRow['USR_UID'],
'LA_PU_NAME' => $aRow['GRP_TITLE'],
'LA_PU_TYPE_NAME' => 'Group');
$oDataset->next();
}
// Users
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aResp[] = array(
'LA_PU_UID' => $aRow['PU_UID'],
'LA_PRO_UID' => $aRow['PRO_UID'],
'LA_USR_UID' => $aRow['USR_UID'],
'LA_PU_NAME' => $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'],
'LA_PU_TYPE_NAME' => 'User');
$oDataset->next();
}
global $_DBArray;
$_DBArray['data'] = $aResp;
$_SESSION['_DBArray'] = $_DBArray;
$LiCriteria = new Criteria('dbarray');
$LiCriteria->setDBArrayTable('data');
return $LiCriteria;
}
/**
@@ -3371,54 +3430,111 @@ class processMap
*/
public function listNoProcessesUser ($sProcessUID)
{
G::LoadSystem( 'rbac' );
$memcache = & PMmemcached::getSingleton( SYS_SYS );
G::LoadSystem('rbac');
$memcache = & PMmemcached::getSingleton(SYS_SYS);
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( ProcessUserPeer::USR_UID );
$oCriteria->add( ProcessUserPeer::PRO_UID, $sProcessUID );
$oCriteria->add( ProcessUserPeer::PU_TYPE, 'SUPERVISOR' );
$oDataset = ProcessUserPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
$oCriteria->addSelectColumn(ProcessUserPeer::PU_TYPE);
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
$oCriteria->add(ProcessUserPeer::PU_TYPE, '%SUPERVISOR%', Criteria::LIKE);
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aUIDS = array ();
$aUIDS = array();
$aGRUS = array();
while ($aRow = $oDataset->getRow()) {
$aUIDS[] = $aRow['USR_UID'];
$oDataset->next();
if ($aRow['PU_TYPE'] == 'SUPERVISOR') {
$aUIDS [] = $aRow ['USR_UID'];
} else {
$aGRUS [] = $aRow ['USR_UID'];
}
$oDataset->next();
}
$sDelimiter = DBAdapter::getStringDelimiter();
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( UsersPeer::USR_UID );
$oCriteria->add( UsersPeer::USR_UID, $aUIDS, Criteria::NOT_IN );
$oDataset = UsersPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$aRespLi = array(
array(
'UID' => 'char',
'USER_GROUP' => 'char',
'TYPE_UID' => 'char',
'PRO_UID' => 'char')
);
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
$oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE);
$aConditions [] = array(GroupwfPeer::GRP_UID, ContentPeer::CON_ID);
$aConditions [] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter () . 'GRP_TITLE' . DBAdapter::getStringDelimiter ());
$aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ());
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
$oCriteria->add(GroupwfPeer::GRP_UID, $aGRUS, Criteria::NOT_IN);
$oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
$oDataset = GroupwfPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aUIDS = array ();
$oRBAC = RBAC::getSingleton();
while ($aRow = $oDataset->getRow()) {
$memKey = 'rbacSession' . session_id();
if (($oRBAC->aUserInfo = $memcache->get( $memKey )) === false) {
$oRBAC->loadUserRolePermission( $oRBAC->sSystem, $aRow['USR_UID'] );
$memcache->set( $memKey, $oRBAC->aUserInfo, PMmemcached::EIGHT_HOURS );
}
$aPermissions = $oRBAC->aUserInfo[$oRBAC->sSystem]['PERMISSIONS'];
$bInclude = false;
foreach ($aPermissions as $aPermission) {
if ($aPermission['PER_CODE'] == 'PM_SUPERVISOR') {
$bInclude = true;
}
}
if ($bInclude) {
$aUIDS[] = $aRow['USR_UID'];
}
$oDataset->next();
$aRespLi[] = array( 'UID' => $aRow['GRP_UID'],
'USER_GROUP' => $aRow['GRP_TITLE'],
'TYPE_UID' => 'Group',
'PRO_UID' => $sProcessUID);
$oDataset->next();
}
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( UsersPeer::USR_UID );
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME );
$oCriteria->add( UsersPeer::USR_UID, $aUIDS, Criteria::IN );
return $oCriteria;
$sDelimiter = DBAdapter::getStringDelimiter ();
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->add(UsersPeer::USR_UID, $aUIDS, Criteria::NOT_IN);
$oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aUIDS = array();
$oRBAC = RBAC::getSingleton ();
while ($aRow = $oDataset->getRow()) {
$memKey = 'rbacSession' . session_id();
if ( ($oRBAC->aUserInfo = $memcache->get($memKey)) === false ) {
$oRBAC->loadUserRolePermission($oRBAC->sSystem, $aRow ['USR_UID']);
$memcache->set( $memKey, $oRBAC->aUserInfo, PMmemcached::EIGHT_HOURS );
}
$aPermissions = $oRBAC->aUserInfo [$oRBAC->sSystem] ['PERMISSIONS'];
$bInclude = false;
foreach ($aPermissions as $aPermission) {
if ($aPermission ['PER_CODE'] == 'PM_SUPERVISOR') {
$bInclude = true;
}
}
if ($bInclude) {
$aUIDS [] = $aRow ['USR_UID'];
}
$oDataset->next();
}
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->add(UsersPeer::USR_UID, $aUIDS, Criteria::IN);
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
$oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aRespLi[] = array('UID' => $aRow['USR_UID'],
'USER_GROUP' => $aRow['USR_FIRSTNAME'] . ' ' . $aRow['USR_LASTNAME'],
'TYPE_UID' => 'User',
'PRO_UID' => $sProcessUID);
$oDataset->next();
}
global $_DBArray;
$_DBArray['data'] = $aRespLi;
$_SESSION['_DBArray'] = $_DBArray;
$LsCriteria = new Criteria('dbarray');
$LsCriteria->setDBArrayTable('data');
return $LsCriteria;
}
/**
@@ -3428,11 +3544,14 @@ class processMap
* @param string $sUsrUID
* @return void
*/
public function assignProcessUser ($sProcessUID, $sUsrUID)
public function assignProcessUser($sProcessUID, $sUsrUID, $sTypeUID)
{
$oProcessUser = new ProcessUser();
$oProcessUser->create( array ('PU_UID' => G::generateUniqueID(),'PRO_UID' => $sProcessUID,'USR_UID' => $sUsrUID,'PU_TYPE' => 'SUPERVISOR'
) );
$oProcessUser = new ProcessUser ( );
$puType = 'SUPERVISOR';
if ($sTypeUID == 'Group') {
$puType = 'GROUP_SUPERVISOR';
}
$oProcessUser->create(array('PU_UID' => G::generateUniqueID (), 'PRO_UID' => $sProcessUID, 'USR_UID' => $sUsrUID, 'PU_TYPE' => $puType));
}
/**