Case Scheduler - Start Timer Event BPMN initial version.
This commit is contained in:
@@ -4614,12 +4614,15 @@ class processMap {
|
||||
}
|
||||
}
|
||||
}
|
||||
$row [] = array ('W_LINK' => $arlink,'DYN_TITLE'=>$dynTitle,'TAS_TITLE'=>$task_name, 'USR_UID'=>$usr_uid_evn, 'DYN_UID'=>$dynUid);
|
||||
$oJSON = new Services_JSON ( );
|
||||
$tmpData = $oJSON->encode( $row ) ;
|
||||
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
|
||||
$result = $tmpData;
|
||||
echo $result;
|
||||
$row = array ('W_LINK' => $arlink,'DYN_TITLE'=>$dynTitle,'TAS_TITLE'=>$task_name, 'USR_UID'=>$usr_uid_evn, 'DYN_UID'=>$dynUid);
|
||||
// $oJSON = new Services_JSON ( );
|
||||
// $tmpData = $oJSON->encode( $row ) ;
|
||||
// $tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
|
||||
// $result = $tmpData;
|
||||
$result = array();
|
||||
$result['success'] = true;
|
||||
$result['data'] = $row;
|
||||
return $result;
|
||||
} catch ( Exception $oError ) {
|
||||
throw ($oError);
|
||||
}
|
||||
|
||||
@@ -590,7 +590,7 @@ public function kgetassigType($pro_uid, $tas){
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(EventPeer::EVN_UID);
|
||||
$oCriteria->add(EventPeer::EVN_TAS_UID_TO,$this->tas_uid);
|
||||
$oCriteria->add(EventPeer::EVN_TYPE,'bpmnEventMessageStart');
|
||||
//$oCriteria->add(EventPeer::EVN_TYPE,'bpmnEventMessageStart');
|
||||
$oDataset = EventPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
if ($oDataset->next()){
|
||||
|
||||
473
workflow/engine/controllers/caseSchedulerProxy.php
Executable file
473
workflow/engine/controllers/caseSchedulerProxy.php
Executable file
@@ -0,0 +1,473 @@
|
||||
<?php
|
||||
class caseSchedulerProxy extends HttpProxyController
|
||||
{
|
||||
|
||||
function load($params){
|
||||
require_once "classes/model/Event.php";
|
||||
$PRO_UID = $params->PRO_UID;
|
||||
$EVN_UID = $params->EVN_UID;
|
||||
|
||||
$oEvent = new Event();
|
||||
$oData = $oEvent->load($EVN_UID);
|
||||
$sch_uid = $oData['EVN_ACTION'];
|
||||
|
||||
if ($sch_uid != ''){
|
||||
G::LoadClass('processMap');
|
||||
$oProcessMap = new processMap(new DBConnection);
|
||||
$rows = $oProcessMap->caseNewSchedulerList($sch_uid);
|
||||
if($rows['SCH_OPTION'] == '3')
|
||||
{
|
||||
$sch_start_day = explode('|',$rows['SCH_START_DAY']);
|
||||
$count = count($sch_start_day);
|
||||
switch($count){
|
||||
case 1:
|
||||
$rows['SCH_START_DAY'] = $sch_start_day[0];
|
||||
break;
|
||||
case 2:
|
||||
$rows['SCH_START_DAY'] = $sch_start_day[0];
|
||||
$rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1];
|
||||
break;
|
||||
case 3:
|
||||
$rows['SCH_START_DAY'] = $sch_start_day[0];
|
||||
$rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1];
|
||||
$rows['SCH_START_DAY_OPT_2_DAYS_WEEK'] = $sch_start_day[2];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($rows['SCH_START_DATE'] != '')
|
||||
{
|
||||
$sch_str_dt = explode(' ',$rows['SCH_START_DATE']);
|
||||
$rows['SCH_START_DATE'] = $sch_str_dt[0];
|
||||
}
|
||||
if($rows['SCH_END_DATE'] != '')
|
||||
{
|
||||
$sch_str_dt = explode(' ',$rows['SCH_END_DATE']);
|
||||
$rows['SCH_END_DATE'] = $sch_str_dt[0];
|
||||
}
|
||||
$this->success = true;
|
||||
$this->data = $rows;
|
||||
}else{
|
||||
$this->success = false;
|
||||
}
|
||||
}
|
||||
|
||||
function delete($params){
|
||||
require_once 'classes/model/CaseScheduler.php';
|
||||
require_once 'classes/model/Event.php';
|
||||
$SCH_UID = $params->SCH_UID;
|
||||
$EVN_UID = $params->EVN_UID;
|
||||
$oCaseScheduler = new CaseScheduler();
|
||||
$oCaseScheduler->remove($SCH_UID);
|
||||
$oEvent = new Event();
|
||||
$editE = array();
|
||||
$editE['EVN_UID'] = $EVN_UID;
|
||||
$editE['EVN_ACTION'] = '';
|
||||
$oEvent->update($editE);
|
||||
|
||||
$this->success = true;
|
||||
$this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_DELETE');
|
||||
}
|
||||
|
||||
function changeStatus($params){
|
||||
require_once 'classes/model/CaseScheduler.php';
|
||||
$SCH_UID = $params->SCH_UID;
|
||||
$oCaseScheduler = new CaseScheduler();
|
||||
$oCaseScheduler->changeStatus ($SCH_UID);
|
||||
$oCaseScheduler->load($SCH_UID);
|
||||
$this->success = true;
|
||||
$this->SCH_STATUS = $oCaseScheduler->getSchState();
|
||||
$this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_CHANGE_STATUS');
|
||||
}
|
||||
|
||||
function checkCredentials($params){
|
||||
require_once 'classes/model/Event.php';
|
||||
require_once 'classes/model/Users.php';
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
require_once 'classes/model/GroupUser.php';
|
||||
$sPRO_UID = $params->PRO_UID;
|
||||
$sEVN_UID = $params->EVN_UID;
|
||||
$sWS_USER = trim($params->WS_USER);
|
||||
$sWS_PASS = trim($params->WS_PASS);
|
||||
|
||||
if (G::is_https ())
|
||||
$http = 'https://';
|
||||
else
|
||||
$http = 'http://';
|
||||
|
||||
$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2';
|
||||
@$client = new SoapClient ( $endpoint );
|
||||
|
||||
$user = $sWS_USER;
|
||||
$pass = $sWS_PASS;
|
||||
|
||||
$parameters = array ('userid' => $user, 'password' => $pass );
|
||||
$result = $client->__SoapCall ( 'login', array ($parameters) );
|
||||
|
||||
$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 = true;
|
||||
$message = $result->message;
|
||||
|
||||
G::LoadClass ( 'Task' );
|
||||
//G::LoadClass ( 'Event' );
|
||||
G::LoadClass ( 'User' );
|
||||
G::LoadClass ( 'TaskUser' );
|
||||
G::LoadClass ( 'Groupwf' );
|
||||
|
||||
$event = new Event();
|
||||
$event->load($sEVN_UID);
|
||||
$sTASKS = $event->getEvnTasUidTo();
|
||||
|
||||
$task = new Task();
|
||||
$task->load($sTASKS);
|
||||
$sTASKS_SEL = $task->getTasTitle();
|
||||
|
||||
if(!class_exists('GroupUser')) {
|
||||
G::LoadClass ( 'GroupUser' );
|
||||
}
|
||||
// if the user has been authenticated, then check if has the rights or
|
||||
// permissions to create the webentry
|
||||
if ($result->status_code == 0) {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::USR_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TAS_UID);
|
||||
$oCriteria->addJoin(TaskUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(TaskUserPeer::TAS_UID, $sTASKS);
|
||||
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
|
||||
//$oCriteria->add(TaskUserPeer::TU_RELATION,1);
|
||||
$userIsAssigned = TaskUserPeer::doCount($oCriteria);
|
||||
// if the user is not assigned directly, maybe a have the task a group with the user
|
||||
if($userIsAssigned<1) {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
$oCriteria->addJoin(UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->addJoin(GroupUserPeer::GRP_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(TaskUserPeer::TAS_UID, $sTASKS);
|
||||
$oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER);
|
||||
$userIsAssigned = GroupUserPeer::doCount($oCriteria);
|
||||
if (!($userIsAssigned>=1)) {
|
||||
$messageCode = false;
|
||||
$message = "The User \"".$sWS_USER."\" doesn't have the task \"".$sTASKS_SEL."\" assigned.";
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$messageCode = false;
|
||||
}
|
||||
|
||||
$this->success = $messageCode;
|
||||
$this->msg = $message;
|
||||
}
|
||||
|
||||
function save($params){
|
||||
require_once 'classes/model/CaseScheduler.php';
|
||||
$oCaseScheduler = new CaseScheduler();
|
||||
|
||||
$aData['SCH_UID'] = G::generateUniqueID();
|
||||
$aData['SCH_NAME'] = $params->fDescription; //$_POST['form']['SCH_NAME'];
|
||||
$aData['SCH_DEL_USER_NAME'] = $params->fUser; //$_POST['form']['SCH_USER_NAME'];
|
||||
$aData['SCH_DEL_USER_PASS'] = md5($params->fPassword);
|
||||
$aData['SCH_DEL_USER_UID'] = $params->usr_uid; //$_POST['form']['SCH_USER_UID'];
|
||||
$aData['PRO_UID'] = $params->pro_uid; //$_POST['form']['PRO_UID'];
|
||||
$aData['TAS_UID'] = $params->tas_uid; //$_POST['form']['TAS_UID'];
|
||||
|
||||
$aData['SCH_STATE'] = 'ACTIVE';
|
||||
$aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE';
|
||||
$aData['USR_UID'] = $_SESSION['USER_LOGGED'];
|
||||
|
||||
$sOption = $params->fType; //$_POST['form']['SCH_OPTION'];
|
||||
|
||||
switch($sOption){
|
||||
case 'Daily' : $sOption = '1'; break;
|
||||
case 'Weekly' : $sOption = '2'; break;
|
||||
case 'Monthly' : $sOption = '3'; break;
|
||||
default : $sOption = '4'; break;
|
||||
}
|
||||
|
||||
$aData['SCH_OPTION'] = $sOption;
|
||||
|
||||
// if ($_POST['form']['SCH_START_DATE']!=''){
|
||||
// $sDateTmp = $_POST['form']['SCH_START_DATE'];
|
||||
// } else {
|
||||
// $sDateTmp = date('Y-m-d');
|
||||
// }
|
||||
|
||||
$sDateTmp = $params->SCH_START_DATE;
|
||||
$sTimeTmp = $params->SCH_START_TIME; //$_POST['form']['SCH_START_TIME'];
|
||||
|
||||
$aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
|
||||
$aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
|
||||
|
||||
//g::pr($aData);
|
||||
|
||||
$nActualTime = $sTimeTmp; //date("Y-m-d H:i:s"); // time();
|
||||
//$nActualDate = date("Y-m-d H:i:s");
|
||||
|
||||
$sValue = '';
|
||||
$sDaysPerformTask = '';
|
||||
$sWeeks = '';
|
||||
$sMonths = '';
|
||||
$sMonths = '';
|
||||
$sStartDay = '';
|
||||
$nSW = 0;
|
||||
|
||||
|
||||
switch($sOption){
|
||||
case '1' : // Option 1
|
||||
$sValue = isset($params->SCH_DAYS_PERFORM_TASK)? $params->SCH_DAYS_PERFORM_TASK : '1'; //$_POST['form']['SCH_DAYS_PERFORM_TASK'];
|
||||
switch($sValue){
|
||||
case '1' : $aData['SCH_DAYS_PERFORM_TASK'] = $sValue . '|1';
|
||||
break;
|
||||
case '2' :
|
||||
$aData['SCH_OPTION'] = '2';
|
||||
$aData['SCH_EVERY_DAYS'] = '1';
|
||||
$aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
|
||||
break;
|
||||
case '3' : // Every [n] Days
|
||||
$sDaysPerformTask = $params->SCH_DAYS_PERFORM_TASK_OPT_3;
|
||||
$aData['SCH_DAYS_PERFORM_TASK'] = $params->SCH_DAYS_PERFORM_TASK . '|' . $params->SCH_DAYS_PERFORM_TASK_OPT_3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case '2' : // If the option is zero, set by default 1
|
||||
$sWeeks = '';
|
||||
if (isset($params->W1)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '1';
|
||||
}
|
||||
if (isset($params->W2)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '2';
|
||||
}
|
||||
if (isset($params->W3)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '3';
|
||||
}
|
||||
if (isset($params->W4)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '4';
|
||||
}
|
||||
if (isset($params->W5)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '5';
|
||||
}
|
||||
if (isset($params->W6)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '6';
|
||||
}
|
||||
if (isset($params->W7)){
|
||||
if ($sWeeks != '') $sWeeks .= '|';
|
||||
$sWeeks .= '7';
|
||||
}
|
||||
$sStartTime = $params->SCH_START_TIME;
|
||||
$aData['SCH_WEEK_DAYS'] = $sWeeks;
|
||||
$aData['SCH_START_DAY'] = ''; //
|
||||
break;
|
||||
case '3' :
|
||||
$nStartDay = $params->SCH_START_DAY;
|
||||
if ($nStartDay=='Day of Month') $nStartDay = 1;
|
||||
if ($nStartDay=='The Day') $nStartDay = 2;
|
||||
if($nStartDay == 1){
|
||||
$aData['SCH_START_DAY'] = $nStartDay . '|' . $params->SCH_START_DAY_OPT_1;
|
||||
} else {
|
||||
$opt2weeks = $params->SCH_START_DAY_OPT_2_WEEKS;
|
||||
switch($opt2weeks){
|
||||
case 'First': $opt2weeks = 1; break;
|
||||
case 'Second': $opt2weeks = 2; break;
|
||||
case 'Third': $opt2weeks = 3; break;
|
||||
case 'Fourth': $opt2weeks = 4; break;
|
||||
case 'Last': $opt2weeks = 5; break;
|
||||
}
|
||||
$opt2days = $params->SCH_START_DAY_OPT_2_DAYS_WEEK;
|
||||
switch($opt2days){
|
||||
case 'Monday': $opt2days = 1; break;
|
||||
case 'Tuesday': $opt2days = 2; break;
|
||||
case 'Wednesday': $opt2days = 3; break;
|
||||
case 'Thursday': $opt2days = 4; break;
|
||||
case 'Friday': $opt2days = 5; break;
|
||||
case 'Saturday': $opt2days = 6; break;
|
||||
case 'Sunday': $opt2days = 7; break;
|
||||
}
|
||||
$aData['SCH_START_DAY'] = $nStartDay . '|' . $opt2weeks . '|' . $opt2days;
|
||||
}
|
||||
|
||||
$sMonths = '';
|
||||
if (isset($params->M1)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '1';
|
||||
}
|
||||
if (isset($params->M2)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '2';
|
||||
}
|
||||
if (isset($params->M3)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '3';
|
||||
}
|
||||
if (isset($params->M4)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '4';
|
||||
}
|
||||
if (isset($params->M5)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '5';
|
||||
}
|
||||
if (isset($params->M6)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '6';
|
||||
}
|
||||
if (isset($params->M7)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '7';
|
||||
}
|
||||
if (isset($params->M8)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '8';
|
||||
}
|
||||
if (isset($params->M9)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '9';
|
||||
}
|
||||
if (isset($params->M10)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '10';
|
||||
}
|
||||
if (isset($params->M11)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '11';
|
||||
}
|
||||
if (isset($params->M12)){
|
||||
if ($sMonths != '') $sMonths .= '|';
|
||||
$sMonths .= '12';
|
||||
}
|
||||
// if(!empty($params->SCH_MONTHS)){
|
||||
// $aMonths = $params->SCH_MONTHS;
|
||||
// foreach($aMonths as $value) {
|
||||
// $sMonths = $sMonths . $value . '|' ;
|
||||
// }
|
||||
// }
|
||||
// if(!empty($params->SCH_MONTHS_2)){
|
||||
// $aMonths2 = $params->SCH_MONTHS_2;
|
||||
// foreach($aMonths2 as $value) {
|
||||
// $sMonths = $sMonths . $value . '|' ;
|
||||
// }
|
||||
// }
|
||||
// if(!empty($params->SCH_MONTHS_3)){
|
||||
// $aMonths3 = $params->SCH_MONTHS_3;
|
||||
// foreach($aMonths3 as $value) {
|
||||
// $sMonths = $sMonths . $value . '|' ;
|
||||
// }
|
||||
// }
|
||||
$aData['SCH_MONTHS'] = $sMonths;
|
||||
$sStartDay = $aData['SCH_START_DAY'];
|
||||
$sValue = $nStartDay;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
if(($sOption!='1') && ($sOption!='4')) {
|
||||
if ($sStartDay==''){
|
||||
$sStartDay = date('Y-m-d');
|
||||
}
|
||||
// echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."<br>";
|
||||
$dCurrentDay = date("d");
|
||||
$dCurrentMonth = date("m");
|
||||
$aStartDay = explode( "|" , $aData['SCH_START_DAY'] );
|
||||
if($sOption=='3'&&$aStartDay[0]=='1'){
|
||||
$monthsArray = explode("|",$sMonths);
|
||||
foreach ($monthsArray as $row){
|
||||
if ( $dCurrentMonth == $row && $dCurrentDay<$aStartDay[1] ){
|
||||
$startTime = $params->SCH_START_TIME.":00";
|
||||
$aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
|
||||
break;
|
||||
} else {
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
|
||||
}
|
||||
// print_r ($aData['SCH_TIME_NEXT_RUN']);
|
||||
// die;
|
||||
} else {
|
||||
if ($sOption=='4'){
|
||||
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
|
||||
}
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
|
||||
}
|
||||
|
||||
if (isset($params->SCH_END_DATE)){
|
||||
if(trim($params->SCH_END_DATE)!=''){
|
||||
$aData['SCH_END_DATE'] = $params->SCH_END_DATE;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($params->SCH_REPEAT_TASK_CHK)){
|
||||
$nOptEvery = $params->SCH_REPEAT_EVERY_OPT;
|
||||
if($nOptEvery ==2)
|
||||
$aData['SCH_REPEAT_EVERY'] = $params->SCH_REPEAT_EVERY_OPT * 60;
|
||||
else
|
||||
$aData['SCH_REPEAT_EVERY'] = $params->SCH_REPEAT_EVERY_OPT;
|
||||
|
||||
|
||||
}
|
||||
|
||||
if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
|
||||
$aData['CASE_SH_PLUGIN_UID'] = $_POST['form']['CASE_SH_PLUGIN_UID'];
|
||||
}
|
||||
//$aData['SCH_END_DATE'] = "2020-12-30";
|
||||
//g::pr($aData);
|
||||
$oCaseScheduler->create($aData);
|
||||
$sch_uid = $oCaseScheduler->getSchUid();
|
||||
|
||||
if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
|
||||
$params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']);
|
||||
$oPluginRegistry =& PMPluginRegistry::getSingleton();
|
||||
$activePluginsForCaseScheduler=$oPluginRegistry->getCaseSchedulerPlugins();
|
||||
|
||||
foreach($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail){
|
||||
if(($caseSchedulerPluginDetail->sNamespace==$params[0])&&($caseSchedulerPluginDetail->sActionId==$params[1])){
|
||||
$caseSchedulerSelected=$caseSchedulerPluginDetail;
|
||||
|
||||
}
|
||||
}
|
||||
if((isset($caseSchedulerSelected))&&(is_object($caseSchedulerSelected))){
|
||||
//Save the form
|
||||
$oData=$_POST['pluginFields'];
|
||||
$oData['SCH_UID'] =$aData['SCH_UID'];
|
||||
$oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData );
|
||||
}
|
||||
}
|
||||
|
||||
//Added by Qennix
|
||||
//Update Start Time Event in BPMN
|
||||
require_once 'classes/model/Event.php';
|
||||
require_once 'classes/model/Task.php';
|
||||
|
||||
$oTask = new Task();
|
||||
$oTask->load($params->tas_uid);
|
||||
$evn_uid = $oTask->getStartingEvent();
|
||||
$tas_name = $oTask->getTasTitle();
|
||||
$event = new Event();
|
||||
$editEvent = array();
|
||||
$editEvent['EVN_UID'] = $evn_uid;
|
||||
$editEvent['EVN_ACTION'] = $sch_uid;
|
||||
$event->update($editEvent);
|
||||
//End Adding
|
||||
|
||||
$sch = new CaseScheduler();
|
||||
$sch->load($sch_uid);
|
||||
|
||||
$this->success = true;
|
||||
$this->SCH_UID = $sch_uid;
|
||||
$this->NEXT = $sch->getSchTimeNextRun();
|
||||
$this->DESCRIPTION = $sch->getSchName();
|
||||
$this->TAS_NAME = $tas_name;
|
||||
$this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_NEW');
|
||||
}
|
||||
|
||||
} //End caseSchedulerProxy
|
||||
@@ -208,6 +208,8 @@ try {
|
||||
}
|
||||
//$aData['SCH_END_DATE'] = "2020-12-30";
|
||||
$oCaseScheduler->create($aData);
|
||||
$sch_uid = $oCaseScheduler->getSchUid();
|
||||
|
||||
if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){
|
||||
$params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']);
|
||||
$oPluginRegistry =& PMPluginRegistry::getSingleton();
|
||||
@@ -227,6 +229,23 @@ try {
|
||||
}
|
||||
}
|
||||
|
||||
//Added by Qennix
|
||||
//Update Start Time Event in BPMN
|
||||
require_once 'classes/model/Event.php';
|
||||
require_once 'classes/model/Task.php';
|
||||
|
||||
$oTask = new Task();
|
||||
$oTask->load($_POST['form']['TAS_UID']);
|
||||
echo '1';
|
||||
$evn_uid = $oTask->getStartingEvent();
|
||||
echo '2'.$evn_uid;
|
||||
$event = new Event();
|
||||
$editEvent = array();
|
||||
$editEvent['EVN_UID'] = $evn_uid;
|
||||
$editEvent['EVN_ACTION'] = $sch_uid;
|
||||
$event->update($editEvent);
|
||||
//End Adding
|
||||
|
||||
G::header('location: cases_Scheduler_List?PRO_UID='.$_POST['form']['PRO_UID']);
|
||||
|
||||
|
||||
|
||||
@@ -329,218 +329,284 @@ pmosExt.prototype.popWebEntry= function(_5678)
|
||||
|
||||
webEntryWindow.show();
|
||||
}
|
||||
|
||||
pmosExt.prototype.popCaseSchedular= function(_5678){
|
||||
Ext.QuickTips.init();
|
||||
var oPmosExt = new pmosExt();
|
||||
//Get the Task Data
|
||||
|
||||
var oTask = workflow.taskUid;
|
||||
if(typeof oTask != 'undefined')
|
||||
{
|
||||
taskName = oTask[0].name;
|
||||
task_uid = oTask[0].value;
|
||||
}
|
||||
var caseSchedularForm = new Ext.FormPanel({
|
||||
labelWidth : 120, // label settings here cascade unless overridden
|
||||
url :'cases_Scheduler_Save.php',
|
||||
frame :true,
|
||||
title : _('ID_GENERATE_INFO'),
|
||||
bodyStyle :'padding:5px 5px 0',
|
||||
width : 500,
|
||||
height : 300,
|
||||
buttonAlign : 'center',
|
||||
defaultType : 'textfield',
|
||||
items : [{
|
||||
xtype :'fieldset',
|
||||
title : 'ID_PROCESSMAKER_VALIDATION',
|
||||
collapsible : false,
|
||||
autoHeight :true,
|
||||
buttonAlign : 'center',
|
||||
defaults : {width: 210},
|
||||
defaultType : 'textfield',
|
||||
items : [{
|
||||
fieldLabel : _('ID_USERNAME'),
|
||||
name : 'SCH_DEL_USER_NAME',
|
||||
allowBlank : false,
|
||||
blankText : 'Enter username'
|
||||
},{
|
||||
fieldLabel : _('ID_CACHE_PASSWORD'),
|
||||
inputType : 'password',
|
||||
name : 'SCH_USER_PASSWORD',
|
||||
allowBlank : false,
|
||||
blankText : 'Enter Password'
|
||||
},{
|
||||
xtype : 'button',
|
||||
id : 'testUser',
|
||||
width : 75,
|
||||
text : _('ID_TEST_USER'),
|
||||
arrowAlign : 'center',
|
||||
align : 'center',
|
||||
margins :'5 5 5 5',
|
||||
var evn_uid = workflow.currentSelection.id;
|
||||
|
||||
var newButton = new Ext.Action({
|
||||
text: _('ID_NEW_CASE_SCHEDULER'),
|
||||
iconCls: 'button_menu_ext ss_sprite ss_add',
|
||||
hidden: true,
|
||||
handler: function(){
|
||||
var credentialFieldset = workflow.caseSchedularForm.items.items[0];
|
||||
var propertiesFieldset = workflow.caseSchedularForm.items.items[1];
|
||||
var timeFieldset = workflow.caseSchedularForm.items.items[2];
|
||||
var username = credentialFieldset.items.items[0].getValue();
|
||||
var password = credentialFieldset.items.items[1].getValue();
|
||||
if(username == '' || password == '') {
|
||||
PMExt.notify( _('ID_ERROR') , _('ID_VALID_CREDENTIALS') );
|
||||
editForm.getForm().reset();
|
||||
oPmosExt.hideSchOptions(performFields,0);
|
||||
Ext.getCmp('fTask').setText(taskName);
|
||||
editForm.getForm().findField('pro_uid').setValue(pro_uid);
|
||||
editForm.getForm().findField('evn_uid').setValue(evn_uid);
|
||||
editForm.getForm().findField('tas_uid').setValue(task_uid);
|
||||
editForm.show();
|
||||
summaryForm.hide();
|
||||
newButton.disable();
|
||||
}
|
||||
else {
|
||||
});
|
||||
|
||||
var editButton = new Ext.Action({
|
||||
text: _('ID_EDIT'),
|
||||
iconCls: 'button_menu_ext ss_sprite ss_pencil',
|
||||
hidden: true
|
||||
});
|
||||
|
||||
var changeButton = new Ext.Action({
|
||||
text: _('ID_CHANGE_STATUS'),
|
||||
iconCls: 'button_menu_ext ss_sprite ss_arrow_switch',
|
||||
hidden: true,
|
||||
handler: function(){
|
||||
Ext.Ajax.request({
|
||||
url: '../cases/cases_SchedulerValidateUser.php?USERNAME=' + username+'&PASSWORD='+password,
|
||||
success: function(response) {
|
||||
var result = response.responseText;
|
||||
if(result.length == 32) {
|
||||
credentialFieldset.items.items[4].setValue(response.responseText);
|
||||
propertiesFieldset.show();
|
||||
timeFieldset.show();
|
||||
timeFieldset.collapse();
|
||||
credentialFieldset.items.items[2].hide(); //Hide Test User
|
||||
credentialFieldset.items.items[3].show(); //Show Edit User
|
||||
url: 'caseSchedulerProxy/changeStatus',
|
||||
params: {SCH_UID: caseSchedulerData.SCH_UID},
|
||||
success: function(r,o){
|
||||
var respuesta = Ext.decode(r.responseText);
|
||||
if (respuesta.success){
|
||||
PMExt.notify(_('ID_CASE_SCHEDULER'), respuesta.msg);
|
||||
Ext.getCmp('status').setText(respuesta.SCH_STATUS);
|
||||
}else{
|
||||
PMExt.error(_('ID_STATUS'),respuesta.msg);
|
||||
}
|
||||
},
|
||||
failure: function(){
|
||||
failure: function(r,o){
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED'));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var deleteButton = new Ext.Action({
|
||||
text: _('ID_DELETE'),
|
||||
iconCls: 'button_menu_ext ss_sprite ss_delete',
|
||||
hidden: true,
|
||||
handler: function(){
|
||||
Ext.Msg.confirm(_('ID_CONFIRM'),_('ID_CONFIRM_DELETE_CASE_SCHEDULER'),
|
||||
function(btn, text){
|
||||
if (btn=='yes'){
|
||||
Ext.Ajax.request({
|
||||
url: 'caseSchedulerProxy/delete',
|
||||
params: {SCH_UID: caseSchedulerData.SCH_UID, EVN_UID: evn_uid},
|
||||
success: function(r,o){
|
||||
var rs = Ext.decode(r.responseText);
|
||||
if (rs.success){
|
||||
PMExt.notify(_('ID_CASE_SCHEDULER'), rs.msg);
|
||||
editButton.hide();
|
||||
deleteButton.hide();
|
||||
newButton.show();
|
||||
changeButton.hide();
|
||||
summaryForm.getForm().reset();
|
||||
Ext.getCmp('description').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('task').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('status').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('next').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('last').setText(_('ID_NOT_DEFINED'));
|
||||
}else{
|
||||
PMExt.error(_('ID_STATUS'),rs.msg);
|
||||
}
|
||||
},
|
||||
failure: function(r, o){
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED'));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},{
|
||||
xtype : 'button',
|
||||
id : 'editUser',
|
||||
width : 75,
|
||||
text : _('ID_EDIT_USER'),
|
||||
arrowAlign : 'center',
|
||||
scope :_5678,
|
||||
align : 'center',
|
||||
hidden : true,
|
||||
margins : '5 5 5 5',
|
||||
handler: function(){
|
||||
var credentialFieldset = workflow.caseSchedularForm.items.items[0];
|
||||
var propertiesFieldset = workflow.caseSchedularForm.items.items[1];
|
||||
var timeFieldset = workflow.caseSchedularForm.items.items[2];
|
||||
propertiesFieldset.hide();
|
||||
timeFieldset.hide();
|
||||
credentialFieldset.items.items[3].hide(); //Hide Edit User
|
||||
credentialFieldset.items.items[2].show(); //Show Test User
|
||||
);
|
||||
}
|
||||
},{
|
||||
name : 'SCH_DEL_USER_UID',
|
||||
hidden : true
|
||||
},{
|
||||
name : 'PRO_UID',
|
||||
hidden : true
|
||||
},{
|
||||
name : 'SCH_DAYS_PERFORM_TASK',
|
||||
hidden : true,
|
||||
value : 1
|
||||
},{
|
||||
name : 'TAS_UID',
|
||||
hidden : true,
|
||||
value : 1
|
||||
},{
|
||||
name : 'SCH_WEEK_DAYS',
|
||||
hidden : true
|
||||
},{
|
||||
name : 'SCH_MONTHS',
|
||||
hidden : true
|
||||
},{
|
||||
name : 'EVN_UID',
|
||||
hidden : true
|
||||
},{
|
||||
name : 'SCH_UID',
|
||||
hidden : true
|
||||
}]
|
||||
},{
|
||||
});
|
||||
|
||||
var saveButton = new Ext.Action({
|
||||
text: _('ID_SAVE'),
|
||||
hidden: false,
|
||||
handler: function(){
|
||||
var user = editForm.getForm().findField('fUser').getValue();
|
||||
var pass = editForm.getForm().findField('fPassword').getValue();
|
||||
if (((user == '')&&(pass=='')) || (user=='')) {
|
||||
PMExt.warning(_('ID_ERROR'), _('ID_USER_CREDENTIALS_REQUIRED'));
|
||||
return;
|
||||
}
|
||||
//viewport.getEl().mask(_('ID_PROCESSING'));
|
||||
Ext.Ajax.request({
|
||||
url: 'caseSchedulerProxy/checkCredentials',
|
||||
params: {PRO_UID: pro_uid, EVN_UID: evn_uid, WS_USER: user, WS_PASS: pass},
|
||||
success: function (r,o){
|
||||
//viewport.getEl().unmask();
|
||||
var resp = Ext.util.JSON.decode(r.responseText);
|
||||
if (resp.success){
|
||||
editForm.getForm().findField('usr_uid').setValue(resp.msg);
|
||||
editForm.getForm().submit({
|
||||
success: function(f,a){
|
||||
var res = Ext.decode(a.response.responseText);
|
||||
if (res.success){
|
||||
editForm.getForm().reset();
|
||||
editForm.hide();
|
||||
Ext.getCmp('description').setText(res.DESCRIPTION);
|
||||
Ext.getCmp('task').setText(res.TAS_NAME);
|
||||
Ext.getCmp('status').setText('ACTIVE');
|
||||
Ext.getCmp('next').setText(res.NEXT);
|
||||
Ext.getCmp('last').setText('');
|
||||
caseSchedulerData.SCH_UID = res.SCH_UID;
|
||||
summaryForm.show();
|
||||
newButton.enable();
|
||||
editButton.enable();
|
||||
deleteButton.enable();
|
||||
changeButton.enable();
|
||||
newButton.hide();
|
||||
editButton.show();
|
||||
deleteButton.show();
|
||||
changeButton.show();
|
||||
PMExt.notify(_('ID_CASE_SCHEDULER'),res.msg);
|
||||
}else{
|
||||
PMExt.error(_('ID_ERROR'),res.msg);
|
||||
}
|
||||
},
|
||||
failure: function(f,a){
|
||||
PMExt.error(_('ID_ERROR'),res.msg);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
PMExt.error(_('ID_CREDENTIAL_ERROR'),resp.msg);
|
||||
}
|
||||
},
|
||||
failure: function (r,o){
|
||||
//viewport.getEl().unmask();
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED'));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var cancelButton = new Ext.Action({
|
||||
text: _('ID_CANCEL'),
|
||||
hidden: false,
|
||||
handler: function(){
|
||||
editForm.getForm().reset();
|
||||
editForm.hide();
|
||||
summaryForm.show();
|
||||
newButton.enable();
|
||||
editButton.enable();
|
||||
deleteButton.enable();
|
||||
changeButton.enable();
|
||||
}
|
||||
});
|
||||
|
||||
var caseSchedulerData;
|
||||
|
||||
|
||||
var summaryForm = new Ext.FormPanel({
|
||||
labelWidth : 120,
|
||||
frame : true,
|
||||
autoHeight : true,
|
||||
defaultType : 'textfield',
|
||||
buttonAlign : 'center',
|
||||
items: [
|
||||
{
|
||||
xtype :'fieldset',
|
||||
title : _('ID_PROPERTIES'),
|
||||
title : _('ID_CASE_SCHEDULER_SUMMARY'),
|
||||
collapsible: false,
|
||||
autoHeight :true,
|
||||
buttonAlign: 'center',
|
||||
defaults : {width: 210},
|
||||
defaultType : 'textfield',
|
||||
items: [
|
||||
{xtype: 'label', fieldLabel: _('ID_DESCRIPTION'), id: 'description', width: 300, readOnly: true, selectOnFocus: true},
|
||||
{xtype: 'label', fieldLabel: _('ID_TASK'), id: 'task', width: 300, readOnly: true},
|
||||
{xtype: 'label', fieldLabel: _('ID_STATUS'), id: 'status', width: 300, readOnly: true},
|
||||
{xtype: 'label', fieldLabel: _('ID_LAST_RUN_TIME'), id: 'last', width: 300, readOnly: true},
|
||||
{xtype: 'label', fieldLabel: _('ID_TIME_NEXT_RUN'), id: 'next', width: 300, readOnly: true}
|
||||
|
||||
]
|
||||
}
|
||||
],
|
||||
hidden : true
|
||||
});
|
||||
|
||||
var generalFields = new Ext.form.FieldSet({
|
||||
title: 'Properties',
|
||||
labelWidth: 100,
|
||||
items: [
|
||||
{xtype: 'label', fieldLabel: _('ID_TASK'), width: 150, id: 'fTask'},
|
||||
{xtype: 'textfield', fieldLabel: _('ID_DESCRIPTION'), width: 150, name: 'fDescription', allowBlank: false},
|
||||
{xtype: 'textfield', fieldLabel: _('ID_USER'), width: 150, name: 'fUser', allowBlank: false},
|
||||
{xtype: 'textfield', fieldLabel: _('ID_PASSWORD'), width: 150, inputType: 'password', name: 'fPassword', allowBlank: false},
|
||||
{
|
||||
fieldLabel : _('ID_TASK'),
|
||||
name : 'TAS_NAME',
|
||||
value : taskName,
|
||||
readOnly : true,
|
||||
allowBlank : false
|
||||
},{
|
||||
fieldLabel : _('ID_DESCRIPTION'),
|
||||
allowBlank : false,
|
||||
name : 'SCH_NAME'
|
||||
},{
|
||||
width : 120,
|
||||
xtype: 'combo',
|
||||
fieldLabel : _('ID_PERFORM_TASK'),
|
||||
name: 'fType',
|
||||
mode : 'local',
|
||||
triggerAction : 'all',
|
||||
forceSelection : true,
|
||||
allowBlank : false,
|
||||
value : '--select--',
|
||||
value : 'Daily',
|
||||
editable : false,
|
||||
fieldLabel : _('ID_PERFORM_TASK'),
|
||||
name : 'SCH_OPTION',
|
||||
displayField : 'name',
|
||||
valueField : 'value',
|
||||
submitValue : true,
|
||||
scope : _5678,
|
||||
store : new Ext.data.JsonStore({
|
||||
fields : ['name', 'value'],
|
||||
data :[
|
||||
{name : '--select--', value: '0',selected: true},
|
||||
{name : 'Daily', value: '1'},
|
||||
{name : 'Daily', value: '1', selected: true},
|
||||
{name : 'Weekly', value: '2'},
|
||||
{name : 'Monthly', value: '3'},
|
||||
{name : 'One time only',value: '4'}
|
||||
]
|
||||
}),
|
||||
width: 150,
|
||||
onSelect: function(record, index){
|
||||
var timeFieldset = workflow.caseSchedularForm.items.items[2];
|
||||
timeFieldset.expand();
|
||||
oPmosExt.hideSchOptions(caseSchedularForm,index);
|
||||
oPmosExt.hideSchOptions(performFields,index);
|
||||
this.setValue(record.data[this.valueField || this.displayField]);
|
||||
this.collapse();
|
||||
|
||||
}
|
||||
}
|
||||
]},{
|
||||
xtype : 'fieldset',
|
||||
title : _('ID_SELECT_DATE_TIME'),
|
||||
collapsible : false,
|
||||
autoHeight : true,
|
||||
buttonAlign : 'center',
|
||||
defaults : {width: 210},
|
||||
defaultType : 'textfield',
|
||||
},
|
||||
{xtype: 'hidden', name: 'pro_uid'},
|
||||
{xtype: 'hidden', name: 'evn_uid'},
|
||||
{xtype: 'hidden', name: 'tas_uid'},
|
||||
{xtype: 'hidden', name: 'usr_uid'},
|
||||
{name: 'SCH_DAYS_PERFORM_TASK', hidden: true, value: 1},
|
||||
{name: 'SCH_WEEK_DAYS', hidden: true},
|
||||
{name: 'SCH_MONTHS', hidden: true}
|
||||
]
|
||||
});
|
||||
|
||||
var performFields = new Ext.form.FieldSet({
|
||||
title: 'Scheduler Details',
|
||||
labelWidth: 70,
|
||||
items: [
|
||||
{
|
||||
xtype : 'datefield',
|
||||
name : 'SCH_START_DATE',
|
||||
format : 'Y-m-d',
|
||||
fieldLabel : _('ID_START_DATE')
|
||||
},{
|
||||
xtype : 'datefield',
|
||||
name :'SCH_END_DATE',
|
||||
format : 'Y-m-d',
|
||||
fieldLabel : _('ID_END_DATE')
|
||||
},{
|
||||
fieldLabel : _('ID_EXECUTION_TIME'),
|
||||
name : 'SCH_START_TIME'
|
||||
},{
|
||||
{xtype: 'datefield', name: 'SCH_START_DATE',format: 'Y-m-d',fieldLabel: _('ID_START_DATE'), allowBlank: false, width: 150},
|
||||
{xtype: 'datefield', name: 'SCH_END_DATE',format: 'Y-m-d', fieldLabel : _('ID_END_DATE'), allowBlank: true, width: 150},
|
||||
{xtype: 'textfield', fieldLabel : _('ID_EXECUTION_TIME'), name: 'SCH_START_TIME', width: 80, allowBlank: false},
|
||||
{ //3
|
||||
xtype : 'checkboxgroup',
|
||||
fieldLabel : _('ID_SELECT_DAY_OF_WEEK'),
|
||||
name : 'SCH_WEEK_DAY',
|
||||
hidden : true,
|
||||
columns : 2,
|
||||
items : [
|
||||
{boxLabel: 'Monday', name: '1', checked: true},
|
||||
{boxLabel: 'Tuesday', name: '2'},
|
||||
{boxLabel: 'Wednesday', name: '3'},
|
||||
{boxLabel: 'Thursday', name: '4'},
|
||||
{boxLabel: 'Friday', name: '5'},
|
||||
{boxLabel: 'Saturday', name: '6'},
|
||||
{boxLabel: 'Sunday', name: '7'}
|
||||
]
|
||||
},{
|
||||
width : 100,
|
||||
{boxLabel: 'Monday', name: 'W1', checked: true},
|
||||
{boxLabel: 'Tuesday', name: 'W2'},
|
||||
{boxLabel: 'Wednesday', name: 'W3'},
|
||||
{boxLabel: 'Thursday', name: 'W4'},
|
||||
{boxLabel: 'Friday', name: 'W5'},
|
||||
{boxLabel: 'Saturday', name: 'W6'},
|
||||
{boxLabel: 'Sunday', name: 'W7'}
|
||||
],
|
||||
allowBlank: false
|
||||
},
|
||||
{ //4
|
||||
labelWidth : 0,
|
||||
xtype : 'combo',
|
||||
mode : 'local',
|
||||
@@ -548,38 +614,38 @@ pmosExt.prototype.popCaseSchedular= function(_5678){
|
||||
forceSelection : true,
|
||||
hidden : true,
|
||||
editable : false,
|
||||
allowBlank: false,
|
||||
name : 'SCH_START_DAY',
|
||||
displayField : 'name',
|
||||
valueField : 'value',
|
||||
value : 'Day of Month',
|
||||
store : new Ext.data.JsonStore({
|
||||
fields : ['name', 'value'],
|
||||
data : [
|
||||
{name : 'Day of Month', value: '1'},
|
||||
{name : 'The Day', value: '2'},
|
||||
{name : 'The Day', value: '2', selected: true},
|
||||
]
|
||||
}),
|
||||
onSelect: function(record, index){
|
||||
var timefieldset = workflow.caseSchedularForm.items.items[2];
|
||||
var fields = timefieldset.items.items;
|
||||
var fieldsToToggle = new Array();
|
||||
if(index == 0) { //Select
|
||||
var fields = performFields.items.items;
|
||||
if (index==0){
|
||||
fieldsToToggle = [fields[5],fields[6]];
|
||||
oPmosExt.toggleFields(fieldsToToggle, false);
|
||||
|
||||
fieldsToToggle = [fields[7]];
|
||||
oPmosExt.toggleFields(fieldsToToggle, true);
|
||||
}
|
||||
else {
|
||||
}else{
|
||||
fieldsToToggle = [fields[5],fields[6]];
|
||||
oPmosExt.toggleFields(fieldsToToggle, true);
|
||||
|
||||
fieldsToToggle = [fields[7]];
|
||||
oPmosExt.toggleFields(fieldsToToggle, false);
|
||||
}
|
||||
this.setValue(record.data[this.valueField || this.displayField]);
|
||||
this.collapse();
|
||||
}
|
||||
},{
|
||||
},
|
||||
width : 100
|
||||
},
|
||||
{ //5
|
||||
width : 100,
|
||||
labelWidth : 0,
|
||||
xtype : 'combo',
|
||||
@@ -588,20 +654,23 @@ pmosExt.prototype.popCaseSchedular= function(_5678){
|
||||
forceSelection : true,
|
||||
hidden : true,
|
||||
editable : false,
|
||||
allowBlank: false,
|
||||
name : 'SCH_START_DAY_OPT_2_WEEKS',
|
||||
displayField : 'name',
|
||||
valueField : 'value',
|
||||
value : 'First',
|
||||
store : new Ext.data.JsonStore({
|
||||
fields : ['name', 'value'],
|
||||
data : [
|
||||
{name : 'First', value: '1'},
|
||||
{name : 'First', value: '1', selected: true},
|
||||
{name : 'Second', value: '2'},
|
||||
{name : 'Third', value: '3'},
|
||||
{name : 'Fourth', value: '4'},
|
||||
{name : 'Last', value: '5'},
|
||||
]
|
||||
})
|
||||
},{
|
||||
},
|
||||
{ //6
|
||||
width : 100,
|
||||
labelWidth : 0,
|
||||
xtype : 'combo',
|
||||
@@ -610,13 +679,15 @@ pmosExt.prototype.popCaseSchedular= function(_5678){
|
||||
forceSelection: true,
|
||||
hidden : true,
|
||||
editable : false,
|
||||
allowBlank: false,
|
||||
name : 'SCH_START_DAY_OPT_2_DAYS_WEEK',
|
||||
displayField : 'name',
|
||||
valueField : 'value',
|
||||
value : 'Monday',
|
||||
store : new Ext.data.JsonStore({
|
||||
fields : ['name', 'value'],
|
||||
data : [
|
||||
{name : 'Monday', value: '1'},
|
||||
{name : 'Monday', value: '1', selected: true},
|
||||
{name : 'Tuesday', value: '2'},
|
||||
{name : 'Wednesday', value: '3'},
|
||||
{name : 'Thursday', value: '4'},
|
||||
@@ -625,228 +696,142 @@ pmosExt.prototype.popCaseSchedular= function(_5678){
|
||||
{name : 'Sunday', value: '7'},
|
||||
]
|
||||
})
|
||||
},{
|
||||
name : 'SCH_START_DAY_OPT_1',
|
||||
hidden : true,
|
||||
value : 1
|
||||
},{
|
||||
},
|
||||
{xtype : 'textfield', name: 'SCH_START_DAY_OPT_1', hidden: true, value: 1, width: 40, allowBlank: false},//7
|
||||
{//8
|
||||
xtype : 'checkboxgroup',
|
||||
fieldLabel: _('ID_OF_THE_MONTH'),
|
||||
name : 'SCH_MONTH',
|
||||
hidden: true,
|
||||
// Put all controls in a single column with width 100%
|
||||
allowBlank: false,
|
||||
columns: 3,
|
||||
items: [
|
||||
{boxLabel : 'Jan', name: '1'},
|
||||
{boxLabel : 'Feb', name: '2'},
|
||||
{boxLabel : 'Mar', name: '3'},
|
||||
{boxLabel : 'Apr', name: '4'},
|
||||
{boxLabel : 'May', name: '5'},
|
||||
{boxLabel : 'Jun', name: '6'},
|
||||
{boxLabel : 'Jul', name: '7'},
|
||||
{boxLabel : 'Aug', name: '8'},
|
||||
{boxLabel : 'Sep', name: '9'},
|
||||
{boxLabel : 'Oct', name: '10'},
|
||||
{boxLabel : 'Nov', name: '11'},
|
||||
{boxLabel : 'Dec', name: '12'},
|
||||
{boxLabel : 'Jan', name: 'M1'},
|
||||
{boxLabel : 'Feb', name: 'M2'},
|
||||
{boxLabel : 'Mar', name: 'M3'},
|
||||
{boxLabel : 'Apr', name: 'M4'},
|
||||
{boxLabel : 'May', name: 'M5'},
|
||||
{boxLabel : 'Jun', name: 'M6'},
|
||||
{boxLabel : 'Jul', name: 'M7'},
|
||||
{boxLabel : 'Aug', name: 'M8'},
|
||||
{boxLabel : 'Sep', name: 'M9'},
|
||||
{boxLabel : 'Oct', name: 'M10'},
|
||||
{boxLabel : 'Nov', name: 'M11'},
|
||||
{boxLabel : 'Dec', name: 'M12'},
|
||||
]
|
||||
}]}
|
||||
}
|
||||
]
|
||||
});
|
||||
caseSchedularForm.render(document.body);
|
||||
var credentialFieldset = caseSchedularForm.items.items[0];
|
||||
var propertiesFieldset = caseSchedularForm.items.items[1];
|
||||
var timeFieldset = caseSchedularForm.items.items[2];
|
||||
|
||||
var evn_uid = workflow.currentSelection.id;
|
||||
//Loading Details into the form
|
||||
caseSchedularForm.form.load({
|
||||
url:'proxyCaseSchLoad?eid='+evn_uid,
|
||||
method:'GET',
|
||||
waitMsg:'Loading',
|
||||
success:function(form,action) {
|
||||
propertiesFieldset.show();
|
||||
timeFieldset.show();
|
||||
timeFieldset.expand();
|
||||
credentialFieldset.items.items[2].hide(); //Hide Test User
|
||||
credentialFieldset.items.items[3].show(); //Show Edit User
|
||||
var schedularDetails = Ext.util.JSON.decode(action.response.responseText);
|
||||
var schedularData = schedularDetails.data;
|
||||
|
||||
var aSchDay = new Array();
|
||||
aSchDay = schedularData.SCH_START_DAY.substr(0,schedularData.SCH_START_DAY.length-1).split("|");
|
||||
for(var i=0;i < aSchDay.length;i++)
|
||||
{
|
||||
if(i == 1)
|
||||
timeFieldset.items.items[5].setValue(aSchDay[i]);
|
||||
else if(i == 2)
|
||||
timeFieldset.items.items[6].setValue(aSchDay[i]);
|
||||
else if(i == 3)
|
||||
timeFieldset.items.items[8].setValue(aSchDay[i]);
|
||||
}
|
||||
|
||||
var aSchWeek = new Array();
|
||||
aSchWeek = schedularData.SCH_WEEK_DAYS.substr(0,schedularData.SCH_WEEK_DAYS.length-1).split("|");
|
||||
for(var i=0;i <aSchWeek.length; i++)
|
||||
{
|
||||
var index1 = aSchWeek[i];
|
||||
|
||||
}
|
||||
timeFieldset.items.items[6].setValue(0,1,2,3);
|
||||
var index = propertiesFieldset.items.items[2].value;
|
||||
|
||||
timeFieldset.expand();
|
||||
var sch_month = credentialFieldset.items.items[9].getValue();
|
||||
var aSchMonth = new Array();
|
||||
var sSchMonth = '';
|
||||
aSchMonth = sch_month.substr(0,sch_month.length-1).split("|");
|
||||
for(var i=0;i<aSchMonth.length;i++)
|
||||
{
|
||||
var index1 = aSchMonth[i];
|
||||
timeFieldset.items.items[8].items.items[index1].checked = true;
|
||||
}
|
||||
// timeFieldset.items.items[8].setValue(sSchMonth);
|
||||
oPmosExt.hideSchOptions(caseSchedularForm,index);
|
||||
},
|
||||
failure:function(form, action) {
|
||||
//PMExt.notify( _('ID_STATUS') , _('ID_FAILURE') );
|
||||
}
|
||||
});
|
||||
|
||||
workflow.caseSchedularForm = caseSchedularForm;
|
||||
|
||||
//hide Usr_uid and pro_uid labels field
|
||||
credentialFieldset.items.items[4].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[5].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[6].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[7].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[8].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[9].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[10].getEl().up('.x-form-item').setDisplayed(false);
|
||||
credentialFieldset.items.items[11].getEl().up('.x-form-item').setDisplayed(false);
|
||||
//Set pro_uid field
|
||||
credentialFieldset.items.items[5].setValue(pro_uid);
|
||||
//Set pro_uid field
|
||||
credentialFieldset.items.items[7].setValue(task_uid);
|
||||
//Set Event UID
|
||||
credentialFieldset.items.items[10].setValue(workflow.currentSelection.id);
|
||||
|
||||
propertiesFieldset.hide();
|
||||
timeFieldset.hide();
|
||||
// oPmosExt.addExtJsWindow(caseSchedularForm,600,550,'Add New Case scheduler');
|
||||
var window = new Ext.Window({
|
||||
title : _('ID_START_TIME_EVENT'),
|
||||
collapsible : false,
|
||||
maximizable : false,
|
||||
width : 500,
|
||||
height : 500,
|
||||
minWidth : 300,
|
||||
minHeight : 200,
|
||||
var editForm = new Ext.FormPanel({
|
||||
frame : true,
|
||||
url: 'caseSchedulerProxy/save',
|
||||
id : 'editForm',
|
||||
buttonAlign : 'center',
|
||||
layout : 'fit',
|
||||
autoHeight : true,
|
||||
items: [{
|
||||
layout: 'column',
|
||||
autoScroll: true,
|
||||
autoHeight: true,
|
||||
items:[
|
||||
{columnWidth:.5, padding: 2, layout: 'form', items: [generalFields]},
|
||||
{columnWidth:.5, padding: 2, layout: 'form', items: [performFields]}
|
||||
]
|
||||
}],
|
||||
buttons: [saveButton, cancelButton],
|
||||
hidden: true
|
||||
});
|
||||
|
||||
var caseSchedulerWindow = new Ext.Window({
|
||||
title: _('ID_START_TIME_EVENT'),
|
||||
layout : 'fit',
|
||||
plain : true,
|
||||
bodyStyle : 'padding:5px;',
|
||||
buttonAlign : 'center',
|
||||
items : caseSchedularForm,
|
||||
buttons : [{
|
||||
text: _('ID_SAVE'),
|
||||
handler: function(){
|
||||
//Set SCH_WEEK_DAYS field
|
||||
var sch_week_days = timeFieldset.items.items[3].getValue();
|
||||
var sch_week_day = new Array();
|
||||
for(i=0;i< sch_week_days.length;i++)
|
||||
{
|
||||
sch_week_day[i] = sch_week_days[i].name;
|
||||
autoHeight : true,
|
||||
width : 600,
|
||||
modal : true,
|
||||
items: [summaryForm, editForm],
|
||||
tbar: [newButton/*, editButton*/, deleteButton, changeButton]
|
||||
});
|
||||
|
||||
workflow.caseSchedulerWindow = caseSchedulerWindow;
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: 'caseSchedulerProxy/load',
|
||||
params: {PRO_UID: pro_uid, EVN_UID: evn_uid},
|
||||
success: function (r,o){
|
||||
var resp = Ext.util.JSON.decode(r.responseText);
|
||||
if (resp.success){
|
||||
caseSchedulerData = resp.data;
|
||||
editButton.show();
|
||||
deleteButton.show();
|
||||
newButton.hide();
|
||||
changeButton.show();
|
||||
summaryForm.getForm().reset();
|
||||
Ext.getCmp('description').setText(caseSchedulerData.SCH_NAME);
|
||||
Ext.getCmp('task').setText(taskName);
|
||||
Ext.getCmp('status').setText(caseSchedulerData.SCH_STATE);
|
||||
Ext.getCmp('next').setText(caseSchedulerData.SCH_TIME_NEXT_RUN);
|
||||
Ext.getCmp('last').setText(caseSchedulerData.SCH_LAST_RUN_TIME);
|
||||
summaryForm.show();
|
||||
}else{
|
||||
editButton.hide();
|
||||
deleteButton.hide();
|
||||
newButton.show();
|
||||
changeButton.hide();
|
||||
summaryForm.getForm().reset();
|
||||
Ext.getCmp('description').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('task').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('status').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('next').setText(_('ID_NOT_DEFINED'));
|
||||
Ext.getCmp('last').setText(_('ID_NOT_DEFINED'));
|
||||
summaryForm.show();
|
||||
}
|
||||
credentialFieldset.items.items[8].setValue(sch_week_day);
|
||||
var sch_months = timeFieldset.items.items[8].getValue();
|
||||
var sch_month = new Array();
|
||||
for(var i=0;i< sch_months.length;i++)
|
||||
{
|
||||
sch_month[i] = sch_months[i].name;
|
||||
}
|
||||
credentialFieldset.items.items[9].setValue(sch_month);
|
||||
caseSchedularForm.getForm().submit({
|
||||
waitMsg: 'Saving...', // Wait Message
|
||||
success: function () { // When saving data success
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_CASE_SCHEDULER_SAVED') );
|
||||
},
|
||||
failure: function () { // when saving data failed
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_AUTHENTICATION_FAILED') );
|
||||
failure: function(r,o){
|
||||
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED'));
|
||||
}
|
||||
});
|
||||
}
|
||||
},{
|
||||
text: _('ID_CANCEL'),
|
||||
handler: function(){
|
||||
window.close();
|
||||
}
|
||||
}]
|
||||
});
|
||||
window.show();
|
||||
|
||||
|
||||
caseSchedulerWindow.show();
|
||||
}
|
||||
pmosExt.prototype.hideSchOptions = function(formObj,index)
|
||||
{
|
||||
var credentialFieldset = formObj.items.items[0];
|
||||
var propertiesFieldset = formObj.items.items[1];
|
||||
var timeFieldset = formObj.items.items[2];
|
||||
|
||||
var fields = timeFieldset.items.items;
|
||||
pmosExt.prototype.hideSchOptions = function(formObj,index){
|
||||
var fields = formObj.items.items;
|
||||
var fieldsToToggle = new Array();
|
||||
if(index == 0){ //Select
|
||||
fieldsToToggle = [fields[0],fields[1],fields[2],fields[3],fields[4],fields[5],fields[6],fields[7],fields[8]];
|
||||
this.toggleFields(fieldsToToggle,false);
|
||||
}
|
||||
if(index == 1){ //Daily
|
||||
fieldsToToggle = [fields[0],fields[1],fields[2]];
|
||||
switch (index){
|
||||
case 0:
|
||||
fieldsToToggle = [fields[1]];
|
||||
this.toggleFields(fieldsToToggle, true);
|
||||
|
||||
fieldsToToggle = [fields[3],fields[4],fields[5],fields[6],fields[7],fields[8]];
|
||||
this.toggleFields(fieldsToToggle, false);
|
||||
}
|
||||
if(index == 2){//Weekly
|
||||
fieldsToToggle = [fields[0],fields[1],fields[2],fields[3]];
|
||||
break;
|
||||
case 1:
|
||||
fieldsToToggle = [fields[1], fields[3]];
|
||||
this.toggleFields(fieldsToToggle, true);
|
||||
|
||||
fieldsToToggle = [fields[4],fields[5],fields[6],fields[7],fields[8]];
|
||||
this.toggleFields(fieldsToToggle, false);
|
||||
}
|
||||
if(index == 3){//Monthly
|
||||
fieldsToToggle = [fields[0],fields[1],fields[2],fields[4],fields[8]];
|
||||
break;
|
||||
case 2:
|
||||
fieldsToToggle = [fields[1],fields[4],fields[8]];
|
||||
this.toggleFields(fieldsToToggle, true);
|
||||
|
||||
fieldsToToggle = [fields[3],fields[5],fields[6],fields[7]];
|
||||
this.toggleFields(fieldsToToggle, false);
|
||||
|
||||
var sSchValue = fields[3].getValue();
|
||||
if(sSchValue[0].name == '1'){
|
||||
var sw = fields[4].getValue();
|
||||
if (sw == '1'){
|
||||
fieldsToToggle = [fields[5],fields[6]];
|
||||
this.toggleFields(fieldsToToggle, true);
|
||||
|
||||
}else{
|
||||
fieldsToToggle = [fields[7]];
|
||||
this.toggleFields(fieldsToToggle,false);
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldsToToggle = [fields[4],fields[5]];
|
||||
this.toggleFields(fieldsToToggle,false);
|
||||
|
||||
fieldsToToggle = [fields[6]];
|
||||
this.toggleFields(fieldsToToggle, true);
|
||||
}
|
||||
|
||||
//if(sSchValue == 3)
|
||||
}
|
||||
if(index == 4){//One-Time Only
|
||||
fieldsToToggle = [fields[0],fields[2]];
|
||||
this.toggleFields(fieldsToToggle,true);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
fieldsToToggle = [fields[1],fields[3],fields[4],fields[5],fields[6],fields[7],fields[8]];
|
||||
this.toggleFields(fieldsToToggle, false);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pmosExt.prototype.popTaskNotification= function(_5678){
|
||||
@@ -978,11 +963,13 @@ pmosExt.prototype.popTaskNotification= function(_5678){
|
||||
pmosExt.prototype.toggleFields = function(field,bool){
|
||||
for(var i=0;i<field.length;i++){
|
||||
if(typeof field[i] != 'undefined'){
|
||||
if(bool)
|
||||
if(bool){
|
||||
field[i].show();
|
||||
else
|
||||
field[i].enable();
|
||||
}else{
|
||||
field[i].hide();
|
||||
|
||||
field[i].disable();
|
||||
}
|
||||
//Hide-Show label
|
||||
field[i].getEl().up('.x-form-item').setDisplayed(bool);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user