Case Scheduler - Start Timer Event BPMN initial version.

This commit is contained in:
Enrique Ponce de Leon
2011-03-04 20:19:35 +00:00
parent 604fd4af58
commit 17cb6c83d9
5 changed files with 1003 additions and 521 deletions

View File

@@ -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);
}

View File

@@ -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()){

View 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

View File

@@ -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']);

View File

@@ -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',
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') );
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(){
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(){
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') );
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
}]
},{
xtype :'fieldset',
title : _('ID_PROPERTIES'),
collapsible : false,
autoHeight :true,
buttonAlign : 'center',
defaults : {width: 210},
});
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: [
{
fieldLabel : _('ID_TASK'),
name : 'TAS_NAME',
value : taskName,
readOnly : true,
allowBlank : false
},{
fieldLabel : _('ID_DESCRIPTION'),
allowBlank : false,
name : 'SCH_NAME'
},{
width : 120,
xtype : 'combo',
xtype :'fieldset',
title : _('ID_CASE_SCHEDULER_SUMMARY'),
collapsible: false,
autoHeight :true,
buttonAlign: 'center',
defaults : {width: 210},
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},
{
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);
oPmosExt.toggleFields(fieldsToToggle, false);
fieldsToToggle = [fields[7]];
oPmosExt.toggleFields(fieldsToToggle,true);
}
else {
oPmosExt.toggleFields(fieldsToToggle, true);
}else{
fieldsToToggle = [fields[5],fields[6]];
oPmosExt.toggleFields(fieldsToToggle,true);
oPmosExt.toggleFields(fieldsToToggle, true);
fieldsToToggle = [fields[7]];
oPmosExt.toggleFields(fieldsToToggle,false);
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%
hidden: true,
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') );
}
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
});
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,
autoScroll : 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]];
this.toggleFields(fieldsToToggle,true);
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]];
this.toggleFields(fieldsToToggle,true);
this.toggleFields(fieldsToToggle, false);
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]];
this.toggleFields(fieldsToToggle,true);
this.toggleFields(fieldsToToggle, false);
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'){
this.toggleFields(fieldsToToggle, false);
var sw = fields[4].getValue();
if (sw == '1'){
fieldsToToggle = [fields[5],fields[6]];
this.toggleFields(fieldsToToggle,true);
this.toggleFields(fieldsToToggle, true);
}else{
fieldsToToggle = [fields[7]];
this.toggleFields(fieldsToToggle,false);
this.toggleFields(fieldsToToggle, true);
}
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);
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);
}