Merge pull request #486 from marcoAntonioNina/BUG-9555
BUG 9555 Event log inside Process Designer SOLVED
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user