new menubar for Case Open View
This commit is contained in:
118
gulliver/js/ext/pmos-common.js
Executable file
118
gulliver/js/ext/pmos-common.js
Executable file
@@ -0,0 +1,118 @@
|
||||
PMExtJSCommon = function() {
|
||||
this.version = '1.8';
|
||||
|
||||
this.confirm = function(title, msg, fnYes, fnNo)
|
||||
{
|
||||
Ext.MessageBox.confirm(title, msg, function(btn, text){
|
||||
if ( btn == 'yes' )
|
||||
setTimeout(fnYes, 0)
|
||||
else if( fnNo != undefined )
|
||||
setTimeout(fnNo, 0)
|
||||
});
|
||||
}
|
||||
|
||||
this.info = function(title, msg, fn) {
|
||||
Ext.MessageBox.show({
|
||||
title: title,
|
||||
msg: msg,
|
||||
buttons: Ext.MessageBox.OK,
|
||||
animEl: 'mb9',
|
||||
fn: fn != undefined ? fn: function(){},
|
||||
icon: Ext.MessageBox.INFO
|
||||
});
|
||||
}
|
||||
|
||||
this.question = function(title, msg, fn) {
|
||||
Ext.MessageBox.show({
|
||||
title: title,
|
||||
msg: msg,
|
||||
buttons: Ext.MessageBox.OK,
|
||||
animEl: 'mb9',
|
||||
fn: fn != undefined ? fn: function(){},
|
||||
icon: Ext.MessageBox.QUESTION
|
||||
});
|
||||
}
|
||||
|
||||
this.warning = function(title, msg, fn) {
|
||||
Ext.MessageBox.show({
|
||||
title: title,
|
||||
msg: msg,
|
||||
buttons: Ext.MessageBox.OK,
|
||||
animEl: 'mb9',
|
||||
fn: fn != undefined ? fn: function(){},
|
||||
icon: Ext.MessageBox.WARNING
|
||||
});
|
||||
}
|
||||
|
||||
this.error = function(title, msg, fn) {
|
||||
Ext.MessageBox.show({
|
||||
title: title,
|
||||
msg: msg,
|
||||
buttons: Ext.MessageBox.OK,
|
||||
animEl: 'mb9',
|
||||
fn: fn != undefined ? fn: function(){},
|
||||
icon: Ext.MessageBox.ERROR
|
||||
});
|
||||
}
|
||||
|
||||
this.notify = function(title, msg)
|
||||
{
|
||||
Ext.msgBoxSlider.msg(title, msg);
|
||||
}
|
||||
}
|
||||
var PMExt = new PMExtJSCommon();
|
||||
|
||||
|
||||
/**
|
||||
* Common Ext Functions
|
||||
*/
|
||||
|
||||
Ext.msgBoxSlider = function(){
|
||||
var msgCt;
|
||||
|
||||
function createBox(t, s){
|
||||
return [
|
||||
'<div class="msg">',
|
||||
'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
|
||||
'<div class="x-box-ml"><div class="x-box-mr"><div id="x-box-mc-inner" class="x-box-mc"><h3>', t, '</h3>', s, '</div></div></div>',
|
||||
'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
}
|
||||
return {
|
||||
msg : function(title, format) {
|
||||
if( ! msgCt ) {
|
||||
msgCt = Ext.DomHelper.insertFirst(document.body, {id:'msg-div'}, true);
|
||||
}
|
||||
msgCt.alignTo(document, 't-t');
|
||||
var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1));
|
||||
var m = Ext.DomHelper.append(msgCt, {html:createBox(title, s)}, true);
|
||||
m.setWidth(400 );
|
||||
m.position(null, 5000 );
|
||||
m.alignTo(document, 't-t');
|
||||
Ext.get('x-box-mc-inner' ).setStyle('background-image', 'url("<?php echo _EXT_URL ?>/images/_accept.png")');
|
||||
Ext.get('x-box-mc-inner' ).setStyle('background-position', '5px 10px');
|
||||
Ext.get('x-box-mc-inner' ).setStyle('background-repeat', 'no-repeat');
|
||||
Ext.get('x-box-mc-inner' ).setStyle('padding-left', '35px');
|
||||
m.slideIn('t').pause(3).ghost("t", {remove:true});
|
||||
}
|
||||
};
|
||||
}();
|
||||
|
||||
/**
|
||||
* Translator function for internationalization
|
||||
*/
|
||||
function _(ID_LABEL)
|
||||
{
|
||||
if( typeof(TRANSLATIONS) != 'undefined' ) {
|
||||
if( typeof(TRANSLATIONS[ID_LABEL]) != 'undefined' ) {
|
||||
trn = TRANSLATIONS[ID_LABEL];
|
||||
} else {
|
||||
trn = '**' + ID_LABEL + '**';
|
||||
}
|
||||
} else {
|
||||
PMExt.error('Processmaker JS Core Error', 'The TRANSLATIONS global object is not loaded!');
|
||||
trn = '';
|
||||
}
|
||||
return trn;
|
||||
}
|
||||
7
gulliver/js/ext/ux/miframe.js
Executable file
7
gulliver/js/ext/ux/miframe.js
Executable file
File diff suppressed because one or more lines are too long
7
gulliver/methods/decorator.php → gulliver/methods/loader.php
Normal file → Executable file
7
gulliver/methods/decorator.php → gulliver/methods/loader.php
Normal file → Executable file
@@ -18,6 +18,13 @@ switch($type){
|
||||
|
||||
$helper->serve();
|
||||
break;
|
||||
|
||||
case 'js-translations':
|
||||
$locale = $_GET['locale'];
|
||||
G::LoadTranslationObject($locale);
|
||||
global $translation;
|
||||
print 'var TRANSLATIONS = ' . G::json_encode($translation) . ';';
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1890,18 +1890,27 @@ class G
|
||||
* @access public
|
||||
* @parameter string msgID
|
||||
* @parameter string file
|
||||
* @parameter array data // erik: associative array within data input to replace for formatted string i.e "any messsage {replaced_label} that contains a replace label"
|
||||
* @return string
|
||||
*/
|
||||
function LoadTranslation( $msgID , $lang = SYS_LANG )
|
||||
function LoadTranslation( $msgID , $lang = SYS_LANG, $data = null)
|
||||
{
|
||||
global $translation;
|
||||
|
||||
if ( isset ( $translation[$msgID] ) ){
|
||||
//return eregi_replace("[\n|\r|\n\r]", ' ', $translation[$msgID]);
|
||||
return preg_replace("[\n|\r|\n\r]", ' ', $translation[$msgID]);
|
||||
}else{
|
||||
if(defined("UNTRANSLATED_MARK")){
|
||||
$translationString = preg_replace("[\n|\r|\n\r]", ' ', $translation[$msgID]);
|
||||
|
||||
if( isset($data) && is_array($data) ) {
|
||||
foreach($data as $label=>$value) {
|
||||
$translationString = str_replace('{'.$label.'}', $value, $translationString);
|
||||
}
|
||||
}
|
||||
|
||||
return $translationString;
|
||||
} else {
|
||||
if( defined("UNTRANSLATED_MARK") ) {
|
||||
$untranslatedMark = strip_tags(UNTRANSLATED_MARK);
|
||||
}else{
|
||||
} else {
|
||||
$untranslatedMark = "**";
|
||||
}
|
||||
return $untranslatedMark . $msgID . $untranslatedMark;
|
||||
|
||||
@@ -184,13 +184,10 @@ class headPublisher {
|
||||
}
|
||||
if ($this->disableHeaderScripts)
|
||||
return '';
|
||||
|
||||
// die(SYS_LANG);
|
||||
$this->addScriptFile ( "/js/widgets/js-calendar/lang/" . SYS_LANG . ".js" );
|
||||
/*$this->addScriptFile("/js/widgets/calendar/pmcalendar.js");
|
||||
/*$this->addScriptFile("/js/widgets/calendar/dhtmlSuite-common.js");
|
||||
$this->addScriptFile("/js/widgets/calendar/dhtmlSuite-calendar.js");
|
||||
$this->addScriptFile("/js/widgets/calendar/dhtmlSuite-dragDropSimple.js");
|
||||
$this->addScriptFile("/js/widgets/calendar/neyek-abstractionCalendar.js");
|
||||
*/
|
||||
//$this->addScriptFile ( '/gulliver/loader?t=js-translations&locale='.SYS_LANG);
|
||||
|
||||
$head = '';
|
||||
$head .= '<TITLE>' . $this->title . "</TITLE>\n";
|
||||
@@ -282,6 +279,8 @@ class headPublisher {
|
||||
$head .= " <script type='text/javascript' src='/js/ext/mootools.js'></script>\n";
|
||||
$head .= " <script type='text/javascript' src='/js/ext/moocanvas.js'></script>\n";
|
||||
$head .= " <script type='text/javascript' src='/js/ext/draw2d.js'></script>\n";
|
||||
$head .= " <script type='text/javascript' src='/gulliver/loader?t=js-translations&locale=".SYS_LANG."'></script>\n";
|
||||
$head .= " <script type='text/javascript' src='/js/ext/pmos-common.js'></script>\n";
|
||||
|
||||
if (! isset ( $this->extJsSkin ) || $this->extJsSkin == '') {
|
||||
$this->extJsSkin = 'xtheme-gray';
|
||||
@@ -307,7 +306,7 @@ class headPublisher {
|
||||
//DEPRECATED, this will be removed in a future -->
|
||||
|
||||
//new interactive css decorator
|
||||
$script .= " <link rel='stylesheet' type='text/css' href='/gulliver/decorator?t=extjs-cssExtended&s=".$this->extJsSkin."' />\n";
|
||||
$script .= " <link rel='stylesheet' type='text/css' href='/gulliver/loader?t=extjs-cssExtended&s=".$this->extJsSkin."' />\n";
|
||||
$script .= " <link rel='stylesheet' type='text/css' href='/images/icons_silk/sprite.css' />\n";
|
||||
|
||||
// Load external/plugin css
|
||||
|
||||
@@ -5241,4 +5241,49 @@ class Cases {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function getUsersToReassign($TAS_UID, $USR_UID)
|
||||
{
|
||||
G::LoadClass('groups');
|
||||
G::LoadClass('tasks');
|
||||
|
||||
$oTasks = new Tasks();
|
||||
$aAux = $oTasks->getGroupsOfTask($TAS_UID, 1);
|
||||
$row = array();
|
||||
|
||||
$groups = new Groups();
|
||||
foreach($aAux as $aGroup) {
|
||||
$aUsers = $groups->getUsersOfGroup($aGroup['GRP_UID']);
|
||||
foreach($aUsers as $aUser) {
|
||||
if($aUser['USR_UID'] != $USR_UID) {
|
||||
$row[] = $aUser['USR_UID'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$aAux = $oTasks->getUsersOfTask($TAS_UID, 1);
|
||||
foreach($aAux as $aUser) {
|
||||
if($aUser['USR_UID'] != $USR_UID) {
|
||||
$row[] = $aUser['USR_UID'];
|
||||
}
|
||||
}
|
||||
|
||||
require_once 'classes/model/Users.php';
|
||||
$c = new Criteria('workflow');
|
||||
$c->addSelectColumn(UsersPeer::USR_UID);
|
||||
$c->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$c->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$c->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$c->add(UsersPeer::USR_UID, $row, Criteria::IN);
|
||||
|
||||
$rs = UsersPeer::doSelectRs($c);
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
$rows = Array();
|
||||
while( $rs->next() ) {
|
||||
$rows[] = $rs->getRow();
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -420,5 +420,26 @@ class Configurations // extends Configuration
|
||||
|
||||
return $formats;
|
||||
}
|
||||
|
||||
function getSystemDate($dateTime)
|
||||
{
|
||||
$oConf = new Configurations;
|
||||
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS','');
|
||||
$creationDateMask = isset($oConf->aConfig['dateFormat'])? $oConf->aConfig['dateFormat']: '';
|
||||
|
||||
if( $creationDateMask != '' ) {
|
||||
if( strpos($dateTime, ' ') !== false ) {
|
||||
list($date, $time) = explode(' ', $dateTime);
|
||||
list($y, $m, $d) = explode('-', $date);
|
||||
list($h, $i, $s) = explode(':', $time);
|
||||
$dateTime = date($creationDateMask, mktime($h, $i, $s, $m, $d, $y));
|
||||
} else {
|
||||
list($y, $m, $d) = explode('-', $dateTime);
|
||||
$dateTime = date($creationDateMask, mktime(0, 0, 0, $m, $d, $y));
|
||||
}
|
||||
}
|
||||
|
||||
return $dateTime;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -560,4 +560,26 @@ public function kgetassigType($pro_uid, $tas){
|
||||
$calendarObj->assignCalendarTo($taskUid,$calendarUid,'TASK');
|
||||
}
|
||||
|
||||
function getDelegatedTaskData($TAS_UID, $APP_UID, $DEL_INDEX)
|
||||
{
|
||||
require_once 'classes/model/AppDelegation.php';
|
||||
require_once 'classes/model/Task.php';
|
||||
$oTask = new Task();
|
||||
$aFields = $oTask->load($TAS_UID);
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(AppDelegationPeer::APP_UID, $APP_UID);
|
||||
$oCriteria->add(AppDelegationPeer::DEL_INDEX, $DEL_INDEX);
|
||||
$oDataset = AppDelegationPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$taskData = $oDataset->getRow();
|
||||
|
||||
$iDiff = strtotime($taskData['DEL_FINISH_DATE']) - strtotime($taskData['DEL_INIT_DATE']);
|
||||
$aFields['INIT_DATE'] = ($taskData['DEL_INIT_DATE'] != null ? $taskData['DEL_INIT_DATE'] : G::LoadTranslation('ID_CASE_NOT_YET_STARTED'));
|
||||
$aFields['DUE_DATE'] = ($taskData['DEL_TASK_DUE_DATE'] != null ? $taskData['DEL_TASK_DUE_DATE'] : G::LoadTranslation('ID_NOT_FINISHED'));
|
||||
$aFields['FINISH'] = ($taskData['DEL_FINISH_DATE'] != null ? $taskData['DEL_FINISH_DATE'] : G::LoadTranslation('ID_NOT_FINISHED'));
|
||||
$aFields['DURATION'] = ($taskData['DEL_FINISH_DATE'] != null ? (int) ($iDiff / 3600) . ' ' . ((int) ($iDiff / 3600) == 1 ? G::LoadTranslation('ID_HOUR') : G::LoadTranslation('ID_HOURS')) . ' ' . (int) (($iDiff % 3600) / 60) . ' ' . ((int) (($iDiff % 3600) / 60) == 1 ? G::LoadTranslation('ID_MINUTE') : G::LoadTranslation('ID_MINUTES')) . ' ' . (int) (($iDiff % 3600) % 60) . ' ' . ((int) (($iDiff % 3600) % 60) == 1 ? G::LoadTranslation('ID_SECOND') : G::LoadTranslation('ID_SECONDS')) : G::LoadTranslation('ID_NOT_FINISHED'));
|
||||
|
||||
return $aFields;
|
||||
}
|
||||
} // Task
|
||||
|
||||
550
workflow/engine/methods/cases/ajaxListener.php
Executable file
550
workflow/engine/methods/cases/ajaxListener.php
Executable file
@@ -0,0 +1,550 @@
|
||||
<?php
|
||||
/**
|
||||
* cases/ajaxListener.php Ajax Listener for Cases rpc requests
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Erik Amaru Ortiz <erik@colosa.com>
|
||||
* @date Jan 3th, 2010
|
||||
*/
|
||||
|
||||
$action = $_REQUEST['action'];
|
||||
$ajax = new Ajax();
|
||||
$ajax->$action();
|
||||
|
||||
class Ajax
|
||||
{
|
||||
|
||||
function steps()
|
||||
{
|
||||
require_once 'classes/model/Step.php';
|
||||
require_once ( "classes/model/Content.php" );
|
||||
require_once ( "classes/model/AppDocument.php" );
|
||||
require_once ( "classes/model/InputDocumentPeer.php" );
|
||||
require_once ( "classes/model/OutputDocument.php" );
|
||||
require_once ( "classes/model/Dynaform.php" );
|
||||
|
||||
G::LoadClass('pmScript');
|
||||
G::LoadClass('case');
|
||||
|
||||
$PRO_UID = $_SESSION['PROCESS'];
|
||||
$TAS_UID = $_SESSION['TASK'];
|
||||
$APP_UID = $_SESSION['APPLICATION'];
|
||||
$tree = Array();
|
||||
$case = new Cases;
|
||||
$step = new Step;
|
||||
$appDocument = new AppDocument;
|
||||
|
||||
$caseSteps = $step->getAllCaseSteps($PRO_UID, $TAS_UID, $APP_UID);
|
||||
|
||||
//g::pr($caseSteps);
|
||||
|
||||
//getting the case record
|
||||
$caseData = $case->loadCase($APP_UID);
|
||||
|
||||
//getting externals steps
|
||||
$oPluginRegistry = &PMPluginRegistry::getSingleton();
|
||||
$externalSteps = $oPluginRegistry->getSteps();
|
||||
|
||||
$pmScript = new PMScript();
|
||||
$pmScript->setFields($caseData['APP_DATA']);
|
||||
|
||||
foreach ($caseSteps as $caseStep) {
|
||||
|
||||
if( trim($caseStep->getStepCondition()) != '' ) {
|
||||
$pmScript->setScript($caseStep->getStepCondition());
|
||||
if( ! $pmScript->evaluate() )
|
||||
continue;
|
||||
}
|
||||
$stepUidObj = $caseStep->getStepUidObj();
|
||||
$stepTypeObj = $caseStep->getStepTypeObj();
|
||||
$stepPosition = $caseStep->getStepPosition();
|
||||
|
||||
$node = new stdClass;
|
||||
$node->id = $stepUidObj;
|
||||
$node->draggable = false;
|
||||
$node->hrefTarget = 'casesSubFrame';
|
||||
|
||||
switch( $caseStep->getStepTypeObj() ) {
|
||||
case 'DYNAFORM':
|
||||
$oDocument = DynaformPeer::retrieveByPK($caseStep->getStepUidObj());
|
||||
|
||||
$node->text = $oDocument->getDynTitle();
|
||||
$node->iconCls = 'ss_sprite ss_application_form';
|
||||
$node->leaf = true;
|
||||
$node->url = "cases_Step?UID=$stepUidObj&TYPE=$stepTypeObj&POSITION=$stepPosition&ACTION=EDIT";
|
||||
break;
|
||||
|
||||
case 'OUTPUT_DOCUMENT':
|
||||
$oDocument = OutputDocumentPeer::retrieveByPK($caseStep->getStepUidObj());
|
||||
$outputDoc = $appDocument->getObject($_SESSION['APPLICATION'], $_SESSION['INDEX'], $caseStep->getStepUidObj(), 'OUTPUT');
|
||||
|
||||
$node->text = $oDocument->getOutDocTitle();
|
||||
$node->iconCls = 'ss_sprite ss_application_put';
|
||||
$node->leaf = true;
|
||||
$node->url = "cases_Step?UID=$stepUidObj&TYPE=$stepTypeObj&POSITION=$stepPosition&ACTION=VIEW&DOC={$outputDoc['APP_DOC_UID']}";
|
||||
break;
|
||||
|
||||
case 'INPUT_DOCUMENT':
|
||||
$oDocument = InputDocumentPeer::retrieveByPK($caseStep->getStepUidObj());
|
||||
//$sType = $oDocument->getInpDocFormNeeded();
|
||||
$node->text = $oDocument->getInpDocTitle();
|
||||
$node->iconCls = 'ss_sprite ss_application_get';
|
||||
$node->leaf = true;
|
||||
$node->url = "cases_Step?UID=$stepUidObj&TYPE=$stepTypeObj&POSITION=$stepPosition&ACTION=ATTACH";
|
||||
break;
|
||||
|
||||
case 'EXTERNAL':
|
||||
$stepTitle = 'unknown ' . $caseStep->getStepUidObj();
|
||||
$oPluginRegistry = PMPluginRegistry::getSingleton();
|
||||
|
||||
foreach ( $externalSteps as $externalStep ) {
|
||||
if ( $externalStep->sStepId == $caseStep->getStepUidObj() ) {
|
||||
$stepTitle = $externalStep->sStepTitle; //default title
|
||||
$sNamespace = $externalStep->sNamespace;
|
||||
$oPlugin =& $oPluginRegistry->getPlugin($sNamespace);
|
||||
$classFile = PATH_PLUGINS . $oPlugin->sNamespace . PATH_SEP . 'class.' . $oPlugin->sNamespace .'.php';
|
||||
if ( file_exists ( $classFile ) ) {
|
||||
require_once ( $classFile );
|
||||
$sClassName = $sNamespace . 'class';
|
||||
$obj = new $sClassName( );
|
||||
if (method_exists($obj, 'getExternalStepTitle')) {
|
||||
$stepTitle = $obj->getExternalStepTitle( $caseStep->getStepUidObj(), $TAS_UID, $caseStep->getStepPosition());
|
||||
}
|
||||
if (method_exists($obj, 'getExternalStepAction')) {
|
||||
$externalStepActions = $obj->getExternalStepAction( $aRow->getStepUidObj(), $aRow->getStepPosition());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$node->text = $stepTitle;
|
||||
$node->leaf = false;
|
||||
$node->url = "";
|
||||
$node->children = Array();
|
||||
|
||||
if( isset($externalStepActions) ) {
|
||||
foreach ( $externalStepActions as $action => $label ) {
|
||||
$childNode->text = $label;
|
||||
$childNode->iconCls = 'ICON_EXTERNAL_STEP';
|
||||
$childNode->leaf = true;
|
||||
$childNode->url = "../cases/cases_Step?TYPE=$stepTypeObj&UID=stepUidObj&POSITION=$stepPosition&ACTION=$action";
|
||||
|
||||
$node->children[] = $childNode;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$tree[] = $node;
|
||||
|
||||
}
|
||||
|
||||
//assign task
|
||||
$node = new stdClass;
|
||||
$node->id = 'ID_ASSIGN_TASK';
|
||||
$node->draggable = false;
|
||||
$node->hrefTarget = 'casesSubFrame';
|
||||
$node->text = G::LoadTranslation('ID_ASSIGN_TASK');
|
||||
$node->iconCls = 'ICON_ASSIGN_TASK';
|
||||
$node->leaf = true;
|
||||
$node->url = "../cases/cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN";
|
||||
$tree[] = $node;
|
||||
|
||||
print(G::json_encode($tree));
|
||||
|
||||
}
|
||||
|
||||
function getInformationOptions()
|
||||
{
|
||||
$options = Array();
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_PROCESS_MAP'), 'fn'=>'processMap');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_PROCESS_INFORMATION'), 'fn'=>'processInformation');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_TASK_INFORMATION'), 'fn'=>'taskInformation');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_CASE_HISTORY'), 'fn'=>'caseHistory');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_HISTORY_MESSAGE_CASE'), 'fn'=>'messageHistory');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_DYNAFORMS'), 'fn'=>'dynaformHistory');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_UPLOADED_DOCUMENTS'), 'fn'=>'uploadedDocuments');
|
||||
$options[] = Array('text' => G::LoadTranslation('ID_GENERATED_DOCUMENTS'), 'fn'=>'generatedDocuments');
|
||||
|
||||
print(G::json_encode($options));
|
||||
}
|
||||
|
||||
function getActionOptions()
|
||||
{
|
||||
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);
|
||||
|
||||
$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;
|
||||
|
||||
$options = Array();
|
||||
|
||||
switch($aFields['APP_STATUS'])
|
||||
{
|
||||
case 'DRAFT':
|
||||
if( !$aRow ) {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_PAUSED_CASE'), 'fn'=>'setUnpauseCaseDate');
|
||||
} else {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_UNPAUSE'), 'fn'=>'unpauseCase');
|
||||
}
|
||||
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_DELETE'), 'fn'=>'deleteCase');
|
||||
|
||||
if( $RBAC->userCanAccess('PM_REASSIGNCASE')==1 ) {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_REASSIGN'), 'fn'=>'getUsersToReassign');
|
||||
}
|
||||
break;
|
||||
|
||||
case 'TO_DO':
|
||||
if(!$aRow) {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_PAUSED_CASE'), 'fn'=>'setUnpauseCaseDate');
|
||||
|
||||
if ($cant == 1) {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_CANCEL'), 'fn'=>'cancelCase');
|
||||
}
|
||||
} else {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_UNPAUSE'), 'fn'=>'unpauseCase');
|
||||
}
|
||||
|
||||
if($RBAC->userCanAccess('PM_REASSIGNCASE')==1) {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_REASSIGN'), 'fn'=>'getUsersToReassign');
|
||||
}
|
||||
break;
|
||||
|
||||
case 'CANCELLED':
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_REACTIVATE'), 'fn'=>'reactivateCase');
|
||||
break;
|
||||
}
|
||||
|
||||
$oTask = new Task();
|
||||
$aTask = $oTask->load($_SESSION['TASK']);
|
||||
if ($aTask['TAS_TYPE'] == 'ADHOC') {
|
||||
$options[] = Array('text'=>G::LoadTranslation('ID_ADHOC_ASSIGNMENT'), 'fn'=>'');
|
||||
}
|
||||
|
||||
print(G::json_encode($options));
|
||||
}
|
||||
|
||||
function processMap()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
global $G_CONTENT;
|
||||
global $G_FORM;
|
||||
global $G_TABLE;
|
||||
global $RBAC;
|
||||
|
||||
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
|
||||
$oTemplatePower->prepare();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
|
||||
|
||||
//$oHeadPublisher->addScriptfile('/jscore/processmap/core/processmap.js');
|
||||
$oHeadPublisher->addScriptCode('
|
||||
window.onload = function(){
|
||||
var pb=leimnud.dom.capture("tag.body 0");
|
||||
Pm=new processmap();
|
||||
|
||||
var params = "{\"uid\":\"' . $_SESSION['PROCESS'] . '\",\"mode\":false,\"ct\":false}";
|
||||
// maximun x and y position
|
||||
var xPos = 0;
|
||||
var yPos = 0;
|
||||
|
||||
//obtaining the processmap object for the current process
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : "../processes/processes_Ajax",
|
||||
async : false,
|
||||
method: "POST",
|
||||
args : "action=load&data="+params
|
||||
});
|
||||
|
||||
oRPC.make();
|
||||
var response = eval(\'(\' + oRPC.xmlhttp.responseText + \')\');
|
||||
|
||||
for (var i in response){
|
||||
if (i==\'task\'){
|
||||
elements = response[i];
|
||||
for (var j in elements){
|
||||
if (elements[j].uid!=undefined){
|
||||
if (elements[j].position.x > xPos){
|
||||
xPos = elements[j].position.x;
|
||||
}
|
||||
if (elements[j].position.y > yPos){
|
||||
yPos = elements[j].position.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Pm.options = {
|
||||
target : "pm_target",
|
||||
dataServer: "../processes/processes_Ajax",
|
||||
uid : "' . $_SESSION['PROCESS'] . '",
|
||||
lang : "' . SYS_LANG . '",
|
||||
theme : "processmaker",
|
||||
size : {w:xPos+800,h:yPos+150},
|
||||
images_dir: "/jscore/processmap/core/images/",
|
||||
rw : false,
|
||||
hideMenu : false
|
||||
}
|
||||
Pm.make();
|
||||
|
||||
oLeyendsPanel = new leimnud.module.panel();
|
||||
oLeyendsPanel.options = {
|
||||
size :{w:160,h:140},
|
||||
position:{x:((document.body.clientWidth * 95) / 100) - ((document.body.clientWidth * 95) / 100 - (((document.body.clientWidth * 95) / 100) - 160)),y:45,center:false},
|
||||
title :G_STRINGS.ID_COLOR_LEYENDS,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:true,close:false},
|
||||
fx :{modal:false,opacity:false,blinkToFront:true,fadeIn:false,drag:false}
|
||||
};
|
||||
oLeyendsPanel.setStyle = {
|
||||
content:{overflow:"hidden"}
|
||||
};
|
||||
oLeyendsPanel.events = {
|
||||
remove: function() {delete(oLeyendsPanel);}.extend(this)
|
||||
};
|
||||
oLeyendsPanel.make();
|
||||
oLeyendsPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : "cases_Ajax",
|
||||
args: "action=showLeyends"
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oLeyendsPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oLeyendsPanel.addContent(rpc.xmlhttp.responseText);
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}');
|
||||
|
||||
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function getProcessInformation()
|
||||
{
|
||||
require_once 'classes/model/Process.php';
|
||||
$process = new Process();
|
||||
$processData = $process->load($_SESSION['PROCESS']);
|
||||
require_once 'classes/model/Users.php';
|
||||
$user = new Users();
|
||||
try {
|
||||
$userData = $user->load($processData['PRO_CREATE_USER']);
|
||||
$processData['PRO_AUTHOR'] = $userData['USR_FIRSTNAME'] . ' ' . $userData['USR_LASTNAME'];
|
||||
} catch ( Exception $oError ) {
|
||||
$processData['PRO_AUTHOR'] = '(USER DELETED)';
|
||||
}
|
||||
|
||||
$processData['PRO_CREATE_DATE'] = date('F j, Y', strtotime($processData['PRO_CREATE_DATE']));
|
||||
|
||||
print(G::json_encode($processData));
|
||||
}
|
||||
|
||||
function getTaskInformation()
|
||||
{
|
||||
require_once 'classes/model/Task.php';
|
||||
$task = new Task();
|
||||
$taskData = $task->getDelegatedTaskData($_SESSION['TASK'], $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
|
||||
print(G::json_encode($taskData));
|
||||
}
|
||||
|
||||
function caseHistory()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
G::LoadClass("case");
|
||||
$c = Cases::getTransferHistoryCriteria($_SESSION['APPLICATION']);
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_TransferHistory', $c, array());
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function messageHistory()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
G::LoadClass("case");
|
||||
$oCase = new Cases();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_Messages', $oCase->getHistoryMessagesTracker($_SESSION['APPLICATION']));
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function dynaformHistory()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
G::LoadClass("case");
|
||||
$oCase = new Cases();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllDynaformsList', $oCase->getallDynaformsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']));
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function uploadedDocuments()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
G::LoadClass("case");
|
||||
$oCase = new Cases();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllInputdocsList', $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']));
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function generatedDocuments()
|
||||
{
|
||||
global $G_PUBLISH;
|
||||
G::LoadClass("case");
|
||||
$oCase = new Cases();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'cases/cases_AllOutputdocsList', $oCase->getAllGeneratedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['TASK'], $_SESSION['USER_LOGGED']));
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
|
||||
function cancelCase()
|
||||
{
|
||||
G::LoadClass("case");
|
||||
$oCase = new Cases();
|
||||
$multiple = false;
|
||||
|
||||
if( isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX']) ) {
|
||||
$APP_UID = $_POST['APP_UID'];
|
||||
$DEL_INDEX = $_POST['DEL_INDEX'];
|
||||
|
||||
$appUids = explode(',', $APP_UID);
|
||||
$delIndexes = explode(',', $DEL_INDEX);
|
||||
if( count($appUids) > 1 && count($delIndexes) > 1 )
|
||||
$multiple = true;
|
||||
} else if( isset($_POST['sApplicationUID']) && isset($_POST['iIndex']) ){
|
||||
$APP_UID = $_POST['sApplicationUID'];
|
||||
$DEL_INDEX = $_POST['iIndex'];
|
||||
} else {
|
||||
$APP_UID = $_SESSION['APPLICATION'];
|
||||
$DEL_INDEX = $_SESSION['INDEX'];
|
||||
}
|
||||
|
||||
if( $multiple ) {
|
||||
foreach($appUids as $i=>$appUid)
|
||||
$oCase->cancelCase($appUid, $delIndexes[$i], $_SESSION['USER_LOGGED']);
|
||||
} else
|
||||
$oCase->cancelCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED']);
|
||||
}
|
||||
|
||||
function getUsersToReassign()
|
||||
{
|
||||
G::LoadClass("case");
|
||||
$case = new Cases();
|
||||
$result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED']);
|
||||
|
||||
print G::json_encode($result);
|
||||
|
||||
}
|
||||
|
||||
function reassignCase()
|
||||
{
|
||||
require_once 'classes/model/Application.php';
|
||||
require_once 'classes/model/Users.php';
|
||||
G::LoadClass("case");
|
||||
$cases = new Cases();
|
||||
$user = new Users();
|
||||
$app = new Application();
|
||||
|
||||
$TO_USR_UID = $_POST['USR_UID'];
|
||||
try{
|
||||
$cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID);
|
||||
$caseData = $app->load($_SESSION['APPLICATION']);
|
||||
$userData = $user->load($TO_USR_UID);
|
||||
//print_r($caseData);
|
||||
$data['APP_NUMBER'] = $caseData['APP_NUMBER'];
|
||||
$data['USER'] = $userData['USR_LASTNAME'].' '. $userData['USR_FIRSTNAME']; //TODO change with the farmated username from environment conf
|
||||
$result->status = 0;
|
||||
$result->msg = G::LoadTranslation('ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data);
|
||||
} catch(Exception $e){
|
||||
$result->status = 1;
|
||||
$result->msg = $e->getMessage();
|
||||
}
|
||||
|
||||
print G::json_encode($result);
|
||||
}
|
||||
|
||||
|
||||
function pauseCase()
|
||||
{
|
||||
try{
|
||||
G::LoadClass("case");
|
||||
$unpauseDate = $_REQUEST['unpauseDate'];
|
||||
$oCase = new Cases();
|
||||
if( isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX']) ) {
|
||||
$APP_UID = $_POST['APP_UID'];
|
||||
$DEL_INDEX = $_POST['DEL_INDEX'];
|
||||
} else if( isset($_POST['sApplicationUID']) && isset($_POST['iIndex']) ){
|
||||
$APP_UID = $_POST['sApplicationUID'];
|
||||
$DEL_INDEX = $_POST['iIndex'];
|
||||
} else {
|
||||
$APP_UID = $_SESSION['APPLICATION'];
|
||||
$DEL_INDEX = $_SESSION['INDEX'];
|
||||
}
|
||||
|
||||
$oCase->pauseCase($APP_UID, $DEL_INDEX, $_SESSION['USER_LOGGED'], $unpauseDate);
|
||||
$app = new Application();
|
||||
$caseData = $app->load($APP_UID);
|
||||
$data['APP_NUMBER'] = $caseData['APP_NUMBER'];
|
||||
$data['UNPAUSE_DATE'] = $unpauseDate;
|
||||
|
||||
$result->success = true;
|
||||
$result->msg = G::LoadTranslation('ID_CASE_PAUSED_SUCCESSFULLY', SYS_LANG, $data);
|
||||
} catch(Exception $e) {
|
||||
$result->success = false;
|
||||
$result->msg = $e->getMessage();
|
||||
}
|
||||
echo G::json_encode($result);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -83,6 +83,7 @@ $G_SUB_MENU = 'caseOptions';
|
||||
$G_ID_MENU_SELECTED = 'CASES';
|
||||
$G_ID_SUB_MENU_SELECTED = '_';
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(false, true, false)");
|
||||
$oHeadPublisher->addScriptCode('
|
||||
var Cse = {};
|
||||
Cse.panels = {};
|
||||
@@ -101,4 +102,4 @@ $oHeadPublisher->addScriptFile('/jscore/cases/core/cases_Step.js');
|
||||
|
||||
$G_PUBLISH = new Publisher;
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_CatchSelfService.xml', '', $Fields, 'cases_CatchExecute');
|
||||
G::RenderPage( 'publish', 'green-submenu');
|
||||
G::RenderPage( 'publish', 'blank');
|
||||
|
||||
@@ -73,11 +73,13 @@
|
||||
$Fields['STATUS'] = ucfirst(strtolower(G::LoadTranslation('ID_CANCELLED')));
|
||||
break;
|
||||
}
|
||||
|
||||
//$Fields['STATUS'] = $aRow['APP_TYPE'];
|
||||
}
|
||||
|
||||
/* Render page */
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(false, true, false)");
|
||||
$oHeadPublisher->addScriptCode('
|
||||
var Cse = {};
|
||||
Cse.panels = {};
|
||||
@@ -105,4 +107,4 @@
|
||||
$oHeadPublisher->addScriptFile('/jscore/cases/core/cases_Step.js');
|
||||
$G_PUBLISH = new Publisher;
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '');
|
||||
G::RenderPage( 'publish', 'green-submenu');
|
||||
G::RenderPage( 'publish', 'blank');
|
||||
|
||||
@@ -933,7 +933,7 @@
|
||||
$oDbConnections = new dbConnections($_SESSION['PROCESS']);
|
||||
$oDbConnections->loadAdditionalConnections();
|
||||
$stepFilename = "$sNamespace/$sStepName";
|
||||
$G_PUBLISH->AddContent('content', $stepFilename );
|
||||
$G_PUBLISH->AddContent('content', $stepFilename);
|
||||
break;
|
||||
|
||||
}
|
||||
@@ -951,6 +951,7 @@
|
||||
|
||||
/* Render page */
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptCode("parent.showCaseNavigatorPanel(true, true, true);");
|
||||
$oHeadPublisher->addScriptCode('
|
||||
var showSteps = function()
|
||||
{
|
||||
@@ -993,7 +994,7 @@
|
||||
else
|
||||
$skin = "green";
|
||||
|
||||
G::RenderPage('publish', $skin . '-submenu');
|
||||
G::RenderPage('publish', 'blank');
|
||||
|
||||
if( $_SESSION['TRIGGER_DEBUG']['ISSET'] ){
|
||||
G::evalJScript('showdebug();');
|
||||
|
||||
47
workflow/engine/methods/cases/open.php
Executable file
47
workflow/engine/methods/cases/open.php
Executable file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* open.php Open Case main processor
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Erik Amaru Ortiz <erik@colosa.com>
|
||||
* @date Jan 3th, 2010
|
||||
*/
|
||||
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->usingExtJs('ux/miframe');
|
||||
$oHeadPublisher->addExtJsScript('cases/open', true);
|
||||
//
|
||||
$uri = '';
|
||||
foreach($_GET as $k=>$v)
|
||||
$uri .= ($uri == '')? "$k=$v": "&$k=$v";
|
||||
|
||||
G::LoadClass("configuration");
|
||||
G::LoadClass("case");
|
||||
$conf = new Configurations;
|
||||
|
||||
$oHeadPublisher->assign('uri', 'cases_Open?' . $uri);
|
||||
$oHeadPublisher->assign('_ENV_CURRENT_DATE', $conf->getSystemDate(date('Y-m-d')));
|
||||
G::RenderPage('publish', 'extJs');
|
||||
|
||||
|
||||
@@ -48,7 +48,8 @@ function openCase(){
|
||||
case 'sent': // = participated
|
||||
params += 'APP_UID=' + appUid;
|
||||
params += '&DEL_INDEX=' + delIndex;
|
||||
requestFile = '../cases/cases_Open';
|
||||
//requestFile = '../cases/cases_Open';
|
||||
requestFile = 'open';
|
||||
break;
|
||||
case 'todo':
|
||||
case 'draft':
|
||||
@@ -57,10 +58,12 @@ function openCase(){
|
||||
default:
|
||||
params += 'APP_UID=' + appUid;
|
||||
params += '&DEL_INDEX=' + delIndex;
|
||||
requestFile = '../cases/cases_Open';
|
||||
//requestFile = '../cases/cases_Open';
|
||||
requestFile = 'open';
|
||||
break;
|
||||
}
|
||||
|
||||
parent._CASE_TITLE = caseTitle;
|
||||
params += '&action=' + action;
|
||||
redirect(requestFile + '?' + params);
|
||||
|
||||
|
||||
@@ -379,3 +379,10 @@ Pone en mayúsuclas el texto que se encuentra en el toolbar de arriba
|
||||
border:1px solid #c1c1c1 !important;
|
||||
border-right:none !important;
|
||||
}
|
||||
|
||||
.ICON_STEPS {
|
||||
background-image:url(/images/steps.png) !important;
|
||||
}
|
||||
.ICON_ASSIGN_TASK {
|
||||
background-image:url(/images/flechav1A.png) !important;
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ var debugVariablesFilter;
|
||||
var ReloadTreeMenuItemDetail;
|
||||
var NOTIFIER_FLAG = false;
|
||||
var result;
|
||||
|
||||
var _action = '';
|
||||
var _CASE_TITLE;
|
||||
|
||||
new Ext.KeyMap(document, {
|
||||
key: Ext.EventObject.F5,
|
||||
@@ -710,3 +710,6 @@ function setDefaultOption(){
|
||||
//document.getElementById('casesSubFrame').src = "casesListExtJs";
|
||||
}
|
||||
|
||||
var notify = function(title, msg){
|
||||
PMExt.notify(title, msg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user