diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index ce374db8c..fe1319b0f 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -1213,8 +1213,17 @@ function G_Text(form, element, name) if (me.validate == 'Any' && me.mask == '') return true; var pressKey = (window.event)? window.event.keyCode : event.which; - if (pressKey == 107 || pressKey == 187 || pressKey == 191 || pressKey == 192 || pressKey == 172 || pressKey == 171 || pressKey == 226 || pressKey == 220 || pressKey == 226 || pressKey == 0 || pressKey == 221 || pressKey == 222 || pressKey == 186) { - pressKey = 43; + + if (me.validate == "NodeName" && (pressKey == 189 || pressKey == 173)) { + return true; + } + + if (me.validate == "NodeName" && (pressKey == 0 || pressKey == 192 || pressKey == 109)) { + return false; + } + + if (pressKey == 107 || pressKey == 187 || pressKey == 191 || pressKey == 172 || pressKey == 171 || pressKey == 226 || pressKey == 220 || pressKey == 226 || pressKey == 221 || pressKey == 222 || pressKey == 186) { + pressKey = 43; } switch(pressKey){ @@ -1464,6 +1473,14 @@ function G_Text(form, element, name) if (keyCode == 0) return true; } + if (me.browser.name == 'Microsoft Internet Explorer' || me.browser.name == 'Netscape'){ + if (event.preventDefault) { + event.preventDefault(); + } else { + event.returnValue = false; + } + } + if (me.browser.name == 'Chrome' || me.browser.name == 'Safari'){ event.returnValue = false; } @@ -2960,6 +2977,7 @@ var validateForm = function(sRequiredFields) { * i.ei
0 ) { sRequiredFields = sRequiredFields.replace(/%27/gi, '"'); } @@ -3930,15 +3948,15 @@ function dropDownSetOption(elem, arrayOption) function dynaFormChanged(frm) { for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) { - + if((frm.elements[i1].type=="radio" || frm.elements[i1].type=="checkbox") && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)) { return true; } - + if((frm.elements[i1].type=="textarea" || frm.elements[i1].type=="text" || frm.elements[i1].type=="file") && (frm.elements[i1].value!=frm.elements[i1].defaultValue)) { return true; } - + if (frm.elements[i1].tagName.toLowerCase() == "select") { var selectDefaultValue = frm.elements[i1].value; diff --git a/gulliver/js/grid/core/grid.js b/gulliver/js/grid/core/grid.js index bea3a816b..7905c876b 100755 --- a/gulliver/js/grid/core/grid.js +++ b/gulliver/js/grid/core/grid.js @@ -98,6 +98,13 @@ var G_Grid = function(oForm, sGridName){ this.aElements[this.aElements.length - 1].mask = this.aFields[j].oProperties.sMask; } break; + case "date": + this.aElements.push(new G_Date(oForm, elem, elemName)); + + if (this.aFields[j].oProperties) { + this.aElements[this.aElements.length - 1].mask = dateSetMask(this.aFields[j].oProperties.mask); + } + break; default: this.aElements.push(new G_Field(oForm, elem, elemName)); diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index 5457d1b7f..a76fb9ece 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1024,7 +1024,9 @@ switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCur break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;} break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;} if(newCursor<0)newCursor=0;me.element.value=newValue;me.setSelectionRange(newCursor,newCursor);}};this.sendOnChange=function(){if(me.element.fireEvent){me.element.fireEvent("onchange");}else{var evObj=document.createEvent('HTMLEvents');evObj.initEvent('change',true,true);me.element.dispatchEvent(evObj);}};this.handleKeyDown=function(event){if(me.element.readOnly){return true;} -if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(pressKey==107||pressKey==187||pressKey==191||pressKey==192||pressKey==172||pressKey==171||pressKey==226||pressKey==220||pressKey==226||pressKey==0||pressKey==221||pressKey==222||pressKey==186){pressKey=43;} +if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(me.validate=="NodeName"&&(pressKey==189||pressKey==173)){return true;} +if(me.validate=="NodeName"&&(pressKey==0||pressKey==192||pressKey==109)){return false;} +if(pressKey==107||pressKey==187||pressKey==191||pressKey==172||pressKey==171||pressKey==226||pressKey==220||pressKey==226||pressKey==221||pressKey==222||pressKey==186){pressKey=43;} switch(pressKey){case 8:case 46:case 35:case 36:case 37:case 38:case 39:case 40:case 43:if((pressKey==8||pressKey==46)&&me.validate=="NodeName"){return true;} if(pressKey==46&&me.validate=="Email"){return true;} if(me.validate=="Email"&&pressKey!=8&&(me.element.value.length>me.element.maxLength-1)){return false;} @@ -1058,6 +1060,7 @@ if(pressKey==46){me.applyMask(256);} else{me.applyMask(pressKey);} if(updateOnChange){me.sendOnChange();}} if(me.browser.name=='Firefox'){if(keyCode==0)return true;} +if(me.browser.name=='Microsoft Internet Explorer'||me.browser.name=='Netscape'){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}} if(me.browser.name=='Chrome'||me.browser.name=='Safari'){event.returnValue=false;} else{return false;}}};if(this.element){this.element.onblur=function(event) {var evt=event||window.event;var keyPressed=evt.which||evt.keyCode;if((me.mask!='')&&((me.mType=='currency')||(me.mType=='percentage')||((me.validate=="Real")&&(me.mType=='text')))&&(me.mask.indexOf('-')==-1)&&(me.element.value!='')){masks=me.mask;aMasks=masks.split(';');for(m=0;m=0;p--){if(txtRealMask[p]!='#'&&txtRealMask[p]!='%'&&txtRealMask[p]!=' '){separatorField=txtRealMask[p];break;}}} @@ -1207,7 +1210,7 @@ dropdowns=grids[j].getElementsByTagName('select');for(i=0;i0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');} +sRequiredFields=sRequiredFields.replace(/\n/g," ");if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%27")>0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');} if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%39")>0){sRequiredFields=sRequiredFields.replace(/%39/gi,"'");} aRequiredFields=eval(sRequiredFields);var sMessage='';var invalid_fields=Array();var fielEmailInvalid=Array();for(var i=0;itype) { case 'radiogroup': $values[$k] = $newValues[$k]; - $values[$k . "_label"] = $newValues[$k . "_label"] = $v->options[$newValues[$k]]; + + if (isset($v->options[$newValues[$k]])) { + $values[$k . "_label"] = $newValues[$k . "_label"] = $v->options[$newValues[$k]]; + } else { + $query = G::replaceDataField( $this->fields[$k]->sql, $newValues ); + + //Execute just if a query was set, it should be not empty + if (trim($query) == "") { + continue; //if it is empty string skip it + } + + //We do the query to the external connection and we've got the label + $con = Propel::getConnection(($this->fields[$k]->sqlConnection != "") ? $this->fields[$k]->sqlConnection : "workflow"); + $stmt = $con->prepareStatement($query); + $rs = $stmt->executeQuery(ResultSet::FETCHMODE_NUM); + + while ($rs->next()) { + list ($rowId, $rowContent) = $rs->getRow(); + if ($newValues[$k] == $rowId) { + $values[$k . "_label"] = $rowContent; + break; + } + } + } break; case 'suggest': $values[$k] = $newValues[$k]; @@ -548,6 +571,15 @@ class Form extends XmlForm //This value is added when the user does not mark any checkbox $values[$k] = "__NULL__"; break; + case "grid": + $values[$k] = $_FILES["form"]["name"][$k]; + foreach ($values[$k] as $inp => $ii){ + foreach ($ii as $oo => $ee){ + $x = $v->fields; + $_POST["INPUTS"][$k][$oo] = $x[$oo]->input; + } + } + break; } } } else { @@ -690,6 +722,9 @@ class Form extends XmlForm break; case "grid": $i = 0; + if (!is_array($data[$v->name])) { + $data[$v->name] = array(); + } foreach ($data[$v->name] as $dataGrid) { $i = $i + 1; diff --git a/gulliver/system/class.xmlform.php b/gulliver/system/class.xmlform.php index e6153ba3c..d6555fe30 100755 --- a/gulliver/system/class.xmlform.php +++ b/gulliver/system/class.xmlform.php @@ -319,6 +319,15 @@ class XmlForm_Field if ($this->sql === '') { return 1; } + + if(isset($this->mode) && $this->mode == "edit" && (isset($this->owner->values[$this->name]) && $this->owner->values[$this->name] !== "")){ + return 1; + } + + if(isset($this->mode) && $this->mode == "view" && ($this->type == "text" || $this->type == "currency" || $this->type == "percentage" || $this->type == "textarea" || $this->type == "hidden" || $this->type == "suggest")){ + return 1; + } + if (! $this->sqlConnection) { $this->sqlConnection = 'workflow'; } diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 8285ba92d..8bb3c22b2 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -577,7 +577,7 @@ class Cases if ($jump != '') { $aCases = $oAppDel->LoadParallel($sAppUid); $aFields['TAS_UID'] = ''; - $aFields['CURRENT_USER'] = ''; + $aFields['CURRENT_USER'] = array(); foreach ($aCases as $key => $value) { $oCurUser->load($value['USR_UID']); $aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname(); @@ -5069,7 +5069,8 @@ class Cases "INPUT" => Array(), "OUTPUT" => Array(), "CASES_NOTES" => 0, - "MSGS_HISTORY" => Array() + "MSGS_HISTORY" => Array(), + "SUMMARY_FORM" => 0 ); //permissions per user @@ -5226,6 +5227,7 @@ class Cases $oDataset->next(); } $RESULT['CASES_NOTES'] = 1; + $RESULT['SUMMARY_FORM'] = 1; // Message History $RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION); @@ -5373,6 +5375,9 @@ class Cases case 'CASES_NOTES': $RESULT['CASES_NOTES'] = 1; break; + case 'SUMMARY_FORM': + $RESULT['SUMMARY_FORM'] = 1; + break; case 'MSGS_HISTORY': // Permission $RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION); @@ -5424,7 +5429,8 @@ class Cases "INPUT_DOCUMENTS" => $RESULT['INPUT'], "OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'], "CASES_NOTES" => $RESULT['CASES_NOTES'], - "MSGS_HISTORY" => $RESULT['MSGS_HISTORY'] + "MSGS_HISTORY" => $RESULT['MSGS_HISTORY'], + "SUMMARY_FORM" => $RESULT['SUMMARY_FORM'] ); } diff --git a/workflow/engine/classes/class.patch.php b/workflow/engine/classes/class.patch.php index 1f8eab0e6..4a5ce313c 100644 --- a/workflow/engine/classes/class.patch.php +++ b/workflow/engine/classes/class.patch.php @@ -49,6 +49,15 @@ class p11835 extends patch return patch::$isPathchable; } + public static function pmVersion($version) + { + if (preg_match("/^\D*([\d\.]+)\D*$/", $version, $matches)) { + $version = $matches[1]; + } + + return $version; + } + /* * Note.- Use after DB was upgraded. * Set the patch, setting all the TAS_GROUP_VARIABLE to '' @@ -83,7 +92,38 @@ class p11835 extends patch $aRow = $recordSet->getRow(); } } - echo $count. " records where patched to use SELF_SERVICE feature.\n"; + + //Fix BUG-15394 + + G::LoadClass("configuration"); + + $conf = new Configurations(); + + if (!$conf->exists("HOTFIX")) { + //HOTFIX, Create empty record + $conf->aConfig = array(); + $conf->saveConfig("HOTFIX", ""); + } + + $arrayHotfix = $conf->getConfiguration("HOTFIX", ""); + $arrayHotfix = (is_array($arrayHotfix))? $arrayHotfix : array($arrayHotfix); + + $pmVersion = self::pmVersion(System::getVersion()) . ""; + + if (($pmVersion == "2.5.2.4" || $pmVersion == "2.8") && !in_array("15394", $arrayHotfix)) { + $cnn = Propel::getConnection("workflow"); + $stmt = $cnn->prepareStatement("UPDATE USERS_PROPERTIES SET USR_LOGGED_NEXT_TIME = 0"); + $rs = $stmt->executeQuery(); + + //HOTFIX, Update record (add 15394) + $arrayHotfix[] = "15394"; + + $conf->aConfig = $arrayHotfix; + $conf->saveConfig("HOTFIX", ""); + } + + //echo + echo $count . " records where patched to use SELF_SERVICE feature.\n"; } } diff --git a/workflow/engine/classes/class.plugin.php b/workflow/engine/classes/class.plugin.php index 43e07c25c..0365290b1 100755 --- a/workflow/engine/classes/class.plugin.php +++ b/workflow/engine/classes/class.plugin.php @@ -42,6 +42,7 @@ define('PM_CREATE_NEW_DELEGATION', 1013); define('PM_SINGLE_SIGN_ON', 1014); define('PM_GET_CASES_AJAX_LISTENER', 1015); define('PM_BEFORE_CREATE_USER', 1016); +define('PM_AFTER_LOGIN', 1017); diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 225e6b3fd..c8fffd14b 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -3639,6 +3639,10 @@ class processMap $sObjectType = G::LoadTranslation('MSGS_HISTORY'); $sObject = G::LoadTranslation('ID_ALL'); break; + case 'SUMMARY_FORM': + $sObjectType = G::LoadTranslation('ID_SUMMARY_FORM'); + $sObject = G::LoadTranslation('ID_ALL'); + break; default: $sObjectType = G::LoadTranslation('ID_ALL'); $sObject = G::LoadTranslation('ID_ALL'); diff --git a/workflow/engine/classes/class.system.php b/workflow/engine/classes/class.system.php index 6b1d6085d..7d99fea99 100755 --- a/workflow/engine/classes/class.system.php +++ b/workflow/engine/classes/class.system.php @@ -1142,7 +1142,7 @@ class System @preg_match( $patt, $content, $match ); if (is_array( $match ) && count( $match ) > 0 && isset( $match[1] )) { - $newUrl = 'sys/' . $conf['lang'] . '/' . $conf['skin'] . '/login/login'; + $newUrl = "sys/" . (($conf["lang"] != "")? $conf["lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $conf["skin"] . "/login/login"; $newMetaStr = str_replace( $match[1], $newUrl, $match[0] ); $newContent = str_replace( $match[0], $newMetaStr, $content ); diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index ed23b0035..ca9f811ec 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -532,6 +532,29 @@ class workspaceTools $oCriteria->add(ConfigurationPeer::OBJ_UID, array("todo", "draft", "sent", "unassigned", "paused", "cancelled"), Criteria::NOT_IN); ConfigurationPeer::doDelete($oCriteria); // end of reset + + //close connection + $connection = Propel::getConnection( 'workflow' ); + + $sql_sleep = "SELECT * FROM information_schema.processlist WHERE command = 'Sleep' and user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;"; + $stmt_sleep = $connection->createStatement(); + $rs_sleep = $stmt_sleep->executeQuery( $sql_sleep, ResultSet::FETCHMODE_ASSOC ); + + while ($rs_sleep->next()) { + $row_sleep = $rs_sleep->getRow(); + $oStatement_sleep = $connection->prepareStatement( "kill ". $row_sleep['ID'] ); + $oStatement_sleep->executeQuery(); + } + + $sql_query = "SELECT * FROM information_schema.processlist WHERE user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;"; + $stmt_query = $connection->createStatement(); + $rs_query = $stmt_query->executeQuery( $sql_query, ResultSet::FETCHMODE_ASSOC ); + + while ($rs_query->next()) { + $row_query = $rs_query->getRow(); + $oStatement_query = $connection->prepareStatement( "kill ". $row_query['ID'] ); + $oStatement_query->executeQuery(); + } } /** diff --git a/workflow/engine/classes/model/AppCacheView.php b/workflow/engine/classes/model/AppCacheView.php index cc049f67a..9290ac54e 100755 --- a/workflow/engine/classes/model/AppCacheView.php +++ b/workflow/engine/classes/model/AppCacheView.php @@ -1051,8 +1051,8 @@ class AppCacheView extends BaseAppCacheView $criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL)->addAnd( $criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED")) )->addOr( - //Completed - getCompleted() - $criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL) + $criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)->addAnd( + $criteria->getNewCriterion(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL)) ); if (!$doCount) { diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index a73b98e7b..11d22f872 100755 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -211,6 +211,8 @@ class AppDelegation extends BaseAppDelegation public function LoadParallel ($AppUid) { + $aCases = array(); + $c = new Criteria( 'workflow' ); $c->addSelectColumn( AppDelegationPeer::APP_UID ); $c->addSelectColumn( AppDelegationPeer::DEL_INDEX ); diff --git a/workflow/engine/classes/model/OutputDocument.php b/workflow/engine/classes/model/OutputDocument.php index e2061789b..af1e3ad1e 100755 --- a/workflow/engine/classes/model/OutputDocument.php +++ b/workflow/engine/classes/model/OutputDocument.php @@ -844,7 +844,9 @@ class OutputDocument extends BaseOutputDocument //$pdf->SetFont('dejavusans', '', 14, '', true); // Detect chinese, japanese, thai if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) { - $pdf->SetFont('kozminproregular'); + $fileArialunittf = PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "fonts" . PATH_SEP . "arialuni.ttf"; + + $pdf->SetFont((!file_exists($fileArialunittf))? "kozminproregular" : $pdf->addTTFfont($fileArialunittf, "TrueTypeUnicode", "", 32)); } // Add a page diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 9fd837158..8944b8fb5 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ProcessMaker 2.5.2.3\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2014-07-03 12:29:08\n" +"PO-Revision-Date: 2014-07-22 13:19:57\n" "Last-Translator: \n" "Language-Team: Colosa Developers Team \n" "MIME-Version: 1.0\n" @@ -5032,8 +5032,8 @@ msgstr "To delete a language you should select a item from the list first." # TRANSLATION # LABEL/ID_DELETE_LANGUAGE_CONFIRM #: LABEL/ID_DELETE_LANGUAGE_CONFIRM -msgid "Do you want remove the language \"{0}\" ?" -msgstr "Do you want remove the language \"{0}\" ?" +msgid "Are you sure you want to delete the language \"{0}\"?" +msgstr "Are you sure you want to delete the language \"{0}\"?" # TRANSLATION # LABEL/ID_DELETE_LANGUAGE @@ -16339,6 +16339,18 @@ msgstr "The variable \"{0}\" required the variables \"{1}\" for the query." msgid "The Output Document with {0}: {1} it's assigned in \"{2}\"." msgstr "The Output Document with {0}: {1} it's assigned in \"{2}\"." +# TRANSLATION +# LABEL/ID_EXISTS_FILES +#: LABEL/ID_EXISTS_FILES +msgid "The file exists." +msgstr "The file exists." + +# TRANSLATION +# LABEL/ID_FILENAME_REQUIRED +#: LABEL/ID_FILENAME_REQUIRED +msgid "The filename is required." +msgstr "The filename is required." + # additionalTables/additionalTablesData.xml?ADD_TAB_NAME # additionalTables/additionalTablesData.xml #: text - ADD_TAB_NAME diff --git a/workflow/engine/controllers/admin.php b/workflow/engine/controllers/admin.php index 51c7f6b2c..13c752552 100644 --- a/workflow/engine/controllers/admin.php +++ b/workflow/engine/controllers/admin.php @@ -30,6 +30,7 @@ class Admin extends Controller $timeZonesList = array_keys( $timeZonesList ); $mainController = new Main(); $languagesList = $mainController->getLanguagesList(); + $languagesList[] = array ("", G::LoadTranslation("ID_USE_LANGUAGE_URL")); $sysConf = System::getSystemConfiguration( PATH_CONFIG . 'env.ini' ); foreach ($skinsList['skins'] as $skin) { diff --git a/workflow/engine/controllers/adminProxy.php b/workflow/engine/controllers/adminProxy.php index 459d7154a..b6e5b7fbd 100644 --- a/workflow/engine/controllers/adminProxy.php +++ b/workflow/engine/controllers/adminProxy.php @@ -119,7 +119,7 @@ class adminProxy extends HttpProxyController $this->success = true; $this->restart = $restart; - $this->url = '/sys' . SYS_SYS . '/' . $sysConf['default_lang'] . '/' . $sysConf['default_skin'] . $urlPart; + $this->url = "/sys" . SYS_SYS . "/" . (($sysConf["default_lang"] != "")? $sysConf["default_lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $sysConf["default_skin"] . $urlPart; $this->message = 'Saved Successfully'; } diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index f3a5f210d..9b99f8e98 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -334,6 +334,7 @@ class Ajax $processData['PRO_AUTHOR'] = '(USER DELETED)'; } + G::LoadClass('configuration'); $conf = new Configurations(); $conf->getFormats(); $processData['PRO_CREATE_DATE'] = $conf->getSystemDate($processData['PRO_CREATE_DATE']); @@ -809,7 +810,7 @@ class Ajax public function dynaformViewFromHistory() { ?> - +