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:
Julio Cesar Laura
2012-09-05 13:01:19 -04:00
parent eaa13e0514
commit 7d5144c3c6
5 changed files with 892 additions and 900 deletions

View File

@@ -83,7 +83,7 @@ class Cases
* @param string $sUIDUser
* @return boolean
*/
public function canStartCase($sUIDUser = '')
public function canStartCase($sUIDUser = '', $processUid = '')
{
$c = new Criteria();
$c->clearSelectColumns();
@@ -93,6 +93,9 @@ class Cases
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
$c->add(TaskPeer::TAS_START, 'TRUE');
$c->add(TaskUserPeer::USR_UID, $sUIDUser);
if ($processUid != '') {
$c->add(TaskPeer::PRO_UID, $processUid);
}
$rs = TaskPeer::doSelectRS($c);
$rs->next();
@@ -115,6 +118,9 @@ class Cases
$c->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
$c->add(TaskPeer::TAS_START, 'TRUE');
$c->add(TaskUserPeer::USR_UID, $aGroups, Criteria::IN);
if ($processUid != '') {
$c->add(TaskPeer::PRO_UID, $processUid);
}
$rs = TaskPeer::doSelectRS($c);
$rs->next();

View File

@@ -103,6 +103,7 @@ class wsBase
$uid = $RBAC->VerifyLogin($userid , $password);
switch ($uid) {
case '':
case -1: //The user doesn't exist
$wsResponse = new wsResponse(3, G::loadTranslation('ID_USER_NOT_REGISTERED'));
break;
@@ -116,7 +117,7 @@ class wsBase
break;
}
if ($uid < 0 ) {
if ($uid < 0 || $uid == '') {
throw (new Exception(serialize($wsResponse)));
}

View File

@@ -45,29 +45,27 @@ $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG .
$user = $sWS_USER;
$pass = $sWS_PASS;
$params = array ('userid' => $user, 'password' => $pass );
$result = $client->__SoapCall ( 'login', array ($params ) );
$params = array('userid' => $user, 'password' => $pass);
$result = $client->__SoapCall('login', array($params));
if ($result->status_code == 0) {
if (!class_exists('Users')) {
require ("classes/model/UsersPeer.php");
}
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn('USR_UID');
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
$resultSet = UsersPeer::doSelectRS($oCriteria);
$resultSet->next();
$user_id = $resultSet->getRow();
$result->message = $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');
}
}
$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(!class_exists('Users')) {
require ("classes/model/UsersPeer.php");
}
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn('USR_UID');
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
$resultSet = UsersPeer::doSelectRS($oCriteria);
$resultSet->next();
$user_id = $resultSet->getRow();
$messageCode = $user_id[0];
}
echo ($messageCode);
?>
die(G::json_encode($result));

View File

@@ -8,7 +8,7 @@
<en>General Information</en>
</GENERAL_INF>
<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>
<SCH_UID type="hidden" >
<en></en>
@@ -356,7 +356,7 @@ function hideAll() {
contractSubtitle('SELECT_2');
contractSubtitle('SELECT_3');
contractSubtitle('SELECT_EVERY');
//contractSubtitle('ADVANCED_4');
document.getElementById('startTime').style.display='none';
document.getElementById('everyTime').style.display='none';
@@ -420,7 +420,7 @@ function showSelection(opt) {
expandSubtitle('SELECT_1');
contractSubtitle('SELECT_2');
contractSubtitle('SELECT_3');
document.getElementById('form[SELECT_EVERY]').style.display='none';
document.getElementById('endDateTable').style.display='';
document.getElementById('startTime').style.display='';
@@ -432,7 +432,7 @@ function showSelection(opt) {
expandSubtitle('SELECT_2');
contractSubtitle('SELECT_3');
hideRow('SCH_EVERY_DAYS');
document.getElementById('form[SELECT_EVERY]').style.display='none';
document.getElementById('endDateTable').style.display='';
document.getElementById('startTime').style.display='';
@@ -457,7 +457,7 @@ function showSelection(opt) {
getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=false;
getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display="";
}
document.getElementById('form[SELECT_EVERY]').style.display='none';
document.getElementById('endDateTable').style.display='';
document.getElementById('startTime').style.display='';
@@ -467,7 +467,7 @@ function showSelection(opt) {
contractSubtitle('SELECT_1');
contractSubtitle('SELECT_2');
contractSubtitle('SELECT_3');
document.getElementById('form[SELECT_EVERY]').style.display='none';
document.getElementById('endDateTable').style.display='';
document.getElementById('startTime').style.display='';
@@ -478,7 +478,7 @@ function showSelection(opt) {
contractSubtitle('SELECT_2');
contractSubtitle('SELECT_3');
enable(getField('SCH_REPEAT_EVERY'));
document.getElementById('form[SELECT_TIME_DAY]').style.display='none';
document.getElementById('endDateTable').style.display='none';
document.getElementById('startTime').style.display='none';
@@ -647,22 +647,25 @@ leimnud.event.add(getField('SCH_REPEAT_UNTIL'), 'change', function() {
* @return void
*/
function case_userSchedulerValidate(username, password) {
//G.alert(username);
//G.alert(password);
var user_uid;
var oRPC = new leimnud.module.rpc.xmlhttp({
url : '../cases/cases_SchedulerValidateUser',
async : true,
method: 'POST',
args : "USERNAME="+username+"&PASSWORD="+password
args : "USERNAME="+username+"&PASSWORD="+password+"&PRO_UID="+$_GET('PRO_UID')
});
oRPC.callback = function(rpc){
//msgBox(rpc.xmlhttp.responseText,"alert");
getField('SCH_USER_UID').value = rpc.xmlhttp.responseText;
user_uid = rpc.xmlhttp.responseText;
//alert(user_uid);
sresponse = rpc.xmlhttp.responseText.parseJSON();
if (sresponse.status_code != 0) {
msgBox(sresponse.message, "alert");
return false;
}
getField('SCH_USER_UID').value = sresponse.message;
user_uid = sresponse.message;
var oRPCProcess = new leimnud.module.rpc.xmlhttp({
url : '../cases/cases_SchedulerGetProcesses',
@@ -684,15 +687,7 @@ function case_userSchedulerValidate(username, password) {
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);
oRPC.make();

File diff suppressed because it is too large Load Diff