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
|
* @return object(Criteria) $oCriteria
|
||||||
*/
|
*/
|
||||||
function listProcessesUser($sProcessUID) {
|
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 = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PU_TYPE);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||||
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
|
||||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
|
$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 = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::PU_TYPE);
|
||||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
|
$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 = ProcessUserPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$aUIDS = array();
|
$aUIDS = array();
|
||||||
|
$aGRUS = array();
|
||||||
while ($aRow = $oDataset->getRow()) {
|
while ($aRow = $oDataset->getRow()) {
|
||||||
$aUIDS [] = $aRow ['USR_UID'];
|
if ($aRow['PU_TYPE'] == 'SUPERVISOR') {
|
||||||
|
$aUIDS [] = $aRow ['USR_UID'];
|
||||||
|
} else {
|
||||||
|
$aGRUS [] = $aRow ['USR_UID'];
|
||||||
|
}
|
||||||
$oDataset->next();
|
$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 ();
|
$sDelimiter = DBAdapter::getStringDelimiter ();
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||||
@@ -3217,7 +3315,26 @@ class processMap {
|
|||||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->add(UsersPeer::USR_UID, $aUIDS, Criteria::IN);
|
$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
|
* @param string $sUsrUID
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function assignProcessUser($sProcessUID, $sUsrUID) {
|
function assignProcessUser($sProcessUID, $sUsrUID, $sTypeUID) {
|
||||||
$oProcessUser = new ProcessUser ( );
|
$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)
|
public function getToRevise($userUid, $doCount)
|
||||||
{
|
{
|
||||||
require_once ('classes/model/ProcessUser.php');
|
require_once ('classes/model/ProcessUser.php');
|
||||||
|
require_once ('classes/model/GroupUser.php');
|
||||||
|
|
||||||
//adding configuration fields from the configuration options
|
//adding configuration fields from the configuration options
|
||||||
//and forming the criteria object
|
//and forming the criteria object
|
||||||
@@ -438,6 +439,21 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
$oDataset->next();
|
$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'])) {
|
if ($doCount && !isset($this->confCasesList['PMTable']) && !empty($this->confCasesList['PMTable'])) {
|
||||||
$c = new Criteria('workflow');
|
$c = new Criteria('workflow');
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -106,10 +106,19 @@ try {
|
|||||||
$oProcessMap->webEntry_new($oData->PRO_UID);
|
$oProcessMap->webEntry_new($oData->PRO_UID);
|
||||||
break;
|
break;
|
||||||
case 'assignProcessUser':
|
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;
|
break;
|
||||||
case 'removeProcessUser':
|
case 'removeProcessUser':
|
||||||
$oProcessMap->removeProcessUser($oData->PU_UID);
|
$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;
|
break;
|
||||||
case 'supervisorDynaforms':
|
case 'supervisorDynaforms':
|
||||||
$oProcessMap->supervisorDynaforms($oData->pro_uid);
|
$oProcessMap->supervisorDynaforms($oData->pro_uid);
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ try {
|
|||||||
G::LoadClass('processMap');
|
G::LoadClass('processMap');
|
||||||
$oProcessMap = new ProcessMap();
|
$oProcessMap = new ProcessMap();
|
||||||
$c = $oProcessMap->listProcessesUser($sProUid);
|
$c = $oProcessMap->listProcessesUser($sProUid);
|
||||||
|
|
||||||
$oHeadPublisher =& headPublisher::getSingleton();
|
$oHeadPublisher =& headPublisher::getSingleton();
|
||||||
$oHeadPublisher->addScriptFile('/jscore/processmap/core/processUser.js');
|
$oHeadPublisher->addScriptFile('/jscore/processmap/core/processUser.js');
|
||||||
|
|
||||||
|
|||||||
@@ -41,11 +41,11 @@ var availableProcessesUser = function(PRO_UID) {
|
|||||||
oRPC.make();
|
oRPC.make();
|
||||||
};
|
};
|
||||||
|
|
||||||
var assignProcessUser = function(sProcessUID, sUserUID) {
|
var assignProcessUser = function(sProcessUID, sUserUID, sTypeUID) {
|
||||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||||
url : '../processes/processes_Ajax',
|
url : '../processes/processes_Ajax',
|
||||||
async: false,
|
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();
|
oRPC.make();
|
||||||
oPanel1.remove();
|
oPanel1.remove();
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<dynaForm type="pagetable" sqlConnection="" rowsPerPage="10" menu="processes/processes_Assignuser" name="processes_User">
|
<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">
|
<LA_PU_NAME type="text" titlealign="left" colWidth="250">
|
||||||
<en>First name</en>
|
<en>User or Group</en>
|
||||||
</USR_FIRSTNAME>
|
</LA_PU_NAME>
|
||||||
|
|
||||||
<USR_LASTNAME type="text" align="right" colWidth="100">
|
<LA_PU_TYPE_NAME type="text" align="right" colWidth="100">
|
||||||
<en>Last name</en>
|
<en>Type</en>
|
||||||
</USR_LASTNAME>
|
</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>
|
</dynaForm>
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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"/>
|
<PRO_UID type="hidden" showInTable="0"/>
|
||||||
<USR_UID type="hidden" showInTable="0"/>
|
<UID type="hidden" showInTable="0"/>
|
||||||
<USR_FIRSTNAME type="text" titlealign="left" colWidth="100">
|
<USER_GROUP type="text" titlealign="left" colWidth="150">
|
||||||
<en>First name</en>
|
<en>User or Group</en>
|
||||||
</USR_FIRSTNAME>
|
</USER_GROUP>
|
||||||
<USR_LASTNAME type="text" align="right" colWidth="100">
|
<TYPE_UID type="text" align="right" colWidth="80">
|
||||||
<en>Last name</en>
|
<en>Type</en>
|
||||||
</USR_LASTNAME>
|
</TYPE_UID>
|
||||||
<ASSIGN type="link" colWidth="40" value="@G::LoadTranslation(ID_ASSIGN)" link="#" onclick="assignProcessUser(@QPRO_UID, @QUSR_UID);return false;"/>
|
<ASSIGN type="link" colWidth="40" value="@G::LoadTranslation(ID_ASSIGN)" link="#" onclick="assignProcessUser(@QPRO_UID, @QUID, @QTYPE_UID);return false;"/>
|
||||||
</dynaForm>
|
</dynaForm>
|
||||||
Reference in New Issue
Block a user