BUG 4715 I add assigned group to supervisor user
I add assigned to superisor user in cases to groups
This commit is contained in:
@@ -3149,18 +3149,78 @@ class processMap {
|
||||
* @return object(Criteria) $oCriteria
|
||||
*/
|
||||
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')
|
||||
);
|
||||
|
||||
// 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(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::PU_TYPE, 'SUPERVISOR');
|
||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
|
||||
return $oCriteria;
|
||||
$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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3175,16 +3235,54 @@ class processMap {
|
||||
|
||||
$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');
|
||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, '%SUPERVISOR%', Criteria::LIKE);
|
||||
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$aUIDS = array();
|
||||
$aGRUS = array();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aUIDS [] = $aRow ['USR_UID'];
|
||||
if ($aRow['PU_TYPE'] == 'SUPERVISOR') {
|
||||
$aUIDS [] = $aRow ['USR_UID'];
|
||||
} else {
|
||||
$aGRUS [] = $aRow ['USR_UID'];
|
||||
}
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
$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();
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aRespLi[] = array( 'UID' => $aRow['GRP_UID'],
|
||||
'USER_GROUP' => $aRow['GRP_TITLE'],
|
||||
'TYPE_UID' => 'Group',
|
||||
'PRO_UID' => $sProcessUID);
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
$sDelimiter = DBAdapter::getStringDelimiter ();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
@@ -3217,7 +3315,26 @@ class processMap {
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->add(UsersPeer::USR_UID, $aUIDS, Criteria::IN);
|
||||
return $oCriteria;
|
||||
$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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3227,9 +3344,13 @@ class processMap {
|
||||
* @param string $sUsrUID
|
||||
* @return void
|
||||
*/
|
||||
function assignProcessUser($sProcessUID, $sUsrUID) {
|
||||
function assignProcessUser($sProcessUID, $sUsrUID, $sTypeUID) {
|
||||
$oProcessUser = new ProcessUser ( );
|
||||
$oProcessUser->create(array('PU_UID' => G::generateUniqueID (), 'PRO_UID' => $sProcessUID, 'USR_UID' => $sUsrUID, 'PU_TYPE' => 'SUPERVISOR'));
|
||||
$puType = 'SUPERVISOR';
|
||||
if ($sTypeUID == 'Group') {
|
||||
$puType = 'GROUP_SUPERVISOR';
|
||||
}
|
||||
$oProcessUser->create(array('PU_UID' => G::generateUniqueID (), 'PRO_UID' => $sProcessUID, 'USR_UID' => $sUsrUID, 'PU_TYPE' => $puType));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -422,6 +422,7 @@ class AppCacheView extends BaseAppCacheView
|
||||
public function getToRevise($userUid, $doCount)
|
||||
{
|
||||
require_once ('classes/model/ProcessUser.php');
|
||||
require_once ('classes/model/GroupUser.php');
|
||||
|
||||
//adding configuration fields from the configuration options
|
||||
//and forming the criteria object
|
||||
@@ -438,6 +439,21 @@ class AppCacheView extends BaseAppCacheView
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
|
||||
$oCriteria->addJoin(ProcessUserPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(GroupUserPeer::USR_UID, $userUid);
|
||||
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aProcesses[] = $aRow['PRO_UID'];
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
|
||||
if ($doCount && !isset($this->confCasesList['PMTable']) && !empty($this->confCasesList['PMTable'])) {
|
||||
$c = new Criteria('workflow');
|
||||
} else {
|
||||
|
||||
@@ -106,10 +106,19 @@ try {
|
||||
$oProcessMap->webEntry_new($oData->PRO_UID);
|
||||
break;
|
||||
case 'assignProcessUser':
|
||||
$oProcessMap->assignProcessUser($oData->PRO_UID, $oData->USR_UID);
|
||||
$oProcessMap->assignProcessUser($oData->PRO_UID, $oData->USR_UID, $oData->TYPE_UID);
|
||||
G::LoadClass('processMap');
|
||||
$oProcessMap = new ProcessMap();
|
||||
$oProcessMap->listProcessesUser($oData->PRO_UID);
|
||||
break;
|
||||
case 'removeProcessUser':
|
||||
$oProcessMap->removeProcessUser($oData->PU_UID);
|
||||
foreach ($_SESSION['_DBArray']['data'] as $key => $value) {
|
||||
if ($value['LA_PU_UID'] == $oData->PU_UID) {
|
||||
unset($_SESSION['_DBArray']['data'][$key]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'supervisorDynaforms':
|
||||
$oProcessMap->supervisorDynaforms($oData->pro_uid);
|
||||
|
||||
@@ -41,7 +41,7 @@ try {
|
||||
G::LoadClass('processMap');
|
||||
$oProcessMap = new ProcessMap();
|
||||
$c = $oProcessMap->listProcessesUser($sProUid);
|
||||
|
||||
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile('/jscore/processmap/core/processUser.js');
|
||||
|
||||
|
||||
@@ -41,11 +41,11 @@ var availableProcessesUser = function(PRO_UID) {
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var assignProcessUser = function(sProcessUID, sUserUID) {
|
||||
var assignProcessUser = function(sProcessUID, sUserUID, sTypeUID) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../processes/processes_Ajax',
|
||||
async: false,
|
||||
args : "action=assignProcessUser&data="+{PRO_UID:sProcessUID,USR_UID:sUserUID}.toJSONString()
|
||||
args : "action=assignProcessUser&data="+{PRO_UID:sProcessUID,USR_UID:sUserUID,TYPE_UID:sTypeUID}.toJSONString()
|
||||
});
|
||||
oRPC.make();
|
||||
oPanel1.remove();
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<dynaForm type="pagetable" sqlConnection="" rowsPerPage="10" menu="processes/processes_Assignuser" name="processes_User">
|
||||
|
||||
<PU_UID type="hidden" showInTable="0"/>
|
||||
<LA_PU_UID type="hidden" showInTable="0"/>
|
||||
|
||||
<PRO_UID type="hidden" showInTable="0"/>
|
||||
<LA_PRO_UID type="hidden" showInTable="0"/>
|
||||
|
||||
<USR_UID type="hidden" showInTable="0"/>
|
||||
<LA_USR_UID type="hidden" showInTable="0"/>
|
||||
|
||||
<USR_FIRSTNAME type="text" titlealign="left" colWidth="100">
|
||||
<en>First name</en>
|
||||
</USR_FIRSTNAME>
|
||||
<LA_PU_NAME type="text" titlealign="left" colWidth="250">
|
||||
<en>User or Group</en>
|
||||
</LA_PU_NAME>
|
||||
|
||||
<USR_LASTNAME type="text" align="right" colWidth="100">
|
||||
<en>Last name</en>
|
||||
</USR_LASTNAME>
|
||||
<LA_PU_TYPE_NAME type="text" align="right" colWidth="100">
|
||||
<en>Type</en>
|
||||
</LA_PU_TYPE_NAME>
|
||||
|
||||
<REMOVE type="link" colWidth="40" value="@G::LoadTranslation(ID_DE_ASSIGN)" link="#" onclick="removeProcessUser(@QPU_UID);return false;"/>
|
||||
<REMOVE type="link" colWidth="40" value="@G::LoadTranslation(ID_DE_ASSIGN)" link="#" onclick="removeProcessUser(@QLA_PU_UID);return false;"/>
|
||||
|
||||
</dynaForm>
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<dynaForm type="pagetable" menu="processes/processes_availableProcessesUserOptions" searchBy="USR_FIRSTNAME|USR_LASTNAME" sqlConnection="" rowsPerPage="10">
|
||||
<dynaForm type="pagetable" menu="processes/processes_availableProcessesUserOptions" searchBy="USER_GROUP" sqlConnection="" rowsPerPage="10">
|
||||
<PRO_UID type="hidden" showInTable="0"/>
|
||||
<USR_UID type="hidden" showInTable="0"/>
|
||||
<USR_FIRSTNAME type="text" titlealign="left" colWidth="100">
|
||||
<en>First name</en>
|
||||
</USR_FIRSTNAME>
|
||||
<USR_LASTNAME type="text" align="right" colWidth="100">
|
||||
<en>Last name</en>
|
||||
</USR_LASTNAME>
|
||||
<ASSIGN type="link" colWidth="40" value="@G::LoadTranslation(ID_ASSIGN)" link="#" onclick="assignProcessUser(@QPRO_UID, @QUSR_UID);return false;"/>
|
||||
<UID type="hidden" showInTable="0"/>
|
||||
<USER_GROUP type="text" titlealign="left" colWidth="150">
|
||||
<en>User or Group</en>
|
||||
</USER_GROUP>
|
||||
<TYPE_UID type="text" align="right" colWidth="80">
|
||||
<en>Type</en>
|
||||
</TYPE_UID>
|
||||
<ASSIGN type="link" colWidth="40" value="@G::LoadTranslation(ID_ASSIGN)" link="#" onclick="assignProcessUser(@QPRO_UID, @QUID, @QTYPE_UID);return false;"/>
|
||||
</dynaForm>
|
||||
Reference in New Issue
Block a user