BUG 5120 Change text to clarify the purpose of user for the Case Scheduler SOLVED
- Fix some issues in the logic of the validation - Change some validations
This commit is contained in:
@@ -83,7 +83,7 @@ class Cases
|
|||||||
* @param string $sUIDUser
|
* @param string $sUIDUser
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function canStartCase($sUIDUser = '')
|
public function canStartCase($sUIDUser = '', $processUid = '')
|
||||||
{
|
{
|
||||||
$c = new Criteria();
|
$c = new Criteria();
|
||||||
$c->clearSelectColumns();
|
$c->clearSelectColumns();
|
||||||
@@ -93,6 +93,9 @@ class Cases
|
|||||||
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
||||||
$c->add(TaskPeer::TAS_START, 'TRUE');
|
$c->add(TaskPeer::TAS_START, 'TRUE');
|
||||||
$c->add(TaskUserPeer::USR_UID, $sUIDUser);
|
$c->add(TaskUserPeer::USR_UID, $sUIDUser);
|
||||||
|
if ($processUid != '') {
|
||||||
|
$c->add(TaskPeer::PRO_UID, $processUid);
|
||||||
|
}
|
||||||
|
|
||||||
$rs = TaskPeer::doSelectRS($c);
|
$rs = TaskPeer::doSelectRS($c);
|
||||||
$rs->next();
|
$rs->next();
|
||||||
@@ -115,6 +118,9 @@ class Cases
|
|||||||
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
||||||
$c->add(TaskPeer::TAS_START, 'TRUE');
|
$c->add(TaskPeer::TAS_START, 'TRUE');
|
||||||
$c->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN);
|
$c->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN);
|
||||||
|
if ($processUid != '') {
|
||||||
|
$c->add(TaskPeer::PRO_UID, $processUid);
|
||||||
|
}
|
||||||
|
|
||||||
$rs = TaskPeer::doSelectRS($c);
|
$rs = TaskPeer::doSelectRS($c);
|
||||||
$rs->next();
|
$rs->next();
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ class wsBase
|
|||||||
$uid = $RBAC->VerifyLogin($userid , $password);
|
$uid = $RBAC->VerifyLogin($userid , $password);
|
||||||
|
|
||||||
switch ($uid) {
|
switch ($uid) {
|
||||||
|
case '':
|
||||||
case -1: //The user doesn't exist
|
case -1: //The user doesn't exist
|
||||||
$wsResponse = new wsResponse(3, G::loadTranslation('ID_USER_NOT_REGISTERED'));
|
$wsResponse = new wsResponse(3, G::loadTranslation('ID_USER_NOT_REGISTERED'));
|
||||||
break;
|
break;
|
||||||
@@ -116,7 +117,7 @@ class wsBase
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($uid < 0 ) {
|
if ($uid < 0 || $uid == '') {
|
||||||
throw (new Exception(serialize($wsResponse)));
|
throw (new Exception(serialize($wsResponse)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,26 +48,24 @@ $pass = $sWS_PASS;
|
|||||||
$params = array('userid' => $user, 'password' => $pass);
|
$params = array('userid' => $user, 'password' => $pass);
|
||||||
$result = $client->__SoapCall('login', array($params));
|
$result = $client->__SoapCall('login', array($params));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$fields ['status_code'] = $result->status_code;
|
|
||||||
$fields ['message'] = 'ProcessMaker WebService version: ' . $result->version . "\n" . $result->message;
|
|
||||||
$fields ['version'] = $result->version;
|
|
||||||
$fields ['time_stamp'] = $result->timestamp;
|
|
||||||
$messageCode = $result->message;
|
|
||||||
if ($result->status_code == 0) {
|
if ($result->status_code == 0) {
|
||||||
if (!class_exists('Users')) {
|
if (!class_exists('Users')) {
|
||||||
require ("classes/model/UsersPeer.php");
|
require ("classes/model/UsersPeer.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn('USR_UID');
|
$oCriteria->addSelectColumn('USR_UID');
|
||||||
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
|
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
|
||||||
$resultSet = UsersPeer::doSelectRS($oCriteria);
|
$resultSet = UsersPeer::doSelectRS($oCriteria);
|
||||||
$resultSet->next();
|
$resultSet->next();
|
||||||
$user_id = $resultSet->getRow();
|
$user_id = $resultSet->getRow();
|
||||||
|
$result->message = $user_id[0];
|
||||||
|
|
||||||
$messageCode = $user_id[0];
|
G::LoadClass('case');
|
||||||
|
$caseInstance = new Cases();
|
||||||
|
if (!$caseInstance->canStartCase($result->message, $_REQUEST['PRO_UID'])) {
|
||||||
|
$result->status_code = -1000;
|
||||||
|
$result->message = G::LoadTranslation('ID_USER_CASES_NOT_START');
|
||||||
}
|
}
|
||||||
echo ($messageCode);
|
}
|
||||||
?>
|
|
||||||
|
die(G::json_encode($result));
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<en>General Information</en>
|
<en>General Information</en>
|
||||||
</GENERAL_INF>
|
</GENERAL_INF>
|
||||||
<PROPERTIES_INF type="subtitle" enablehtml="1">
|
<PROPERTIES_INF type="subtitle" enablehtml="1">
|
||||||
<en>Enter the username and password for the user who will be assigned to the initial task in the case(s).</en>
|
<en>Enter the username and password of the user who will be assigned to the initial task in the case.</en>
|
||||||
</PROPERTIES_INF>
|
</PROPERTIES_INF>
|
||||||
<SCH_UID type="hidden" >
|
<SCH_UID type="hidden" >
|
||||||
<en></en>
|
<en></en>
|
||||||
@@ -647,22 +647,25 @@ leimnud.event.add(getField('SCH_REPEAT_UNTIL'), 'change', function() {
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function case_userSchedulerValidate(username, password) {
|
function case_userSchedulerValidate(username, password) {
|
||||||
//G.alert(username);
|
|
||||||
//G.alert(password);
|
|
||||||
var user_uid;
|
var user_uid;
|
||||||
|
|
||||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||||
url : '../cases/cases_SchedulerValidateUser',
|
url : '../cases/cases_SchedulerValidateUser',
|
||||||
async : true,
|
async : true,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
args : "USERNAME="+username+"&PASSWORD="+password
|
args : "USERNAME="+username+"&PASSWORD="+password+"&PRO_UID="+$_GET('PRO_UID')
|
||||||
});
|
});
|
||||||
|
|
||||||
oRPC.callback = function(rpc){
|
oRPC.callback = function(rpc){
|
||||||
//msgBox(rpc.xmlhttp.responseText,"alert");
|
sresponse = rpc.xmlhttp.responseText.parseJSON();
|
||||||
getField('SCH_USER_UID').value = rpc.xmlhttp.responseText;
|
|
||||||
user_uid = rpc.xmlhttp.responseText;
|
if (sresponse.status_code != 0) {
|
||||||
//alert(user_uid);
|
msgBox(sresponse.message, "alert");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
getField('SCH_USER_UID').value = sresponse.message;
|
||||||
|
user_uid = sresponse.message;
|
||||||
|
|
||||||
var oRPCProcess = new leimnud.module.rpc.xmlhttp({
|
var oRPCProcess = new leimnud.module.rpc.xmlhttp({
|
||||||
url : '../cases/cases_SchedulerGetProcesses',
|
url : '../cases/cases_SchedulerGetProcesses',
|
||||||
@@ -684,15 +687,7 @@ function case_userSchedulerValidate(username, password) {
|
|||||||
|
|
||||||
oRPCProcess.make();
|
oRPCProcess.make();
|
||||||
|
|
||||||
/* if(rpc.xmlhttp.responseText>=1){
|
|
||||||
//getField('SEARCH').disabled = false;
|
|
||||||
msgBox("User successfully logged","alert");
|
|
||||||
getField('SCH_USR_UID').value = rpc.xmlhttp.responseText;
|
|
||||||
} else {
|
|
||||||
//getField('SEARCH').disabled = true;
|
|
||||||
msgBox(rpc.xmlhttp.responseText,"alert");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}.extend(this);
|
}.extend(this);
|
||||||
oRPC.make();
|
oRPC.make();
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</GENERAL_INF>
|
</GENERAL_INF>
|
||||||
|
|
||||||
<PROPERTIES_INF type="subtitle" enablehtml="1">
|
<PROPERTIES_INF type="subtitle" enablehtml="1">
|
||||||
<en>Enter the username and password for the user who will be assigned to the initial task in the case(s).</en>
|
<en>Enter the username and password of the user who will be assigned to the initial task in the case.</en>
|
||||||
</PROPERTIES_INF>
|
</PROPERTIES_INF>
|
||||||
|
|
||||||
<SCH_UID type="hidden" >
|
<SCH_UID type="hidden" >
|
||||||
@@ -564,8 +564,6 @@ leimnud.event.add(getField('SCH_OPTION][4'), 'change', function() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function case_userSchedulerValidate(username, password) {
|
function case_userSchedulerValidate(username, password) {
|
||||||
//G.alert(username);
|
|
||||||
//G.alert(password);
|
|
||||||
var user_uid;
|
var user_uid;
|
||||||
|
|
||||||
if(username=='' || password==''){
|
if(username=='' || password==''){
|
||||||
@@ -577,26 +575,20 @@ function case_userSchedulerValidate(username, password) {
|
|||||||
url : '../cases/cases_SchedulerValidateUser',
|
url : '../cases/cases_SchedulerValidateUser',
|
||||||
async : true,
|
async : true,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
args : "USERNAME="+username+"&PASSWORD="+password
|
args : "USERNAME="+username+"&PASSWORD="+password+"&PRO_UID="+$_GET('PRO_UID')
|
||||||
});
|
});
|
||||||
|
|
||||||
oRPC.callback = function(rpc){
|
oRPC.callback = function(rpc){
|
||||||
//msgBox(rpc.xmlhttp.responseText,"alert");
|
sresponse = rpc.xmlhttp.responseText.parseJSON();
|
||||||
sresponse = rpc.xmlhttp.responseText;
|
|
||||||
|
|
||||||
switch(sresponse){
|
if (sresponse.status_code != 0) {
|
||||||
case "User does not have access to the system":
|
msgBox(sresponse.message, "alert");
|
||||||
case "Wrong password":
|
|
||||||
case "User inactive!":
|
|
||||||
msgBox(rpc.xmlhttp.responseText,"alert");
|
|
||||||
getField('BTNCANCEL').focus();
|
getField('BTNCANCEL').focus();
|
||||||
return false;
|
return false;
|
||||||
break
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getField('SCH_USER_UID').value = rpc.xmlhttp.responseText;
|
getField('SCH_USER_UID').value = sresponse.message;
|
||||||
user_uid = rpc.xmlhttp.responseText;
|
user_uid = sresponse.message;
|
||||||
//alert(user_uid);
|
|
||||||
|
|
||||||
var oRPCProcess = new leimnud.module.rpc.xmlhttp({
|
var oRPCProcess = new leimnud.module.rpc.xmlhttp({
|
||||||
url : '../cases/cases_SchedulerGetProcesses',
|
url : '../cases/cases_SchedulerGetProcesses',
|
||||||
|
|||||||
Reference in New Issue
Block a user