Merge pull request #486 from marcoAntonioNina/BUG-9555
BUG 9555 Event log inside Process Designer SOLVED
This commit is contained in:
@@ -482,6 +482,8 @@ function saveLog($sSource, $sType, $sDescription)
|
||||
|
||||
G::verifyPath(PATH_DATA . 'log' . PATH_SEP, true);
|
||||
|
||||
//setExecutionMessage( PATH_DATA."log".PATH_SEP);
|
||||
|
||||
if ($sType == 'action') {
|
||||
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cron.log', 'a+');
|
||||
} else {
|
||||
|
||||
@@ -113,72 +113,80 @@ class AppEvent extends BaseAppEvent {
|
||||
}
|
||||
}
|
||||
|
||||
function getAppEventsCriteria($sProcessUid, $sStatus = '', $EVN_ACTION='') {
|
||||
try {
|
||||
require_once 'classes/model/Event.php';
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_UID);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::DEL_INDEX);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::EVN_UID);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ACTION_DATE);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ATTEMPTS);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_LAST_EXECUTION_DATE);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_STATUS);
|
||||
$oCriteria->addSelectColumn(EventPeer::PRO_UID);
|
||||
$oCriteria->addSelectColumn(EventPeer::EVN_WHEN_OCCURS);
|
||||
$oCriteria->addSelectColumn(EventPeer::EVN_ACTION);
|
||||
$oCriteria->addAsColumn('EVN_DESCRIPTION', 'C1.CON_VALUE');
|
||||
$oCriteria->addAsColumn('TAS_TITLE', 'C2.CON_VALUE');
|
||||
$oCriteria->addAsColumn('APP_TITLE', 'C3.CON_VALUE');
|
||||
$oCriteria->addAlias('C1', 'CONTENT');
|
||||
$oCriteria->addAlias('C2', 'CONTENT');
|
||||
$oCriteria->addAlias('C3', 'CONTENT');
|
||||
$oCriteria->addJoin(AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::LEFT_JOIN);
|
||||
$del = DBAdapter::getStringDelimiter();
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(EventPeer::EVN_UID, 'C1.CON_ID');
|
||||
$aConditions[] = array('C1.CON_CATEGORY', $del . 'EVN_DESCRIPTION' . $del);
|
||||
$aConditions[] = array('C1.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppEventPeer::APP_UID, AppDelegationPeer::APP_UID);
|
||||
$aConditions[] = array(AppEventPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppDelegationPeer::TAS_UID, 'C2.CON_ID');
|
||||
$aConditions[] = array('C2.CON_CATEGORY', $del . 'TAS_TITLE' . $del);
|
||||
$aConditions[] = array('C2.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppDelegationPeer::APP_UID, 'C3.CON_ID');
|
||||
$aConditions[] = array('C3.CON_CATEGORY', $del . 'APP_TITLE' . $del);
|
||||
$aConditions[] = array('C3.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(AppEventPeer::EVN_UID, '', Criteria::NOT_EQUAL);
|
||||
$oCriteria->add(EventPeer::PRO_UID, $sProcessUid);
|
||||
|
||||
if($EVN_ACTION != ''){
|
||||
$oCriteria->add(EventPeer::EVN_ACTION, $EVN_ACTION);
|
||||
}
|
||||
|
||||
switch ($sStatus) {
|
||||
case '':
|
||||
//Nothing
|
||||
break;
|
||||
case 'PENDING':
|
||||
$oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'OPEN');
|
||||
break;
|
||||
case 'COMPLETED':
|
||||
$oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'CLOSE');
|
||||
break;
|
||||
}
|
||||
$oCriteria->addDescendingOrderByColumn(AppEventPeer::APP_EVN_ACTION_DATE);
|
||||
return $oCriteria;
|
||||
function getAppEventsCriteria($sProcessUid='', $sStatus = '', $EVN_ACTION='') {
|
||||
try {
|
||||
require_once 'classes/model/Event.php';
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_UID);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::DEL_INDEX);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::EVN_UID);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ACTION_DATE);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ATTEMPTS);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_LAST_EXECUTION_DATE);
|
||||
$oCriteria->addSelectColumn(AppEventPeer::APP_EVN_STATUS);
|
||||
$oCriteria->addSelectColumn(EventPeer::PRO_UID);
|
||||
$oCriteria->addSelectColumn(EventPeer::EVN_WHEN_OCCURS);
|
||||
$oCriteria->addSelectColumn(EventPeer::EVN_ACTION);
|
||||
$oCriteria->addAsColumn('EVN_DESCRIPTION', 'C1.CON_VALUE');
|
||||
$oCriteria->addAsColumn('TAS_TITLE', 'C2.CON_VALUE');
|
||||
$oCriteria->addAsColumn('APP_TITLE', 'C3.CON_VALUE');
|
||||
$oCriteria->addAsColumn('PRO_TITLE', 'C4.CON_VALUE');
|
||||
$oCriteria->addAlias('C1', 'CONTENT');
|
||||
$oCriteria->addAlias('C2', 'CONTENT');
|
||||
$oCriteria->addAlias('C3', 'CONTENT');
|
||||
$oCriteria->addAlias('C4', 'CONTENT');
|
||||
$oCriteria->addJoin(AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::LEFT_JOIN);
|
||||
$del = DBAdapter::getStringDelimiter();
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(EventPeer::EVN_UID, 'C1.CON_ID');
|
||||
$aConditions[] = array('C1.CON_CATEGORY', $del . 'EVN_DESCRIPTION' . $del);
|
||||
$aConditions[] = array('C1.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppEventPeer::APP_UID, AppDelegationPeer::APP_UID);
|
||||
$aConditions[] = array(AppEventPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppDelegationPeer::TAS_UID, 'C2.CON_ID');
|
||||
$aConditions[] = array('C2.CON_CATEGORY', $del . 'TAS_TITLE' . $del);
|
||||
$aConditions[] = array('C2.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppDelegationPeer::APP_UID, 'C3.CON_ID');
|
||||
$aConditions[] = array('C3.CON_CATEGORY', $del . 'APP_TITLE' . $del);
|
||||
$aConditions[] = array('C3.CON_LANG', $del . SYS_LANG . $del);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(AppDelegationPeer::PRO_UID, 'C4.CON_ID');
|
||||
$aConditions[] = array('C4.CON_CATEGORY', $del . 'PRO_TITLE' . $del);
|
||||
$aConditions[] = array('C4.CON_LANG', $del . SYS_LANG . $del);
|
||||
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(AppEventPeer::EVN_UID, '', Criteria::NOT_EQUAL);
|
||||
if($sProcessUid != ''){
|
||||
$oCriteria->add(EventPeer::PRO_UID, $sProcessUid);
|
||||
}
|
||||
if($EVN_ACTION != ''){
|
||||
$oCriteria->add(EventPeer::EVN_ACTION, $EVN_ACTION);
|
||||
}
|
||||
switch ($sStatus) {
|
||||
case '':
|
||||
//Nothing
|
||||
break;
|
||||
case 'PENDING':
|
||||
$oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'OPEN');
|
||||
break;
|
||||
case 'COMPLETED':
|
||||
$oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'CLOSE');
|
||||
break;
|
||||
}
|
||||
//$oCriteria->addDescendingOrderByColumn(AppEventPeer::APP_EVN_ACTION_DATE);
|
||||
return $oCriteria;
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
}
|
||||
}
|
||||
|
||||
function executeEvents($sNow, $debug=false, &$log=array()) {
|
||||
|
||||
|
||||
@@ -346,6 +346,8 @@ class CaseScheduler extends BaseCaseScheduler {
|
||||
case '4' :
|
||||
$aRow ['SCH_STATE'] = 'PROCESSED';
|
||||
break;
|
||||
case '5' :
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
@@ -505,7 +507,7 @@ class CaseScheduler extends BaseCaseScheduler {
|
||||
$newCaseLog->saveLogParameters ( $paramsLog );
|
||||
$newCaseLog->save ();
|
||||
|
||||
if ($sOption != '4') {
|
||||
if ($sOption != '4' && $sOption != '5') {
|
||||
$nSchLastRunTime = $sActualTime;
|
||||
|
||||
$dEstimatedDate = $this->updateNextRun ( $sOption, $sValue, $sActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths );
|
||||
@@ -521,12 +523,14 @@ class CaseScheduler extends BaseCaseScheduler {
|
||||
|
||||
$nSchTimeNextRun = $dEstimatedDate;
|
||||
$this->updateDate ( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
|
||||
} else {
|
||||
} elseif($sOption != '5'){
|
||||
$Fields = $this->Load ( $sSchedulerUid );
|
||||
$Fields ['SCH_LAST_STATE'] = $aRow ['SCH_STATE'];
|
||||
$Fields ['SCH_LAST_RUN_TIME'] = $Fields ['SCH_TIME_NEXT_RUN'];
|
||||
$Fields ['SCH_STATE'] = 'PROCESSED';
|
||||
$this->Update ( $Fields );
|
||||
} else {
|
||||
|
||||
}
|
||||
} else if ($sActualDataHour == $dActualSysHour && $sActualDataMinutes <= $dActualSysMinutes) {
|
||||
|
||||
@@ -629,7 +633,7 @@ class CaseScheduler extends BaseCaseScheduler {
|
||||
$newCaseLog->saveLogParameters ( $paramsLog );
|
||||
$newCaseLog->save ();
|
||||
|
||||
if ($sOption != '4') {
|
||||
if ($sOption != '4' && $sOption != '5') {
|
||||
$nSchLastRunTime = $sActualTime;
|
||||
|
||||
$dEstimatedDate = $this->updateNextRun ( $sOption, $sValue, $sActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths );
|
||||
@@ -646,12 +650,24 @@ class CaseScheduler extends BaseCaseScheduler {
|
||||
$nSchTimeNextRun = $dEstimatedDate;
|
||||
|
||||
$this->updateDate ( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
|
||||
} else {
|
||||
} elseif ($sOption != '5'){
|
||||
$Fields = $this->Load ( $sSchedulerUid );
|
||||
$Fields ['SCH_LAST_STATE'] = $aRow ['SCH_STATE'];
|
||||
$Fields ['SCH_LAST_RUN_TIME'] = $Fields ['SCH_TIME_NEXT_RUN'];
|
||||
$Fields ['SCH_STATE'] = 'PROCESSED';
|
||||
$this->Update ( $Fields );
|
||||
} else {
|
||||
$nSchLastRunTime = $sActualTime;
|
||||
$Fields = $this->Load ( $sSchedulerUid );
|
||||
$Fields ['SCH_LAST_RUN_TIME'] = $Fields ['SCH_TIME_NEXT_RUN'];
|
||||
|
||||
$nSchTimeNextRun = strtotime($Fields ['SCH_TIME_NEXT_RUN']);
|
||||
$nextRun = $Fields ['SCH_REPEAT_EVERY']*60*60;
|
||||
$nSchTimeNextRun += $nextRun;
|
||||
$nSchTimeNextRun = date("Y-m-d H:i", $nSchTimeNextRun );
|
||||
|
||||
|
||||
$this->updateDate ( $sSchedulerUid, $nSchTimeNextRun, $nSchLastRunTime );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('PM_TABLES', '../pmTables', G::LoadTranslation('ID_ADDITIONAL_TABLES'), 'icon-tables.png','', 'settings');
|
||||
|
||||
$G_TMP_MENU->AddIdRawOption('WEBSERVICES', 'webServices', G::LoadTranslation('ID_WEB_SERVICES'), 'icon-webservices.png', '', 'settings');
|
||||
$G_TMP_MENU->AddIdRawOption('LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', G::LoadTranslation('ID_LOG_CASE_SCHEDULER'), "icon-logs-list.png",'', 'settings');
|
||||
//$G_TMP_MENU->AddIdRawOption('LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', G::LoadTranslation('ID_LOG_CASE_SCHEDULER'), "icon-logs-list.png",'', 'settings');
|
||||
$G_TMP_MENU->AddIdRawOption('LOGIN', 'loginSettings', G::LoadTranslation('LOGIN'), "",'', 'settings');
|
||||
$G_TMP_MENU->AddIdRawOption('DASHBOARD', '../dashboard/dashletsList', ucfirst(G::LoadTranslation('ID_DASHBOARD')), '', '', 'settings');
|
||||
}
|
||||
@@ -82,4 +82,9 @@ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('SYSTEM', '../admin/system', G::LoadTranslation('ID_SYSTEM'), '', '', 'settings');
|
||||
}
|
||||
|
||||
if ($RBAC->userCanAccess('PM_SETUP') == 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('EVENT', '../events/eventList', G::LoadTranslation('ID_EVENTS'), '', '', 'logs');
|
||||
$G_TMP_MENU->AddIdRawOption('LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', G::LoadTranslation('ID_LOG_CASE_SCHEDULER'), "icon-logs-list.png",'', 'logs');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -63,17 +63,19 @@ try {
|
||||
$sOption = $_POST['form']['SCH_OPTION'];
|
||||
$aData['SCH_OPTION'] = $sOption;
|
||||
|
||||
if ($_POST['form']['SCH_START_DATE']!=''){
|
||||
$sDateTmp = $_POST['form']['SCH_START_DATE'];
|
||||
} else {
|
||||
$sDateTmp = date('Y-m-d');
|
||||
}
|
||||
$sTimeTmp = $_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));
|
||||
|
||||
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
|
||||
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
|
||||
|
||||
if ($_POST['form']['SCH_START_DATE']!=''){
|
||||
$sDateTmp = $_POST['form']['SCH_START_DATE'];
|
||||
} else {
|
||||
$sDateTmp = date('Y-m-d');
|
||||
}
|
||||
$sTimeTmp = $_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));
|
||||
|
||||
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
|
||||
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
|
||||
|
||||
$sValue = '';
|
||||
$sDaysPerformTask = '';
|
||||
@@ -161,7 +163,8 @@ try {
|
||||
|
||||
|
||||
}
|
||||
if(($sOption!='1') && ($sOption!='4')) {
|
||||
echo "<br>sOption: ".$sOption;
|
||||
if(($sOption!='1') && ($sOption!='4') && ($sOption!='5') ) {
|
||||
if ($sStartDay==''){
|
||||
$sStartDay = date('Y-m-d');
|
||||
}
|
||||
@@ -190,8 +193,17 @@ try {
|
||||
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
|
||||
}
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
|
||||
if ($sOption == 5) {
|
||||
$aData['SCH_START_TIME'] = time();
|
||||
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
|
||||
$nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
|
||||
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
|
||||
$date = $aData['SCH_START_TIME'];
|
||||
$date += $nextRun;
|
||||
$date = date("Y-m-d H:i", $date );
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $date;
|
||||
}
|
||||
}
|
||||
|
||||
if(trim($_POST['form']['SCH_END_DATE'])!=''){
|
||||
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
|
||||
}
|
||||
|
||||
@@ -46,7 +46,6 @@ try {
|
||||
if (empty($_POST)) {
|
||||
die('The information sended is empty!');
|
||||
}
|
||||
|
||||
$aData['SCH_UID'] = $_POST['form']['SCH_UID'];
|
||||
$aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
|
||||
$aData['PRO_UID'] = $_POST['form']['PRO_UID'];
|
||||
@@ -162,7 +161,7 @@ try {
|
||||
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
|
||||
}
|
||||
// if the start date has changed then recalculate the next run time
|
||||
if ($_POST['form']['SCH_START_DATE']==$_POST['form']['PREV_SCH_START_DATE']){
|
||||
if ($_POST['form']['SCH_START_DATE']==$_POST['form']['PREV_SCH_START_DATE']) {
|
||||
$recalculateDate = false;
|
||||
} else {
|
||||
$recalculateDate = true;
|
||||
@@ -177,7 +176,7 @@ try {
|
||||
// var_dump($recalculateTime);
|
||||
// die();
|
||||
$nActualTime = $_POST['form']['SCH_START_TIME'];
|
||||
if(($sOption!='1') && ($sOption!='4')) {
|
||||
if(($sOption!='1') && ($sOption!='4') && ($sOption!='5')) {
|
||||
if ($sStartDay==''){
|
||||
$sStartDay = date('Y-m-d');
|
||||
}
|
||||
@@ -230,6 +229,18 @@ try {
|
||||
// var_dump($recalculateTime);
|
||||
// var_dump($aData['SCH_TIME_NEXT_RUN']);
|
||||
// die;
|
||||
if ($sOption=='5') {
|
||||
$date = $oCaseScheduler->getSchLastRunTime();
|
||||
if ($date == null) {
|
||||
$date = $oCaseScheduler->getSchStartTime();
|
||||
}
|
||||
$date = strtotime($date);
|
||||
$nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
|
||||
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
|
||||
$date += $nextRun;
|
||||
$date = date("Y-m-d H:i", $date );
|
||||
$aData['SCH_TIME_NEXT_RUN'] = $date;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($_POST['form']['SCH_REPEAT_TASK_CHK'])){
|
||||
|
||||
95
workflow/engine/methods/events/eventList.php
Normal file
95
workflow/engine/methods/events/eventList.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/**
|
||||
* eventList.php
|
||||
*
|
||||
* ProcessMaker Open Source Edition
|
||||
* Copyright (C) 2004 - 2008 Colosa Inc.23
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*
|
||||
*/
|
||||
|
||||
global $RBAC;
|
||||
if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1) {
|
||||
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
|
||||
G::header('location: ../login/login');
|
||||
die;
|
||||
}
|
||||
|
||||
G::LoadClass('configuration');
|
||||
$c = new Configurations();
|
||||
$configPage = $c->getConfiguration('eventList', 'pageSize','',$_SESSION['USER_LOGGED']);
|
||||
$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
|
||||
|
||||
$G_MAIN_MENU = 'processmaker';
|
||||
$G_SUB_MENU = 'logs';
|
||||
$G_ID_MENU_SELECTED = 'logs';
|
||||
$G_ID_SUB_MENU_SELECTED = 'EVENT';
|
||||
|
||||
//get values for the comboBoxes
|
||||
$userUid = ( isset($_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '' ) ?
|
||||
$_SESSION['USER_LOGGED'] : null;
|
||||
$status = array(
|
||||
array('', G::LoadTranslation('ID_ALL')),
|
||||
array("PENDING",G::LoadTranslation('ID_OPEN')),
|
||||
array("COMPLETED",G::LoadTranslation('ID_CLOSE')));
|
||||
$type = array(
|
||||
array('', G::LoadTranslation('ID_ALL')),
|
||||
array('SEND_MESSAGE',G::LoadTranslation('ID_EVENT_MESSAGE')),
|
||||
array('EXECUTE_TRIGGER',G::LoadTranslation('ID_EVENT_TIMER')),
|
||||
array('EXECUTE_CONDITIONAL_TRIGGER',G::LoadTranslation('ID_EVENT_CONDITIONAL')));
|
||||
$processes = getProcessArray($userUid );
|
||||
|
||||
$G_PUBLISH = new Publisher;
|
||||
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addExtJsScript('events/eventList', false); //adding a javascript file .js
|
||||
$oHeadPublisher->addContent('events/eventList'); //adding a html file .html.
|
||||
//sending the columns to display in grid
|
||||
$oHeadPublisher->assign( 'typeValues', $type );
|
||||
$oHeadPublisher->assign( 'statusValues', $status );
|
||||
$oHeadPublisher->assign( 'processValues', $processes);
|
||||
|
||||
function getProcessArray ( $userUid ) {
|
||||
global $oAppCache;
|
||||
require_once ( "classes/model/AppCacheView.php" );
|
||||
|
||||
$processes = Array();
|
||||
$processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS') );
|
||||
|
||||
$cProcess = new Criteria('workflow');
|
||||
$cProcess->clearSelectColumns();
|
||||
$cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
|
||||
$cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
||||
$cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
|
||||
|
||||
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
||||
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($cProcess);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
|
||||
while($aRow = $oDataset->getRow()){
|
||||
$processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] );
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
return $processes;
|
||||
}
|
||||
|
||||
G::RenderPage('publish', 'extJs');
|
||||
|
||||
@@ -1,74 +1,74 @@
|
||||
<?php
|
||||
$req = $_POST['request'];
|
||||
//$req = $_POST['request'];
|
||||
$req = (isset($_POST['request']))? $_POST['request']:((isset($_REQUEST['request']))? $_REQUEST['request'] : 'No hayyy tal');
|
||||
|
||||
require_once 'classes/model/Content.php';
|
||||
|
||||
switch($req){
|
||||
case 'showUsers':
|
||||
case 'showUsers':
|
||||
|
||||
/*
|
||||
$sql = "SELECT USR_UID, USR_EMAIL, CONCAT(USR_FIRSTNAME, ' ' , USR_LASTNAME) AS USR_FULLNAME FROM USERS WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
|
||||
*/
|
||||
$sDataBase = 'database_' . strtolower(DB_ADAPTER);
|
||||
if(G::LoadSystemExist($sDataBase)){
|
||||
G::LoadSystem($sDataBase);
|
||||
$oDataBase = new database();
|
||||
$sConcat = $oDataBase->concatString("USR_FIRSTNAME", "' '" , "USR_LASTNAME") ;
|
||||
}
|
||||
$sql = " SELECT USR_UID, USR_EMAIL, " .
|
||||
$sConcat .
|
||||
" AS USR_FULLNAME FROM USERS " .
|
||||
" WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
|
||||
/*
|
||||
$sql = "SELECT USR_UID, USR_EMAIL, CONCAT(USR_FIRSTNAME, ' ' , USR_LASTNAME) AS USR_FULLNAME FROM USERS WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
|
||||
*/
|
||||
$sDataBase = 'database_' . strtolower(DB_ADAPTER);
|
||||
if (G::LoadSystemExist($sDataBase)) {
|
||||
G::LoadSystem($sDataBase);
|
||||
$oDataBase = new database();
|
||||
$sConcat = $oDataBase->concatString("USR_FIRSTNAME", "' '" , "USR_LASTNAME") ;
|
||||
}
|
||||
$sql = " SELECT USR_UID, USR_EMAIL, " .
|
||||
$sConcat .
|
||||
" AS USR_FULLNAME FROM USERS " .
|
||||
" WHERE USR_STATUS = 'ACTIVE' AND USR_EMAIL <> ''";
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$del = DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$del = DBAdapter::getStringDelimiter();
|
||||
|
||||
$con = Propel::getConnection("workflow");
|
||||
$stmt = $con->prepareStatement($sql);
|
||||
$rs = $stmt->executeQuery();
|
||||
$con = Propel::getConnection("workflow");
|
||||
$stmt = $con->prepareStatement($sql);
|
||||
$rs = $stmt->executeQuery();
|
||||
|
||||
$aRows[] = array('USR_UID'=>'char', 'USR_EMAIL'=>'char', 'USR_FULLNAME'=>'char');
|
||||
while($rs->next()){
|
||||
$aRows[] = array('USR_UID'=>$rs->getString('USR_UID'), 'USR_EMAIL'=>$rs->getString('USR_EMAIL'), 'USR_FULLNAME'=>$rs->getString('USR_FULLNAME'));
|
||||
}
|
||||
//echo '<pre>'; print_r($aRows);
|
||||
$aRows[] = array('USR_UID'=>'char', 'USR_EMAIL'=>'char', 'USR_FULLNAME'=>'char');
|
||||
while($rs->next()){
|
||||
$aRows[] = array('USR_UID'=>$rs->getString('USR_UID'), 'USR_EMAIL'=>$rs->getString('USR_EMAIL'), 'USR_FULLNAME'=>$rs->getString('USR_FULLNAME'));
|
||||
}
|
||||
//echo '<pre>'; print_r($aRows);
|
||||
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $aRows;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $aRows;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/usermailList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/usermailList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
case 'showGroups':
|
||||
G::LoadClass('groups');
|
||||
$groups = new Groups();
|
||||
$allGroups= $groups->getAllGroups();
|
||||
|
||||
case 'showGroups':
|
||||
$aRows[] = array('GRP_UID' => 'char', 'GROUP_TITLE' => 'char');
|
||||
foreach ($allGroups as $group) {
|
||||
$UID = htmlentities($group->getGrpUid());
|
||||
$GROUP_TITLE = strip_tags($group->getGrpTitle());
|
||||
$aRows[] = array('GRP_UID'=>$UID, 'GROUP_TITLE'=>$GROUP_TITLE);
|
||||
}
|
||||
|
||||
G::LoadClass('groups');
|
||||
$groups = new Groups();
|
||||
$allGroups= $groups->getAllGroups();
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $aRows;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
|
||||
$aRows[] = array('GRP_UID' => 'char', 'GROUP_TITLE' => 'char');
|
||||
foreach($allGroups as $group) {
|
||||
$UID = htmlentities($group->getGrpUid());
|
||||
$GROUP_TITLE = strip_tags($group->getGrpTitle());
|
||||
$aRows[] = array('GRP_UID'=>$UID, 'GROUP_TITLE'=>$GROUP_TITLE);
|
||||
}
|
||||
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $aRows;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/groupmailList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
|
||||
case 'showDynavars':
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/groupmailList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
case 'showDynavars':
|
||||
G::LoadClass('xmlfield_InputPM');
|
||||
$dynaformFields = getDynaformsVars($_SESSION['PROCESS'], false, false);
|
||||
$fields = array(array('id' => 'char', 'dynaform' => 'char', 'name' => 'char'));
|
||||
@@ -78,15 +78,70 @@ switch($req){
|
||||
'name' => '<a href="#" style="color: black;" onclick="e.toAdd(\'' . $dynaformField['sName'] . '\', \'' . $dynaformField['sName'] . '\', \'dyn\');oPanel.remove();return false;">@#' . $dynaformField['sName'] . '</a>', 'label' => $dynaformField['sLabel']);
|
||||
}
|
||||
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $fields;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
global $_DBArray;
|
||||
$_DBArray['virtualtable'] = $fields;
|
||||
$_SESSION['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('virtualtable');
|
||||
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/dynavarsList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'events/dynavarsList', $oCriteria);
|
||||
G::RenderPage('publish', 'raw');
|
||||
break;
|
||||
case 'eventList':
|
||||
|
||||
$start = (isset($_REQUEST['start']))? $_REQUEST['start'] : '0';
|
||||
$limit = (isset($_REQUEST['limit']))? $_REQUEST['limit'] : '25';
|
||||
$proUid = (isset($_REQUEST['process']))? $_REQUEST['process'] : '';
|
||||
$evenType = (isset($_REQUEST['type']))? $_REQUEST['type'] : '';
|
||||
$evenStatus = (isset($_REQUEST['status']))? $_REQUEST['status'] : '';
|
||||
$sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : '';
|
||||
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : 'ASC';
|
||||
|
||||
require_once 'classes/model/AppEvent.php';
|
||||
$oAppEvent = new AppEvent();
|
||||
// Initialize response object
|
||||
$response = new stdclass();
|
||||
$response->status = 'OK';
|
||||
|
||||
$criteria = new Criteria();
|
||||
$criteria = $oAppEvent->getAppEventsCriteria($proUid, $evenStatus, $evenType);
|
||||
$result = AppEventPeer::doSelectRS($criteria);
|
||||
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$data = Array();
|
||||
while( $result->next() ) {
|
||||
$data[] = $result->getRow();
|
||||
}
|
||||
$totalCount = count($data);
|
||||
|
||||
$criteria = new Criteria();
|
||||
$criteria = $oAppEvent->getAppEventsCriteria($proUid, $evenStatus, $evenType);
|
||||
if ($sort != '') {
|
||||
if ($dir == 'ASC') {
|
||||
$criteria->addAscendingOrderByColumn($sort);
|
||||
}
|
||||
else {
|
||||
$criteria->addDescendingOrderByColumn($sort);
|
||||
}
|
||||
} else {
|
||||
$oCriteria->addDescendingOrderByColumn(AppEventPeer::APP_EVN_ACTION_DATE);
|
||||
}
|
||||
if ($limit != '') {
|
||||
$criteria->setLimit($limit);
|
||||
$criteria->setOffset($start);
|
||||
}
|
||||
$result = AppEventPeer::doSelectRS($criteria);
|
||||
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$data = Array();
|
||||
$dataPro = array();
|
||||
$index = 0;
|
||||
while( $result->next() ) {
|
||||
$data[] = $result->getRow();
|
||||
}
|
||||
$response = array();
|
||||
$response['totalCount'] = $totalCount;
|
||||
$response['data'] = $data;
|
||||
die(G::json_encode($response));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -769,6 +769,12 @@ antes funcionaba.
|
||||
background-position:0 -17011px !important;
|
||||
}
|
||||
|
||||
.ICON_EVENT{
|
||||
/*ss_table_gear*/
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
background-position:0 -15517px !important;
|
||||
}
|
||||
|
||||
.ICON_PROCESS_CATEGORY{
|
||||
/*ss_sitemap_color*/
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
|
||||
@@ -793,6 +793,11 @@ antes funcionaba.
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
background-position:0 -17011px !important;
|
||||
}
|
||||
.ICON_EVENT{
|
||||
/*ss_table_gear*/
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
background-position:0 -15517px !important;
|
||||
}
|
||||
|
||||
.ICON_PROCESS_CATEGORY{
|
||||
/*ss_sitemap_color*/
|
||||
|
||||
@@ -766,6 +766,12 @@ antes funcionaba.
|
||||
background-position:0 -17011px !important;
|
||||
}
|
||||
|
||||
.ICON_EVENT{
|
||||
/*ss_table_gear*/
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
background-position:0 -15517px !important;
|
||||
}
|
||||
|
||||
.ICON_PROCESS_CATEGORY{
|
||||
/*ss_sitemap_color*/
|
||||
background-image:url( /images/icons_silk/sprites.png) !important;
|
||||
|
||||
3
workflow/engine/templates/events/eventList.html
Normal file
3
workflow/engine/templates/events/eventList.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<div style="padding: 15px">
|
||||
<div id="list-panel"></div>
|
||||
</div>
|
||||
295
workflow/engine/templates/events/eventList.js
Normal file
295
workflow/engine/templates/events/eventList.js
Normal file
@@ -0,0 +1,295 @@
|
||||
/*
|
||||
* @author: Marco Antonio
|
||||
* Agos 17st, 2012
|
||||
*/
|
||||
new Ext.KeyMap(document, [{
|
||||
key: Ext.EventObject.F5,
|
||||
fn: function(keycode, e) {
|
||||
if (! e.ctrlKey) {
|
||||
if (Ext.isIE) {
|
||||
// IE6 doesn't allow cancellation of the F5 key, so trick it into
|
||||
// thinking some other key was pressed (backspace in this case)
|
||||
e.browserEvent.keyCode = 8;
|
||||
}
|
||||
e.stopEvent();
|
||||
document.location = document.location;
|
||||
} else {
|
||||
Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
|
||||
}
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
var store;
|
||||
var cmodel;
|
||||
var eventsGrid;
|
||||
var actions;
|
||||
var filterStatus = '';
|
||||
|
||||
Ext.onReady(function(){
|
||||
Ext.QuickTips.init();
|
||||
var resultTpl = new Ext.XTemplate(
|
||||
'<tpl for="."><div class="x-combo-list-item" style="white-space:normal !important;word-wrap: break-word;">',
|
||||
'<span> {APP_PRO_TITLE}</span>',
|
||||
'</div></tpl>'
|
||||
);
|
||||
|
||||
var columnRenderer = function(data, metadata, record, rowIndex,columnIndex, store) {
|
||||
var new_text = metadata.style.split(';');
|
||||
var style = '';
|
||||
if ( !record.data['APP_EVN_LAST_EXECUTION_DATE'] ){
|
||||
record.data['APP_EVN_LAST_EXECUTION_DATE'] = ' - ';
|
||||
}
|
||||
switch (record.data['EVN_ACTION']) {
|
||||
case 'EXECUTE_TRIGGER': record.data['EVN_ACTION'] = _('ID_EVENT_TIMER');
|
||||
break
|
||||
case 'EXECUTE_CONDITIONAL_TRIGGER': record.data['EVN_ACTION'] = _('ID_EVENT_CONDITIONAL');
|
||||
break
|
||||
case 'SEND_MESSAGE': record.data['EVN_ACTION'] = _('ID_EVENT_MESSAGE');
|
||||
break
|
||||
}
|
||||
for (var i = 0; i < new_text.length -1 ; i++) {
|
||||
var chain = new_text[i] +";";
|
||||
if (chain.indexOf('width') == -1) {
|
||||
style = style + chain;
|
||||
}
|
||||
}
|
||||
metadata.attr = 'ext:qtip="' + data + '" style="'+ style +' white-space: normal; "';
|
||||
return data;
|
||||
};
|
||||
|
||||
// ComboBox Status
|
||||
var comboStatus = new Ext.form.ComboBox({
|
||||
width : 90,
|
||||
boxMaxWidth : 90,
|
||||
editable : false,
|
||||
mode : 'local',
|
||||
emptyText: _('ID_SELECT_STATUS'),
|
||||
store : new Ext.data.ArrayStore({
|
||||
fields: ['id', 'value'],
|
||||
data : statusValues
|
||||
}),
|
||||
valueField : 'id',
|
||||
displayField : 'value',
|
||||
triggerAction : 'all',
|
||||
listeners:{
|
||||
scope: this,
|
||||
'select': function() {
|
||||
filterStatus = comboStatus.value;
|
||||
store.setBaseParam( 'status', filterStatus);
|
||||
store.setBaseParam( 'start', 0);
|
||||
store.setBaseParam( 'limit', 25);
|
||||
store.load();
|
||||
}
|
||||
},
|
||||
iconCls: 'no-icon'
|
||||
});
|
||||
|
||||
// ComboBox Type
|
||||
var comboType = new Ext.form.ComboBox({
|
||||
width : 150,
|
||||
boxMaxWidth : 150,
|
||||
editable : false,
|
||||
mode : 'local',
|
||||
emptyText: _('ID_EMPTY_TYPE'),
|
||||
store : new Ext.data.ArrayStore({
|
||||
fields: ['id', 'value'],
|
||||
data : typeValues
|
||||
}),
|
||||
valueField : 'id',
|
||||
displayField : 'value',
|
||||
triggerAction : 'all',
|
||||
listeners:{
|
||||
scope: this,
|
||||
'select': function() {
|
||||
filterType = comboType.value;
|
||||
store.setBaseParam( 'type', filterType);
|
||||
store.setBaseParam( 'start', 0);
|
||||
store.setBaseParam( 'limit', 25);
|
||||
store.load();
|
||||
}
|
||||
},
|
||||
iconCls: 'no-icon'
|
||||
});
|
||||
|
||||
var comboProcess = new Ext.form.ComboBox({
|
||||
width : 200,
|
||||
boxMaxWidth : 200,
|
||||
editable : true,
|
||||
displayField : 'APP_PRO_TITLE',
|
||||
valueField : 'PRO_UID',
|
||||
forceSelection: false,
|
||||
emptyText: _('ID_EMPTY_PROCESSES'),
|
||||
selectOnFocus: true,
|
||||
tpl: resultTpl,
|
||||
|
||||
typeAhead: true,
|
||||
mode: 'local',
|
||||
autocomplete: true,
|
||||
triggerAction: 'all',
|
||||
|
||||
store : new Ext.data.ArrayStore({
|
||||
fields : ['PRO_UID','APP_PRO_TITLE'],
|
||||
data : processValues
|
||||
}),
|
||||
listeners:{
|
||||
scope: this,
|
||||
'select': function() {
|
||||
filterProcess = comboProcess.value;
|
||||
|
||||
store.setBaseParam('process', filterProcess);
|
||||
store.setBaseParam( 'start', 0);
|
||||
store.setBaseParam( 'limit', 25);
|
||||
store.load();
|
||||
}},
|
||||
iconCls: 'no-icon'
|
||||
});
|
||||
|
||||
actions = _addPluginActions([ {xtype: 'tbfill'}, _('ID_PROCESS'), comboProcess, '-', _('ID_TYPE'), comboType, '-', _('ID_STATUS'), comboStatus]);
|
||||
|
||||
var stepsFields = Ext.data.Record.create([
|
||||
{name : 'APP_EVN_ACTION_DATE', type: 'string'},
|
||||
{name : 'APP_EVN_ATTEMPTS', type: 'string'},
|
||||
{name : 'APP_EVN_LAST_EXECUTION_DATE', type: 'string'},
|
||||
{name : 'APP_EVN_STATUS', type: 'string'},
|
||||
{name : 'PRO_TITLE', type: 'string'},
|
||||
{name : 'EVN_ACTION', type: 'string'},
|
||||
{name : 'EVN_DESCRIPTION', type: 'string'},
|
||||
{name : 'TAS_TITLE', type: 'string'},
|
||||
{name : 'APP_TITLE', type: 'string'}
|
||||
]);
|
||||
|
||||
store = new Ext.data.Store( {
|
||||
proxy : new Ext.data.HttpProxy({
|
||||
url: 'eventsAjax?request=eventList'
|
||||
}),
|
||||
remoteSort : true,
|
||||
sortInfo : stepsFields,
|
||||
reader : new Ext.data.JsonReader( {
|
||||
root: 'data',
|
||||
totalProperty: 'totalCount',
|
||||
fields : [
|
||||
{name : 'APP_UID'},
|
||||
{name : 'DEL_INDEX'},
|
||||
{name : 'EVN_UID'},
|
||||
{name : 'APP_EVN_ACTION_DATE'},
|
||||
{name : 'APP_EVN_ATTEMPTS'},
|
||||
{name : 'APP_EVN_LAST_EXECUTION_DATE'},
|
||||
{name : 'APP_EVN_STATUS'},
|
||||
{name : 'PRO_UID'},
|
||||
{name : 'PRO_TITLE'},
|
||||
{name : 'EVN_WHEN_OCCURS'},
|
||||
{name : 'EVN_ACTION'},
|
||||
{name : 'EVN_DESCRIPTION'},
|
||||
{name : 'TAS_TITLE'},
|
||||
{name : 'APP_TITLE'}
|
||||
]
|
||||
})
|
||||
});
|
||||
store.setDefaultSort('APP_EVN_ACTION_DATE', 'desc');
|
||||
|
||||
cmodel = new Ext.grid.ColumnModel({
|
||||
defaults: {
|
||||
width: 50
|
||||
},
|
||||
columns: [
|
||||
{id:'APP_UID', dataIndex: 'APP_UID', hidden:true, hideable:false},
|
||||
{header: 'PRO_UID', dataIndex: 'PRO_UID', hidden:true, hideable:false},
|
||||
{header: 'EVN_UID', dataIndex: 'EVN_UID', hidden:true, hideable:false},
|
||||
{header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 150, hidden: false,renderer: columnRenderer, sortable: true},
|
||||
{header: _('ID_TASKS'), dataIndex: 'TAS_TITLE', width: 150, hidden: false,renderer: columnRenderer, sortable: true},
|
||||
{header: _('ID_CASE_TITLE'), dataIndex: 'APP_TITLE', width: 150, hidden: false,renderer: columnRenderer, sortable: true},
|
||||
{header: _('ID_EVENT_ACTION_DATE'), dataIndex: 'APP_EVN_ACTION_DATE', width: 90, hidden: false,renderer: columnRenderer, sortable: true},
|
||||
{header: _('ID_EVENT_LAST_EXECUTION_DATE'), dataIndex: 'APP_EVN_LAST_EXECUTION_DATE', width: 90, hidden: false ,renderer: columnRenderer, sortable: true},
|
||||
{header: _('ID_EVENT_DESCRIPTION'), dataIndex: 'EVN_DESCRIPTION', width: 150, hidden: false,renderer: columnRenderer},
|
||||
{header: _('ID_EVENT_ACTION'), dataIndex: 'EVN_ACTION', width: 100, hidden: false,renderer: columnRenderer},
|
||||
|
||||
{header: _('ID_DEL_INDEX'), dataIndex: 'DEL_INDEX', width: 40,hidden:true,hideable:false, renderer: columnRenderer},
|
||||
{header: _('APP_EVN_ATTEMPTS'), dataIndex: 'APP_EVN_ATTEMPTS', width: 50, hidden: true,hideable:false,renderer: columnRenderer},
|
||||
{header: _('ID_STATUS'), dataIndex: 'APP_EVN_STATUS', width: 40, hidden: false,renderer: columnRenderer}
|
||||
]
|
||||
});
|
||||
|
||||
bbarpaging = new Ext.PagingToolbar({
|
||||
pageSize : 25,
|
||||
store : store,
|
||||
displayInfo : true,
|
||||
displayMsg : _('ID_GRID_PAGE_DISPLAYING_EVENT_MESSAGE') + ' ',
|
||||
emptyMsg : _('ID_GRID_PAGE_NO_EVENT_MESSAGE')
|
||||
});
|
||||
|
||||
eventsGrid = new Ext.grid.GridPanel({
|
||||
region: 'center',
|
||||
layout: 'fit',
|
||||
id: 'eventsGrid',
|
||||
height:100,
|
||||
autoWidth : true,
|
||||
stateful : true,
|
||||
stateId : 'grid',
|
||||
enableColumnResize: true,
|
||||
enableHdMenu: true,
|
||||
frame:false,
|
||||
columnLines: false,
|
||||
viewConfig: {
|
||||
forceFit:true
|
||||
},
|
||||
title : _('ID_EVENTS'),
|
||||
store: store,
|
||||
cm: cmodel,
|
||||
tbar: actions,
|
||||
bbar: bbarpaging,
|
||||
listeners: {
|
||||
render: function(){
|
||||
this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
eventsGrid.store.load();
|
||||
|
||||
viewport = new Ext.Viewport({
|
||||
layout: 'fit',
|
||||
autoScroll: false,
|
||||
items: [
|
||||
eventsGrid
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
var _addPluginActions = function(defaultactions) {
|
||||
try {
|
||||
if (Ext.isArray(_pluginactions)) {
|
||||
if (_pluginactions.length > 0) {
|
||||
var positionToInsert = _tbfillPosition(defaultactions);
|
||||
var leftactions = defaultactions.slice(0, positionToInsert);
|
||||
var rightactions = defaultactions.slice(positionToInsert, defaultactions.length - 1);
|
||||
return leftactions.concat(_pluginactions.concat(rightactions));
|
||||
}
|
||||
else {
|
||||
return defaultactions;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return defaultactions;
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
return defaultactions;
|
||||
}
|
||||
};
|
||||
|
||||
var _tbfillPosition = function(actions) {
|
||||
try {
|
||||
for (var i = 0; i < actions.length; i++) {
|
||||
if (Ext.isObject(actions[i])) {
|
||||
if (actions[i].xtype == 'tbfill') {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
catch (error) {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
@@ -96,8 +96,30 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_START_TIME} </td>
|
||||
<td class="FormFieldContent">{$form.SCH_START_TIME}</td>
|
||||
<td class="FormSubTitle" colspan="2" id="form[SELECT_EVERY]" align="">
|
||||
<span>{$form.SELECT_EVERY}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<table id="startTime" border="0" style="width: 100%">
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_START_TIME}</td>
|
||||
<td class="FormFieldContent">{$form.SCH_START_TIME} format 24 hrs. (HH:MM) </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<table id="everyTime" border="0" style="width: 100%">
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_REPEAT_EVERY}</td>
|
||||
<td class="FormFieldContent">{$form.SCH_REPEAT_EVERY} hour(s). </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormSubTitle" colspan="2" id="form[SELECT_DATE]" align="">
|
||||
@@ -197,11 +219,11 @@
|
||||
<td style="display:none;">{$form.SCH_REPEAT_TASK_CHK}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="display:none;" class="FormLabel" width="{$form_labelWidth}">{$SCH_REPEAT_EVERY}</td>
|
||||
<!--<td style="display:none;" class="FormLabel" width="{$form_labelWidth}">{$SCH_REPEAT_EVERY}</td>-->
|
||||
<td style="display:none;" class="FormFieldContent">
|
||||
<table style="width: 100%" style="display:none;">
|
||||
<tr>
|
||||
<td style="width: 30%"> {$form.SCH_REPEAT_EVERY} </td>
|
||||
<!--<td style="width: 30%"> {$form.SCH_REPEAT_EVERY} </td>-->
|
||||
<td > {$form.SCH_REPEAT_EVERY_OPT} {$SCH_REPEAT_EVERY_OPT} </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -210,8 +210,14 @@ WHERE A.PRO_UID='@#PRO_UID' AND A.TAS_START = 'TRUE' ]]>
|
||||
<SCH_REPEAT_TASK_CHK type="checkbox" value="On" falsevalue="Off" defaultvalue="Off" labelonright="1" enablehtml="1">
|
||||
<en>Repeat Task</en>
|
||||
</SCH_REPEAT_TASK_CHK>
|
||||
<SCH_REPEAT_EVERY type="text" maxlength="4" validate="Int" required="0" readonly="0" size="4" mode="edit">
|
||||
<en>Every</en>
|
||||
<!--<SCH_REPEAT_EVERY type="text" maxlength="4" validate="Int" required="0" readonly="0" size="4" mode="edit">-->
|
||||
<!--<en>Every</en>-->
|
||||
<!--</SCH_REPEAT_EVERY>-->
|
||||
<SELECT_EVERY type="subtitle" enablehtml="1">
|
||||
<en>Record the time.</en>
|
||||
</SELECT_EVERY>
|
||||
<SCH_REPEAT_EVERY type="text" maxlength="5" validate="Real" mask="##.##" required="0" readonly="0" size="5" mode="edit" comma_separator =".">
|
||||
<en>Execute every</en>
|
||||
</SCH_REPEAT_EVERY>
|
||||
|
||||
<SCH_ADVANCED type="hidden" >
|
||||
@@ -273,6 +279,8 @@ switch (getField('SCH_OPTION').value){
|
||||
break;
|
||||
case '4':
|
||||
getField('SCH_OPTION_VIEW').value = 'One Time Only';
|
||||
case '5':
|
||||
getField('SCH_OPTION_VIEW').value = 'Every';
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -289,7 +297,7 @@ function hideProperties(){
|
||||
document.getElementById('form[PERFORM_TASK]').style.display='none';
|
||||
document.getElementById('form[SELECT_TIME_DAY]').style.display='none';
|
||||
document.getElementById('form[SELECT_PLUGIN]').style.display='none';
|
||||
document.getElementById('form[SELECT_PLUGIN]').style.display='none';
|
||||
document.getElementById('form[SELECT_EVERY]').style.display='none';
|
||||
// end of enabling
|
||||
}
|
||||
|
||||
@@ -301,7 +309,7 @@ function showProperties(){
|
||||
document.getElementById('form[EDIT_USER]').style.display='';
|
||||
document.getElementById('form[PERFORM_TASK]').style.display='';
|
||||
document.getElementById('form[SELECT_TIME_DAY]').style.display='';
|
||||
|
||||
document.getElementById('form[SELECT_EVERY]').style.display='';
|
||||
}
|
||||
|
||||
|
||||
@@ -327,7 +335,7 @@ if (getField('SCH_REPEAT_EVERY').value!=''){
|
||||
function disableAdvanced(){
|
||||
//disable(getField('SCH_END_DATE'));
|
||||
|
||||
disable(getField('SCH_REPEAT_EVERY'));
|
||||
<!--disable(getField('SCH_REPEAT_EVERY'));-->
|
||||
disable(getField('SCH_REPEAT_EVERY_OPT'));
|
||||
// disable(getField('SCH_REPEAT_UNTIL'));
|
||||
// disable(getField('SCH_REPEAT_STOP_IF_RUNNING'));
|
||||
@@ -347,7 +355,11 @@ function hideAll() {
|
||||
contractSubtitle('SELECT_1');
|
||||
contractSubtitle('SELECT_2');
|
||||
contractSubtitle('SELECT_3');
|
||||
contractSubtitle('SELECT_EVERY');
|
||||
|
||||
//contractSubtitle('ADVANCED_4');
|
||||
document.getElementById('startTime').style.display='none';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
|
||||
}
|
||||
function showPluginSelection(opt,pro_uid) {
|
||||
@@ -408,7 +420,11 @@ 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='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
// SCH_START_DATE
|
||||
break;
|
||||
case '2' : contractSubtitle('SELECT_DATE');
|
||||
@@ -416,13 +432,16 @@ 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='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
break;
|
||||
case '3' : contractSubtitle('SELECT_DATE');
|
||||
contractSubtitle('SELECT_1');
|
||||
contractSubtitle('SELECT_2');
|
||||
expandSubtitle('SELECT_3');
|
||||
document.getElementById('endDateTable').style.display='';
|
||||
if (getField('SCH_START_DAY][1').checked){
|
||||
getField('SCH_START_DAY_OPT_1').disabled=false;
|
||||
getField('SCH_START_DAY_OPT_1').style.display="";
|
||||
@@ -438,12 +457,32 @@ 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='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
break;
|
||||
case '4' : expandSubtitle('SELECT_DATE');
|
||||
case '4' : expandSubtitle('SELECT_DATE');
|
||||
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='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
break;
|
||||
case '5' : expandSubtitle('SELECT_EVERY');
|
||||
contractSubtitle('SELECT_1');
|
||||
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';
|
||||
document.getElementById('everyTime').style.display='';
|
||||
break;
|
||||
|
||||
}
|
||||
@@ -531,8 +570,8 @@ leimnud.event.add(getField('SCH_REPEAT_TASK_CHK'), 'click', function() {
|
||||
// enable(getField('SCH_REPEAT_UNTIL'));
|
||||
// enable(getField('SCH_REPEAT_STOP_IF_RUNNING'));
|
||||
} else {
|
||||
disable(getField('SCH_REPEAT_EVERY'));
|
||||
disable(getField('SCH_REPEAT_EVERY_OPT'));
|
||||
<!--disable(getField('SCH_REPEAT_EVERY'));-->
|
||||
<!--disable(getField('SCH_REPEAT_EVERY_OPT'));-->
|
||||
// disable(getField('SCH_REPEAT_UNTIL'));
|
||||
// disable(getField('SCH_REPEAT_STOP_IF_RUNNING'));
|
||||
}
|
||||
@@ -561,6 +600,24 @@ leimnud.event.add(getField('SCH_START_TIME'), 'change', function() {
|
||||
}
|
||||
});
|
||||
|
||||
leimnud.event.add(getField('SCH_REPEAT_EVERY'), 'change', function() {
|
||||
hours = getField('SCH_REPEAT_EVERY').value;
|
||||
answer = hours;
|
||||
var parties = answer.split('.');
|
||||
|
||||
if(parties[0]>23){
|
||||
msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_TIME, 'alert');
|
||||
getField('SCH_REPEAT_EVERY').value='';
|
||||
getField('UPDATE').focus();
|
||||
|
||||
}
|
||||
if(parties[1]>99){
|
||||
msgBox('The minutes can not be greater than 99', 'alert');
|
||||
getField('SCH_REPEAT_EVERY').value='';
|
||||
getField('UPDATE').focus();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
leimnud.event.add(getField('SCH_REPEAT_UNTIL'), 'change', function() {
|
||||
@@ -741,6 +798,12 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
|
||||
msgBox('The time format is invalid','alert');
|
||||
return false;
|
||||
}
|
||||
if (document.getElementById('form[SCH_OPTION]').value == 5) {
|
||||
if (document.getElementById('form[SCH_REPEAT_EVERY]').value==''){
|
||||
requiredFields = requiredFields + 'Every,';
|
||||
validFields = false;
|
||||
}
|
||||
}
|
||||
switch(document.getElementById('form[SCH_OPTION]').value){
|
||||
// daily
|
||||
case '1':
|
||||
@@ -818,6 +881,10 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
|
||||
validFields = true;
|
||||
|
||||
break;
|
||||
//run once
|
||||
case '5':
|
||||
validFields = true;
|
||||
break;
|
||||
default:
|
||||
validFields = false;
|
||||
break;
|
||||
|
||||
@@ -86,9 +86,26 @@
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_START_TIME}</td>
|
||||
<td class="FormFieldContent">{$form.SCH_START_TIME} format 24 hrs. (HH:MM) </td>
|
||||
<td colspan="2" align="center">
|
||||
<table id="startTime" border="0">
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_START_TIME}</td>
|
||||
<td class="FormFieldContent">{$form.SCH_START_TIME} format 24 hrs. (HH:MM) </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<table id="everyTime" border="0" style="width: 100%">
|
||||
<tr>
|
||||
<td class="FormLabel" width="{$form_labelWidth}"><font color="red">* </font> {$SCH_REPEAT_EVERY}</td>
|
||||
<td class="FormFieldContent">{$form.SCH_REPEAT_EVERY} Hour(s). </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="FormSubTitle" colspan="2" id="form[SELECT_DATE]" align="">
|
||||
<span>{$form.SELECT_DATE}</span>
|
||||
@@ -190,11 +207,11 @@
|
||||
<td style="display:none;" >{$form.SCH_REPEAT_TASK_CHK}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="display:none;" class="FormLabel" width="{$form_labelWidth}">{$SCH_REPEAT_EVERY}</td>
|
||||
<!--<td style="display:none;" class="FormLabel" width="{$form_labelWidth}">{$SCH_REPEAT_EVERY}</td>-->
|
||||
<td style="display:none;" class="FormFieldContent">
|
||||
<table style="width: 100%; display:none;">
|
||||
<tr>
|
||||
<td style="width: 30%"> {$form.SCH_REPEAT_EVERY} </td>
|
||||
<!--<td style="width: 30%"> {$form.SCH_REPEAT_EVERY} </td>-->
|
||||
<td > {$form.SCH_REPEAT_EVERY_OPT} {$SCH_REPEAT_EVERY_OPT} </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
<option name="2">Weekly</option>
|
||||
<option name="3">Monthly</option>
|
||||
<option name="4">One time only</option>
|
||||
<option name="5">Every</option>
|
||||
</en>
|
||||
</SCH_OPTION>
|
||||
|
||||
@@ -63,7 +64,7 @@
|
||||
<en>Select the date and time for case(s) to be initiated.</en>
|
||||
</SELECT_TIME_DAY>
|
||||
|
||||
<SCH_START_TIME type="text" maxlength="5" validate="Any" mask="##:##" required="1" readonly="0" size="5" mode="edit" strto="" dependentfields="" defaultvalue="" hint="" formula="" function="" sqlconnection="" savelabel="0">
|
||||
<SCH_START_TIME type="text" maxlength="5" validate="Any" mask="##:##" required="0" readonly="0" size="5" mode="edit" strto="" dependentfields="" defaultvalue="" hint="" formula="" function="" sqlconnection="" savelabel="0">
|
||||
<en>Execution time</en>
|
||||
</SCH_START_TIME>
|
||||
|
||||
@@ -103,6 +104,7 @@
|
||||
<SCH_EVERY_DAYS type="text" maxlength="2" defaultValue="1" validate="Int" required="0" readonly="0" size="2" mode="edit">
|
||||
<en>Every</en>
|
||||
</SCH_EVERY_DAYS>
|
||||
|
||||
<SCH_WEEK_DAYS type="checkgroup" required="0" mode="edit" options="Array" COLS="2" defaultvalue="" hint="" sqlconnection="" readonly="0" savelabel="0">
|
||||
<en>Select the day(s) of the week below
|
||||
<option name="1">Monday</option>
|
||||
@@ -198,9 +200,16 @@
|
||||
<SCH_REPEAT_TASK_CHK type="checkbox" value="On" falsevalue="Off" defaultvalue="Off" labelonright="1" enablehtml="1">
|
||||
<en>Repeat Task</en>
|
||||
</SCH_REPEAT_TASK_CHK>
|
||||
<SCH_REPEAT_EVERY type="text" maxlength="4" validate="Int" required="0" readonly="0" size="4" mode="edit">
|
||||
<en>Every</en>
|
||||
<!--<SCH_REPEAT_EVERY type="text" maxlength="4" validate="Int" required="0" readonly="0" size="4" mode="edit">-->
|
||||
<!--<en>Every</en>-->
|
||||
<!--</SCH_REPEAT_EVERY>-->
|
||||
<SCH_REPEAT_EVERY type="text" maxlength="5" validate="Real" mask="##.##" required="0" readonly="0" size="5" mode="edit">
|
||||
<en>Execute every</en>
|
||||
</SCH_REPEAT_EVERY>
|
||||
<!--<SCH_REPEAT_EVERY type="text" maxlength="5" validate="Any" mask="##:##" required="0" readonly="0" size="5" mode="edit" strto="" dependentfields="" defaultvalue_sel="empty" hint="" formula="" function="" sqlconnection="" savelabel="0">-->
|
||||
<!--<en>Every</en>-->
|
||||
<!--</SCH_REPEAT_EVERY>-->
|
||||
<!--SCH_START_TIME-->
|
||||
|
||||
<SCH_ADVANCED type="hidden" >
|
||||
<en></en>
|
||||
@@ -286,7 +295,8 @@ contractSubtitle('SELECT_PLUGIN');
|
||||
document.getElementById('form[SELECT_1]').style.display='none';
|
||||
document.getElementById('form[SELECT_2]').style.display='none';
|
||||
document.getElementById('form[SELECT_3]').style.display='none';
|
||||
|
||||
document.getElementById('startTime').style.display='none';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
|
||||
}
|
||||
|
||||
@@ -352,7 +362,10 @@ function showSelection(opt) {
|
||||
contractSubtitle('SELECT_3');
|
||||
//document.getElementById('form[ADVANCED_4]').style.display='';
|
||||
//expandSubtitle('ADVANCED_4');
|
||||
|
||||
document.getElementById('endDateTable').style.display='';
|
||||
document.getElementById('startTime').style.display='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
break;
|
||||
case '2' : // Weekly
|
||||
contractSubtitle('SELECT_DATE');
|
||||
@@ -361,8 +374,11 @@ function showSelection(opt) {
|
||||
contractSubtitle('SELECT_3');
|
||||
//document.getElementById('form[ADVANCED_4]').style.display='';
|
||||
hideRow('SCH_EVERY_DAYS');
|
||||
document.getElementById('endDateTable').style.display='';
|
||||
//expandSubtitle('ADVANCED_4');
|
||||
|
||||
document.getElementById('endDateTable').style.display='';
|
||||
document.getElementById('startTime').style.display='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
break;
|
||||
case '3' : // Monthly
|
||||
contractSubtitle('SELECT_DATE');
|
||||
@@ -376,20 +392,36 @@ function showSelection(opt) {
|
||||
getField('SCH_START_DAY_OPT_2_WEEKS').style.display="none";
|
||||
getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=true;
|
||||
getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display="none";
|
||||
|
||||
document.getElementById('endDateTable').style.display='';
|
||||
document.getElementById('startTime').style.display='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
//expandSubtitle('ADVANCED_4');
|
||||
break;
|
||||
case '4' : // One time only
|
||||
case '4' : // One time only
|
||||
expandSubtitle('SELECT_DATE');
|
||||
contractSubtitle('SELECT_1');
|
||||
contractSubtitle('SELECT_2');
|
||||
contractSubtitle('SELECT_3');
|
||||
|
||||
document.getElementById('endDateTable').style.display='none';
|
||||
document.getElementById('startTime').style.display='';
|
||||
document.getElementById('everyTime').style.display='none';
|
||||
//document.getElementById('form[ADVANCED_4]').style.display='';
|
||||
|
||||
//expandSubtitle('ADVANCED_4');
|
||||
break;
|
||||
}
|
||||
case '5' : // Every
|
||||
contractSubtitle('SELECT_DATE');
|
||||
contractSubtitle('SELECT_1');
|
||||
contractSubtitle('SELECT_2');
|
||||
contractSubtitle('SELECT_3');
|
||||
|
||||
document.getElementById('endDateTable').style.display='none';
|
||||
document.getElementById('startTime').style.display='none';
|
||||
document.getElementById('everyTime').style.display='';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -497,6 +529,24 @@ leimnud.event.add(getField('SCH_START_TIME'), 'change', function() {
|
||||
}
|
||||
});
|
||||
|
||||
leimnud.event.add(getField('SCH_REPEAT_EVERY'), 'change', function() {
|
||||
hours = getField('SCH_REPEAT_EVERY').value;
|
||||
answer = hours;
|
||||
var parties = answer.split('.');
|
||||
|
||||
if(parties[0]>23){
|
||||
msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_TIME, 'alert');
|
||||
getField('SCH_REPEAT_EVERY').value='';
|
||||
getField('SAVE').focus();
|
||||
|
||||
}
|
||||
if(parties[1]>99){
|
||||
msgBox('The minutes can not be greater than 99', 'alert');
|
||||
getField('SCH_REPEAT_EVERY').value='';
|
||||
getField('SAVE').focus();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
leimnud.event.add(getField('SCH_OPTION][1'), 'change', function() {
|
||||
@@ -606,13 +656,20 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
|
||||
// for time format hh:mm
|
||||
var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)";
|
||||
var timeRegexp = new RegExp(regExpString);
|
||||
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)){
|
||||
msgBox('The time format is invalid','alert');
|
||||
return false;
|
||||
}
|
||||
if (document.getElementById('form[SCH_START_TIME]').value==''){
|
||||
requiredFields = requiredFields + 'Execution Time,';
|
||||
validFields = false;
|
||||
if (document.getElementById('form[SCH_OPTION]').value != 5) {
|
||||
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)){
|
||||
msgBox('The time format is invalid','alert');
|
||||
return false;
|
||||
}
|
||||
if (document.getElementById('form[SCH_START_TIME]').value==''){
|
||||
requiredFields = requiredFields + 'Execution Time,';
|
||||
validFields = false;
|
||||
}
|
||||
} else {
|
||||
if (document.getElementById('form[SCH_REPEAT_EVERY]').value==''){
|
||||
requiredFields = requiredFields + 'Every,';
|
||||
validFields = false;
|
||||
}
|
||||
}
|
||||
switch(document.getElementById('form[SCH_OPTION]').value){
|
||||
// daily
|
||||
@@ -689,6 +746,12 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
|
||||
|
||||
validFields = true;
|
||||
|
||||
break;
|
||||
//run every
|
||||
case '5':
|
||||
|
||||
validFields = true;
|
||||
|
||||
break;
|
||||
default:
|
||||
validFields = false;
|
||||
@@ -745,8 +808,8 @@ leimnud.event.add(getField('SCH_REPEAT_TASK_CHK'), 'click', function() {
|
||||
// enable(getField('SCH_REPEAT_UNTIL'));
|
||||
// enable(getField('SCH_REPEAT_STOP_IF_RUNNING'));
|
||||
} else {
|
||||
disable(getField('SCH_REPEAT_EVERY'));
|
||||
disable(getField('SCH_REPEAT_EVERY_OPT'));
|
||||
<!--disable(getField('SCH_REPEAT_EVERY'));-->
|
||||
<!--disable(getField('SCH_REPEAT_EVERY_OPT'));-->
|
||||
// disable(getField('SCH_REPEAT_UNTIL'));
|
||||
// disable(getField('SCH_REPEAT_STOP_IF_RUNNING'));
|
||||
}
|
||||
|
||||
@@ -5,23 +5,11 @@
|
||||
<en>New</en>
|
||||
</MNU_ADD>
|
||||
|
||||
<MNU_PENDING type="link" value="" link="#" onclick="eventsPending(); return false;" colAlign="left" colWidth="100">
|
||||
<en>Pending</en>
|
||||
</MNU_PENDING>
|
||||
|
||||
<MNU_COMPLETED type="link" value="" link="#" onclick="eventsCompleted(); return false;" colAlign="left" colWidth="100">
|
||||
<en>Completed</en>
|
||||
</MNU_COMPLETED>
|
||||
|
||||
<PRO_UID type="private"/>
|
||||
<EVN_TYPE type="private"/>
|
||||
|
||||
<eventsNew type="private" defaultValue="../events/eventsNew"/>
|
||||
|
||||
<eventsPending type="private" defaultValue="../events/eventsPending"/>
|
||||
|
||||
<eventsCompleted type="private" defaultValue="../events/eventsCompleted"/>
|
||||
|
||||
<eventsEdit type="private" defaultValue="../events/eventsEdit"/>
|
||||
|
||||
<eventsEditAction type="private" defaultValue="../events/eventsEditAction"/>
|
||||
@@ -47,14 +35,6 @@ var eventsNew = function() {
|
||||
popupWindow('@G::LoadTranslation(ID_NEW_EVENT)', '@G::encryptlink(@#eventsNew)?PRO_UID=@%PRO_UID&EVN_TYPE=@%EVN_TYPE' , 540, 500);
|
||||
};
|
||||
|
||||
var eventsPending = function() {
|
||||
popupWindow('@G::LoadTranslation(ID_PENDING)', '@G::encryptlink(@#eventsPending)?PRO_UID=@%PRO_UID&EVN_TYPE=@%EVN_TYPE' , 800, 400);
|
||||
};
|
||||
|
||||
var eventsCompleted = function() {
|
||||
popupWindow('@G::LoadTranslation(ID_COMPLETED)', '@G::encryptlink(@#eventsCompleted)?PRO_UID=@%PRO_UID&EVN_TYPE=@%EVN_TYPE' , 800, 400);
|
||||
};
|
||||
|
||||
var eventsEdit = function(sUID) {
|
||||
popupWindow('@G::LoadTranslation(ID_EDIT_EVENT)', '@G::encryptlink(@#eventsEdit)?EVN_UID=' + sUID , 540, 500);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user