Files
luos/workflow/engine/templates/cases/cases_ActionsTree.php

104 lines
4.9 KiB
PHP
Raw Normal View History

2010-12-02 23:34:41 +00:00
<?php
/**
* cases_ActionsTree.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.
*
*/
require_once 'classes/model/AppThread.php';
require_once 'classes/model/AppDelay.php';
G::LoadClass('tree');
G::LoadClass('case');
$APP_UID = $_SESSION['APPLICATION'];
$c = new Criteria('workflow');
$c->clearSelectColumns();
$c->addSelectColumn( AppThreadPeer::APP_THREAD_PARENT );
$c->add(AppThreadPeer::APP_UID, $APP_UID );
$c->add(AppThreadPeer::APP_THREAD_STATUS , 'OPEN' );
$cant = AppThreadPeer::doCount($c);
$oTree = new Tree();
$oTree->nodeType = "blank";
$oTree->name = 'Actions';
$oTree->showSign = false;
$oCase = new Cases();
$aFields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
$oCriteria = new Criteria('workflow');
$oCriteria->add(AppDelayPeer::APP_UID, $_SESSION['APPLICATION']);
$oCriteria->add(AppDelayPeer::APP_DEL_INDEX, $_SESSION['INDEX']);
$oCriteria->add(AppDelayPeer::APP_TYPE, 'PAUSE');
$oCriteria->add(AppDelayPeer::APP_DISABLE_ACTION_USER, null);
$oDataset = AppDelayPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aRow = $oDataset->getRow();
GLOBAL $RBAC;
switch($aFields['APP_STATUS'])
{
case 'DRAFT':
if(!$aRow) {
$oNode = &$oTree->addChild('1', '<a id="spause" class="linkInBlue" href="#" onclick="pauseCase();return false;">' . G::LoadTranslation('ID_PAUSED_CASE') . '</a></span><a id="scpause" class="linkInBlue" href="#" onclick="cancelPauseCase();return false;" style="display:none">' . G::LoadTranslation('ID_CANCEL') . ' ' . strtolower(G::LoadTranslation('ID_PAUSED_CASE')) . '</a><div id="pausediv" style="display:none"></div>', array('nodeType' => 'parentBlue'));
}
else {
$oNode = &$oTree->addChild('1', '<a class="linkInBlue" href="#" onclick="unpauseCase();return false;">' . G::LoadTranslation('ID_UNPAUSE') . '</a>', array('nodeType' => 'parentBlue'));
}
$oNode = &$oTree->addChild('2', '<a class="linkInBlue" href="#" onclick="deleteCase(\''.$APP_UID.'\');return false;">' . G::LoadTranslation('ID_DELETE') . '</a>', array('nodeType' => 'parentBlue'));
if($RBAC->userCanAccess('PM_REASSIGNCASE')==1) {
$oNode = &$oTree->addChild('3', '<a class="linkInBlue" href="#" onclick="view_reassignCase(\''.$APP_UID.'\');return false;">' . G::LoadTranslation('ID_REASSIGN') . '</a>', array('nodeType' => 'parentBlue'));
}
break;
case 'TO_DO':
if(!$aRow) {
$oNode = &$oTree->addChild('1', '<a id="spause" class="linkInBlue" href="#" onclick="pauseCase();return false;">' . G::LoadTranslation('ID_PAUSED_CASE') . '</a></span><a id="scpause" class="linkInBlue" href="#" onclick="cancelPauseCase();return false;" style="display:none">' . G::LoadTranslation('ID_CANCEL') . ' ' . strtolower(G::LoadTranslation('ID_PAUSED_CASE')) . '</a><div id="pausediv" style="display:none"></div>', array('nodeType' => 'parentBlue'));
if ($cant == 1) {
$oNode = & $oTree->addChild('2', '<a class="linkInBlue" href="#" onclick="cancelCase();return false;">' . G::LoadTranslation('ID_CANCEL') . '</a>', array('nodeType'=>'parentBlue'));
}
}
else {
$oNode = &$oTree->addChild('1', '<a class="linkInBlue" href="#" onclick="unpauseCase();return false;">' . G::LoadTranslation('ID_UNPAUSE') . '</a>', array('nodeType' => 'parentBlue'));
}
if($RBAC->userCanAccess('PM_REASSIGNCASE')==1) {
$oNode = &$oTree->addChild('3', '<a class="linkInBlue" href="#" onclick="view_reassignCase(\''.$APP_UID.'\');return false;">' . G::LoadTranslation('ID_REASSIGN') . '</a>', array('nodeType' => 'parentBlue'));
}
break;
case 'CANCELLED':
$oNode = &$oTree->addChild('1', '<a class="linkInBlue" href="#" onclick="reactivateCase();return false;">' . G::LoadTranslation('ID_REACTIVATE') . '</a>', array('nodeType' => 'parentBlue'));
break;
}
$oTask = new Task();
$aTask = $oTask->load($_SESSION['TASK']);
if ($aTask['TAS_TYPE'] == 'ADHOC') {
$oNode = &$oTree->addChild('4', '<a class="linkInBlue" href="#" onclick="adhocAssignmentUsers();return false;">' . G::LoadTranslation('ID_ADHOC_ASSIGNMENT') . '</a>', array('nodeType' => 'parentBlue'));
}
$oNode->plus = '';
$oNode->minus = '';
$oNode->point = '';
echo $oTree->render();
?>