Merge remote branch 'upstream/master' into BUG-8038

This commit is contained in:
Marco Antonio Nina
2012-08-16 17:56:32 -04:00
22 changed files with 807 additions and 623 deletions

View File

@@ -1785,8 +1785,8 @@ function highlightRow(o, color){
* @Param <none>
* @Return <none>
*/
String.prototype.trim = function() {
return this.replace(/^\s+|\s+get/g,"");
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
function clearCalendar(id){
@@ -2113,3 +2113,22 @@ function _()
}
return trn;
}
/**
* String Replace function, if StrSearch has special characters "(", "[", must be escape "\\(", "\\[".
*/
function stringReplace(strSearch, stringReplace, str)
{
var expression = eval("/" + strSearch + "/g");
return str.replace(expression, stringReplace);
}
var mb_strlen = function(str) {
var len = 0;
for (var i = 0; i < str.length; i++) {
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? 2 : 1;
}
return len;
};

View File

@@ -473,9 +473,8 @@ Ext.util.Format.capitalize = (function(){
/**
* left and right delete the blank characteres (String prototype)
*/
String.prototype.trim = function() {
return this.replace(/^\s+|\s+get/g,"");
//return Ext.util.Format.trim(this);
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.nl2br = function () {

View File

@@ -3547,11 +3547,5 @@ function dateSetMask(mask) {
return mask;
}
function stringReplace(strSearch, stringReplace, str)
{
var expression = eval("/" + strSearch + "/g");
return str.replace(expression, stringReplace);
}
/* end file */

View File

@@ -11,6 +11,7 @@
//static variable for suggest responses. @By Erik <erik@colosa.com>
var Static_AutosuggestResponseData;
var swStoreEntry = 1;
if (typeof(bsn) == "undefined")
@@ -72,76 +73,93 @@ _b.AutoSuggest = function (id, param)
};
_b.AutoSuggest.prototype.onKeyPress = function(ev)
_b.AutoSuggest.prototype.onKeyPress = function (ev)
{
var key = (window.event)? window.event.keyCode : ev.keyCode;
var key = (window.event) ? window.event.keyCode : ev.keyCode;
var RETURN = 13;
var TAB = 9;
var ESC = 27;
var RETURN = 13;
var TAB = 9;
var ESC = 27;
var bubble = 1;
var bubble = 1;
switch (key) {
case RETURN:
if (typeof this.oP.storeEntryData != "undefined" && this.oP.storeEntryData[0] == 1) {
var elem = document.getElementById(this.oP.storeEntryData[1]);
switch(key)
{
case RETURN:
this.setHighlightedValue();
bubble = 0;
//added by erik, this is for enter press, no new line into text area
return false;
break;
if (elem.value != "" && swStoreEntry == 1 &&
typeof Static_AutosuggestResponseData != "undefined" && Static_AutosuggestResponseData.results.length > 0
) {
for (var i = 0 ; i <= Static_AutosuggestResponseData.results.length - 1; i++) {
if (Static_AutosuggestResponseData.results[i].value == elem.value) {
swStoreEntry = 0;
}
}
}
case ESC:
this.clearSuggestions();
break;
}
if (elem.value == "") {
swStoreEntry = 0;
}
return bubble;
if (swStoreEntry == 1) {
storeEntryProcessAjax(
elem,
this.oP.storeEntryData[2],
this.oP.storeEntryData[3],
this.oP.storeEntryData[4],
this.oP.storeEntryData[5],
this.oP.storeEntryData[6]
);
}
}
this.setHighlightedValue();
bubble = 0;
//added by erik, this is for enter press, no new line into text area
return false;
break;
case ESC:
this.clearSuggestions();
break;
default:
swStoreEntry = 1;
break;
}
return bubble;
};
_b.AutoSuggest.prototype.onKeyUp = function(ev)
_b.AutoSuggest.prototype.onKeyUp = function (ev)
{
var key = (window.event) ? window.event.keyCode : ev.keyCode;
var key = (window.event)? window.event.keyCode : ev.keyCode;
var ARRUP = 38;
var ARRDN = 40;
var ARRUP = 38;
var ARRDN = 40;
var bubble = 1;
var bubble = 1;
switch(key)
{
case ARRUP:
this.changeHighlight(key);
this.setHighlightedValue2();
bubble = 0;
break;
case ARRDN:
this.changeHighlight(key);
this.setHighlightedValue2();
bubble = 0;
break;
default:
this.getSuggestions(this.fld.value);
}
return bubble;
switch (key) {
case ARRUP:
this.changeHighlight(key);
this.setHighlightedValue2();
bubble = 0;
swStoreEntry = 0;
break;
case ARRDN:
this.changeHighlight(key);
this.setHighlightedValue2();
bubble = 0;
swStoreEntry = 0;
break;
default:
this.getSuggestions(this.fld.value);
break;
}
return bubble;
};
_b.AutoSuggest.prototype.getSuggestions = function (val)
{
@@ -764,23 +782,78 @@ _b.Fader.prototype._tween = function(t,b,c,d)
return b + ( (c-b) * (t/d) );
};
function storeEntryMessageHide(id)
{
if (document.getElementById(id)) {
document.getElementById(id).parentNode.removeChild(document.getElementById(id));
}
}
function storeEntry(o, cnn, table, pk, pkt, fld){
if( typeof('Static_AutosuggestResponseData') != 'undefined' && Static_AutosuggestResponseData.results.length == 0 ){
//alert('store it '+ ' -> '+o.id+' val '+ o.value);
function storeEntryProcessAjax(o, cnn, table, pk, pkt, fld)
{
var myAjax = new _b.Ajax();
myAjax.makeRequest('../gulliver/genericAjax?request=storeInTmp'+'&cnn='+cnn+'&table='+table+'&pk='+pk+'&pkt='+pkt+'&fld='+fld+'&value='+o.value, 'POST',
function(req){
var response = eval('('+req.responseText+')');
if( response.status != 0 ){
alert(response.message);
}
},
function(req){
//alert(req)
} );
}
myAjax.makeRequest(
"../gulliver/genericAjax?request=storeInTmp" + "&cnn=" + cnn + "&table=" + table + "&pk=" + pk + "&pkt=" + pkt + "&fld=" + fld + "&value=" + o.value,
"POST",
function (req)
{
var response = eval("(" + req.responseText + ")");
switch (response.status) {
case 1:
var w1 = document.documentElement.clientWidth;
var sbX1 = document.documentElement.scrollLeft;
var sbY1 = document.documentElement.scrollTop;
var w2 = document.body.clientWidth;
var sbX2 = document.body.scrollLeft;
var sbY2 = document.body.scrollTop;
var bodyW = (w1 > 0)? w1 : w2;
var scrollbarX = (sbX1 > 0)? sbX1 : sbX2;
var scrollbarY = (sbY1 > 0)? sbY1 : sbY2;
storeEntryMessageHide("myIframe");
var myIframe = document.createElement("iframe");
myIframe.setAttribute("id", "myIframe");
myIframe.style.position = "absolute";
myIframe.style.left = (parseInt(bodyW / 2) - 200 + scrollbarX) + "px";
myIframe.style.top = (scrollbarY + 5) + "px";
myIframe.src = "about:blank";
myIframe.frameBorder = 0;
myIframe.scrolling = "no";
myIframe.style.width = "400px";
myIframe.style.height = "45px";
leimnud.event.add(
myIframe,
"load",
function (evt)
{
document.getElementById("myIframe").contentWindow.document.body.style.margin = 0;
document.getElementById("myIframe").contentWindow.document.body.style.padding = 0;
document.getElementById("myIframe").contentWindow.document.body.innerHTML = "<div style=\"border: 1px solid #808080; width: 398px; height: 43px; background: #ADDCC7; font:0.9em arial, verdana, helvetica, sans-serif;\"><div style=\"margin: 0.5em 0 0 0.5em;\"><img src=\"/images/documents/_accept.png\" alt=\"\" style=\"margin-right: 0.8em; vertical-align: middle;\" />" + _("ID_FIELD_DYNAFORM_SUGGEST_MESSAGE_TEMPORAL") + "</div></div>";
}
);
document.body.appendChild(myIframe);
setTimeout("storeEntryMessageHide(\"myIframe\")", 1750);
swStoreEntry = 0;
break;
default:
alert(response.message);
break;
}
},
function (req)
{
//alert(req);
}
);
}
function html_entity_decode( string, quote_style ) {
@@ -802,3 +875,4 @@ function html_entity_decode( string, quote_style ) {
return tmp_str;
}

View File

@@ -168,12 +168,14 @@ if( isset($request) ){
}
$rs = $con->executeQuery("INSERT INTO {$_GET['table']} ({$_GET['pk']}, {$_GET['fld']}) VALUES ('$gKey', '{$_GET['value']}');");
echo '{status:0, message:"success"}';
}catch( Exception $e){
echo "{status: 1, message: \"success\"}";
} catch (Exception $e) {
$err = $e->getMessage();
//$err = eregi_replace("[\n|\r|\n\r]", ' ', $err);
$err = preg_replace("[\n|\r|\n\r]", ' ', $err); // Made compatible to PHP 5.3
echo '{result:1, message:"'.$err.'"}';
$err = preg_replace("[\n|\r|\n\r]", " ", $err); //Made compatible to PHP 5.3
echo "{status: 0, message: \"" . $err . "\"}";
}
break;
}

View File

@@ -1167,9 +1167,12 @@ class XmlForm_Field_Suggest extends XmlForm_Field_SimpleText //by neyek
'size' => '"'.$this->size.'"',
);
$storeEntry = '';
if($this->store_new_entry){
$storeEntry = 'onchange="storeEntry(this, \''.$this->sqlConnection.'\', \''.$this->table.'\', \''.$this->primary_key.'\', \''.$this->primary_key_type.'\', \''.$this->field.'\')"';
$storeEntry = null;
$storeEntryData = ", storeEntryData: [0]";
if ($this->store_new_entry) {
$storeEntry = ' title="' . G::LoadTranslation("ID_FIELD_DYNAFORM_SUGGEST_INPUT_TITLE") . '"';
$storeEntryData = ", storeEntryData: [1, \"form[". $this->name . "_label]\", \"" . $this->sqlConnection . "\", \"" . $this->table . "\", \"" . $this->primary_key . "\", \"" . $this->primary_key_type . "\", \"" . $this->field . "\"]";
}
$formVariableValue = '';
@@ -1269,10 +1272,11 @@ class XmlForm_Field_Suggest extends XmlForm_Field_SimpleText //by neyek
$setValue = ($this->savelabel == '1') ? 'obj.value' : 'obj.id';
$sOptions .= 'callback: function(obj){';
$sOptions .= 'callback: function (obj) { ';
$sOptions .= 'if (typeof obj != "undefined") { ';
$sOptions .= ' var jField = { };';
$sOptions .= ' var sField = "[]"; ';
if ($count > 0) {
for ($cnt = 0; $cnt < $count; $cnt++ ) {
$sOptions .= 'if ( "' . $this->name . '" == "' . $aDepFields[$cnt] . '" ) {';
@@ -1286,7 +1290,6 @@ class XmlForm_Field_Suggest extends XmlForm_Field_SimpleText //by neyek
$sOptions .= ' var sField = "["+ encodeURIComponent(jField.toJSONString()) + "]"; ';
$sOptions .= $sCallBack . '; getField("' . $this->name . '").value = obj.id;';
$sOptions .= 'var response = ajax_function("../gulliver/defaultAjaxDynaform", "reloadField", ';
$sOptions .= ' "form=' . $owner->id . '&fields=" + sField, "POST"); ';
@@ -1316,11 +1319,12 @@ class XmlForm_Field_Suggest extends XmlForm_Field_SimpleText //by neyek
$sOptions .= '} else { ';
$sOptions .= ' alert(\'Invalid response: \' + response); ' ;
$sOptions .= '} ';
$sOptions .= 'return false; }';
$sOptions .= '} ';
$sOptions .= 'return false; ';
$sOptions .= '}';
$str .= '<script type="text/javascript">';
$str .= 'var as_json = new bsn.AutoSuggest(\'form[' . $this->name . '_label]\', {'.$sOptions.'});';
$str .= 'var as_json = new bsn.AutoSuggest(\'form[' . $this->name . '_label]\', {' . $sOptions . $storeEntryData . '});';
$str .= '</script>';
return $str;

View File

@@ -98,10 +98,20 @@ class Applications
break;
}
// $Criteria->addJoin(AppCacheViewPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$Criteria->addJoin(AppCacheViewPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$Criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME );
$Criteria->addSelectColumn(UsersPeer::USR_LASTNAME );
$Criteria->addAlias('CU', 'USERS');
$Criteria->addJoin(AppCacheViewPeer::USR_UID, 'CU.USR_UID', Criteria::LEFT_JOIN);
$Criteria->addAsColumn('USR_FIRSTNAME', 'CU.USR_FIRSTNAME');
$Criteria->addAsColumn('USR_LASTNAME', 'CU.USR_LASTNAME');
$Criteria->addAsColumn('USR_USERNAME', 'CU.USR_USERNAME');
// Fix for previous user
if ($action == 'todo' || $action == 'selfservice' || $action =='unassigned' || $action == 'paused' || $action == 'to_revise') {
$Criteria->addAlias('PU', 'USERS');
$Criteria->addJoin(AppCacheViewPeer::PREVIOUS_USR_UID, 'PU.USR_UID', Criteria::LEFT_JOIN);
$Criteria->addAsColumn('PREVIOUS_USR_FIRSTNAME', 'PU.USR_FIRSTNAME');
$Criteria->addAsColumn('PREVIOUS_USR_LASTNAME', 'PU.USR_LASTNAME');
$Criteria->addAsColumn('PREVIOUS_USR_USERNAME', 'PU.USR_USERNAME');
}
if ( !is_array($confCasesList) ) {
$rows = $this->getDefaultFields( $action );

View File

@@ -274,12 +274,10 @@ class Derivation
$oUser = UsersPeer::retrieveByPK( $row['USR_UID'] );
if( $oUser->getUsrStatus() == 'ACTIVE' ){
$users[$row['USR_UID']] = $row['USR_UID'];
} else if($oUser->getUsrStatus() == 'VACATION'){
//this a litle hook for this issue,...
//TODO if the user in getUsrReplacedBy() is not assignet to the same task,. will have problems,....
$UsrReplace = $oUser->getUsrReplacedBy();
if( trim($UsrReplace) != ''){
//$users[$UsrReplace] = $UsrReplace;
} else {
$userUID = $this->checkReplacedByUser($oUser);
if ($userUID != '') {
$users[$userUID] = $userUID;
}
}
}
@@ -394,7 +392,7 @@ class Derivation
$variable = str_replace ( '@@', '', $nextAssignedTask['TAS_ASSIGN_VARIABLE'] );
if ( isset ( $AppFields['APP_DATA'][$variable] ) ) {
if ($AppFields['APP_DATA'][$variable] != '') {
$value = $AppFields['APP_DATA'][$variable];
$value = $this->checkReplacedByUser($AppFields['APP_DATA'][$variable]);
$userFields = $this->getUsersFullNameFromArray ($value);
if (is_null($userFields)) {
throw ( new Exception("Task doesn't have a valid user in variable $variable.") ) ;
@@ -419,7 +417,7 @@ class Derivation
$userFields['USR_EMAIL'] = '';
//get the report_to user & its full info
$useruid = $this->getDenpendentUser($tasInfo['USER_UID']);
$useruid = $this->getDenpendentUser($this->checkReplacedByUser($tasInfo['USER_UID']));
if (isset($useruid) && $useruid != '') {
$userFields = $this->getUsersFullNameFromArray($useruid);
@@ -1031,8 +1029,28 @@ class Derivation
$aData[$aKey] = $userid;
}
return $aGrp;
//var_dump($aDerivation);
//die;
}
function checkReplacedByUser($user)
{
if (get_class($user) != 'Users') {
$userInstance = UsersPeer::retrieveByPK($user);
} else {
$userInstance = $user;
}
if (!is_object($userInstance)) {
throw new Exception("The user with the UID '$user' doesn't exist.");
}
if ($userInstance->getUsrStatus() == 'ACTIVE') {
return $userInstance->getUsrUid();
} else {
$userReplace = trim($userInstance->getUsrReplacedBy());
if ($userReplace != '') {
return $this->checkReplacedByUser(UsersPeer::retrieveByPK($userReplace));
} else {
return '';
}
}
}
}

View File

@@ -175,7 +175,7 @@ class Dynaform extends BaseDynaform {
$con->commit();
$sXml = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$sXml .= '<dynaForm type="' . $this->getDynType() . '" name="' . $this->getProUid() . '/' . $this->getDynUid() . '" width="500" enabletemplate="0" mode="">'."\n";
$sXml .= '<dynaForm type="' . $this->getDynType() . '" name="' . $this->getProUid() . '/' . $this->getDynUid() . '" width="500" enabletemplate="0" mode="" nextstepsave="prompt">'."\n";
$sXml .= '</dynaForm>';
G::verifyPath(PATH_DYNAFORM . $this->getProUid(), true);
$oFile = fopen(PATH_DYNAFORM . $this->getProUid() . '/' . $this->getDynUid() . '.xml', 'w');

View File

@@ -6,9 +6,8 @@
var PROCESS_REQUEST_FILE = '../dbConnections/dbConnectionsAjax';
String.prototype.trim = function()
{
return this.replace(/^\s+|\s+get/g,"");
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
var oPanel;
@@ -500,5 +499,3 @@ function showEncodes(pre){
hideRowById('DBS_ENCODE');
}
}

View File

@@ -1368,7 +1368,7 @@ var processmap=function(){
/* Change label End */
var menu = new this.parent.module.app.menuRight();
var textMenu = G_STRINGS.ID_PROCESSMAP_USERS_AND_GROUPS_ADHOC;
var lengthText = textMenu.length * 0.60;
var lengthText = mb_strlen(textMenu) * 0.60;
menu.make({
target: a,

View File

@@ -222,9 +222,10 @@ function cancelTestConnection() {
}
// /************* Adds routines *************///
String.prototype.trim = function() {
return this.replace(/^\s+|\s+get/g, "");
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
function $(id) {
return document.getElementById(id);
}

View File

@@ -331,23 +331,25 @@
//these getXX function gets the default fields in casesListSetup
function getToDo() {
$caseColumns = array ();
$caseColumns[] = array( 'header' => '#', 'dataIndex' => 'APP_NUMBER', 'width' => 45, 'align' => 'center');
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SUMMARY'), 'dataIndex' => 'CASE_SUMMARY', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => '#', 'dataIndex' => 'APP_NUMBER', 'width' => 45, 'align' => 'center');
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SUMMARY'), 'dataIndex' => 'CASE_SUMMARY', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASES_NOTES'), 'dataIndex' => 'CASE_NOTES_COUNT', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASE'), 'dataIndex' => 'APP_TITLE', 'width' => 150 );
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50 , 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'PreUsrUid', 'dataIndex' => 'PREVIOUS_USR_UID', 'width' => 50 , 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PROCESS'), 'dataIndex' => 'APP_PRO_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_TASK'), 'dataIndex' => 'APP_TAS_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SENT_BY'), 'dataIndex' => 'APP_DEL_PREVIOUS_USER', 'width' => 90 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_DUE_DATE'), 'dataIndex' => 'DEL_TASK_DUE_DATE', 'width' => 110);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_LAST_MODIFY'),'dataIndex' => 'APP_UPDATE_DATE', 'width' => 110 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PRIORITY'), 'dataIndex' => 'DEL_PRIORITY', 'width' => 50 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASE'), 'dataIndex' => 'APP_TITLE', 'width' => 150 );
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50 , 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PROCESS'), 'dataIndex' => 'APP_PRO_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_TASK'), 'dataIndex' => 'APP_TAS_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SENT_BY'), 'dataIndex' => 'APP_DEL_PREVIOUS_USER', 'width' => 90 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_DUE_DATE'), 'dataIndex' => 'DEL_TASK_DUE_DATE', 'width' => 110);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_LAST_MODIFY'), 'dataIndex' => 'APP_UPDATE_DATE', 'width' => 110 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PRIORITY'), 'dataIndex' => 'DEL_PRIORITY', 'width' => 50 );
$caseReaderFields = array();
$caseReaderFields[] = array( 'name' => 'APP_UID' );
$caseReaderFields[] = array( 'name' => 'USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_FIRSTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_LASTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_USERNAME' );
$caseReaderFields[] = array( 'name' => 'DEL_INDEX' );
$caseReaderFields[] = array( 'name' => 'APP_NUMBER' );
$caseReaderFields[] = array( 'name' => 'APP_TITLE' );
@@ -491,7 +493,6 @@
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASES_NOTES'), 'dataIndex' => 'CASE_NOTES_COUNT', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASE'), 'dataIndex' => 'APP_TITLE', 'width' => 150 );
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'PreUsrUid', 'dataIndex' => 'PREVIOUS_USR_UID','width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PROCESS'), 'dataIndex' => 'APP_PRO_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_TASK'), 'dataIndex' => 'APP_TAS_TITLE', 'width' => 120 );
@@ -506,6 +507,9 @@
$caseReaderFields[] = array( 'name' => 'APP_UID' );
$caseReaderFields[] = array( 'name' => 'USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_FIRSTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_LASTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_USERNAME' );
$caseReaderFields[] = array( 'name' => 'APP_NUMBER' );
$caseReaderFields[] = array( 'name' => 'APP_STATUS' );
$caseReaderFields[] = array( 'name' => 'DEL_INDEX' );
@@ -532,12 +536,9 @@
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASES_NOTES'), 'dataIndex' => 'CASE_NOTES_COUNT', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASE'), 'dataIndex' => 'APP_TITLE', 'width' => 150 );
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'PreUsrUid', 'dataIndex' => 'PREVIOUS_USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PROCESS'), 'dataIndex' => 'APP_PRO_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_TASK'), 'dataIndex' => 'APP_TAS_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SENT_BY'), 'dataIndex' => 'APP_DEL_PREVIOUS_USER','width' => 90 );
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'PreUsrUid', 'dataIndex' => 'PREVIOUS_USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_LAST_MODIFY'), 'dataIndex' => 'APP_UPDATE_DATE', 'width' => 80 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_THREAD_INDEX'),'dataIndex' => 'APP_THREAD_INDEX', 'width' => 80 );
@@ -547,6 +548,9 @@
$caseReaderFields[] = array( 'name' => 'APP_UID' );
$caseReaderFields[] = array( 'name' => 'USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_FIRSTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_LASTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_USERNAME' );
$caseReaderFields[] = array( 'name' => 'APP_NUMBER' );
$caseReaderFields[] = array( 'name' => 'APP_STATUS' );
$caseReaderFields[] = array( 'name' => 'DEL_INDEX' );
@@ -578,7 +582,7 @@
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_PROCESS'), 'dataIndex' => 'APP_PRO_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_TASK'), 'dataIndex' => 'APP_TAS_TITLE', 'width' => 120 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SENT_BY'), 'dataIndex' => 'ID_SENT_BY','width' => 90 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SENT_BY'), 'dataIndex' => 'APP_DEL_PREVIOUS_USER','width' => 90 );
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CURRENT_USER'),'dataIndex' => 'APP_CURRENT_USER','width' => 90 );
// $caseColumns[] = array( 'header' =>'Sent By', 'dataIndex' => 'APP_DEL_PREVIOUS_USER', 'width' => 90 );
///-- $caseColumns[] = array( 'header' => G::LoadTranslation('ID_LAST_MODIFY'), 'dataIndex' => 'APP_UPDATE_DATE', 'width' => 110 );
@@ -589,6 +593,9 @@
$caseReaderFields[] = array( 'name' => 'APP_UID' );
$caseReaderFields[] = array( 'name' => 'USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_FIRSTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_LASTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_USERNAME' );
$caseReaderFields[] = array( 'name' => 'APP_NUMBER' );
$caseReaderFields[] = array( 'name' => 'DEL_INDEX' );
$caseReaderFields[] = array( 'name' => 'APP_TITLE' );
@@ -601,7 +608,7 @@
$caseReaderFields[] = array( 'name' => 'DEL_PRIORITY' );
$caseReaderFields[] = array( 'name' => 'APP_STATUS' );
$caseReaderFields[] = array( 'name' => 'APP_FINISH_DATE' );
$caseReaderFields[] = array( 'name' => 'ID_SENT_BY' );
$caseReaderFields[] = array( 'name' => 'APP_DEL_PREVIOUS_USER' );
$caseReaderFields[] = array( 'name' => 'CASE_SUMMARY' );
$caseReaderFields[] = array( 'name' => 'CASE_NOTES_COUNT' );
@@ -612,8 +619,6 @@
$caseColumns = array ();
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_SUMMARY'), 'dataIndex' => 'CASE_SUMMARY', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => G::LoadTranslation('ID_CASES_NOTES'), 'dataIndex' => 'CASE_NOTES_COUNT', 'width' => 45, 'align' => 'center', 'sorteable'=>false);
$caseColumns[] = array( 'header' => 'TaskUid', 'dataIndex' => 'TAS_UID' , 'width' => 150 ,'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'DelIndex', 'dataIndex' => 'DEL_INDEX' , 'width' => 150 ,'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'UserUid', 'dataIndex' => 'USR_UID', 'width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => 'PreUsrUid', 'dataIndex' => 'PREVIOUS_USR_UID','width' => 50, 'hidden'=> true, 'hideable'=> false);
$caseColumns[] = array( 'header' => '#', 'dataIndex' => 'APP_NUMBER', 'width' => 45, 'align' => 'center');

View File

@@ -56,6 +56,9 @@ switch($_POST['action'])
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
$oCriteria->add(UsersPeer::USR_STATUS,'ACTIVE');
if (isset($_POST['USR_UID'])) {
$oCriteria->add(UsersPeer::USR_UID, $_POST['USR_UID'], Criteria::NOT_EQUAL);
}
$oDataset = UsersPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);

View File

@@ -830,6 +830,7 @@ form.formSearch .Record
{
color:#2078A8;
text-decoration:none;
white-space:nowrap;
}
.pagedTableDefault, .pagedTableDefault .headerContent .tableOption a:hover
{
@@ -882,6 +883,7 @@ font-weight:bold;
text-decoration: none;
padding-left: 5px;
font: bold 11px Tahoma,sans-serif, MiscFixed;
white-space:nowrap;
}
.pagedTableDefault .pagedTable a:hover
{
@@ -960,6 +962,7 @@ font-weight:bold;
}
.pagedTableDefault .pagedTable .RowLink a{
display:block;
white-space:nowrap;
}
A.firstPage {

View File

@@ -459,9 +459,14 @@ Ext.onReady ( function() {
}
function dueDate(value, p, r){
var myDate = convertDate( value );
var myColor = (myDate < new Date()) ? " color:red;" : 'color:green;';
return String.format("<span style='{1}'>{0}</span>", myDate.dateFormat(FORMATS.casesListDateFormat), myColor );
if (value) {
var myDate = convertDate( value );
var myColor = (myDate < new Date()) ? " color:red;" : 'color:green;';
return String.format("<span style='{1}'>{0}</span>", myDate.dateFormat(FORMATS.casesListDateFormat), myColor );
}
else {
return '';
}
}
var renderSummary = function (val, p, r) {
@@ -477,8 +482,22 @@ Ext.onReady ( function() {
}
//Render Full Name
full_name = function(v,x,s){
return _FNF(v, s.data.USR_FIRSTNAME, s.data.USR_LASTNAME);
full_name = function(v, x, s) {
if (s.data.USR_UID) {
return _FNF(s.data.USR_USERNAME, s.data.USR_FIRSTNAME, s.data.USR_LASTNAME);
}
else {
return '';
}
};
previous_full_name = function(v, x, s) {
if (s.data.PREVIOUS_USR_UID) {
return _FNF(s.data.PREVIOUS_USR_USERNAME, s.data.PREVIOUS_USR_FIRSTNAME, s.data.PREVIOUS_USR_LASTNAME);
}
else {
return '';
}
};
for(var i = 0, len = columns.length; i < len; i++){
@@ -491,7 +510,7 @@ Ext.onReady ( function() {
if( c.id == 'unpauseLink') c.renderer = unpauseLink;
if( c.dataIndex == 'CASE_SUMMARY') c.renderer = renderSummary;
if( c.dataIndex == 'CASE_NOTES_COUNT') c.renderer = renderNote;
if( c.dataIndex == 'APP_DEL_PREVIOUS_USER') c.renderer = full_name;
if( c.dataIndex == 'APP_DEL_PREVIOUS_USER') c.renderer = previous_full_name;
if( c.dataIndex == 'APP_CURRENT_USER') c.renderer = full_name;
}
@@ -502,6 +521,7 @@ Ext.onReady ( function() {
readerFields.push ( {name: "USR_FIRSTNAME"});
readerFields.push ( {name: "USR_LASTNAME"});
readerFields.push ( {name: "USR_USERNAME"});
for (i=0; i<columns.length; i++) {
if (columns[i].dataIndex == 'USR_UID') {

View File

@@ -273,7 +273,7 @@ Ext.onReady(function () {
method: "POST"
}),
baseParams: {"action": "usersList"},
baseParams: {"action": "usersList", "USR_UID": USR_UID},
reader: new Ext.data.JsonReader({
fields: [

View File

@@ -70,6 +70,7 @@
</PME_PROP_REVERT>
<sdfsdf type="javascript">
<![CDATA[
// added by gustavo cruz gustavo-at-colosa.com
// function getElementsByClassNameCrossBrowser
@@ -78,6 +79,12 @@
// @param node element or node
// @param tag tag of the class
if(document.getElementById("form[DYN_TYPE]").value=="grid"){
hideRowById('WIDTH');
hideRowById('NEXTSTEPSAVE');
hideRowById('PRINTDYNAFORM');
}
function getElementsByClassNameCrossBrowser(searchClass,node,tag) {
var classElements = new Array();
@@ -109,6 +116,9 @@ leimnud.event.add(getField('DYN_TYPE'), 'change', function() {
validateGridConversion(proUid,dynUid);
} else {
changeToolbar("xmlform");
showRowById('WIDTH');
showRowById('NEXTSTEPSAVE');
showRowById('PRINTDYNAFORM');
}
});
@@ -131,13 +141,14 @@ function validateGridConversion(proUid,dynUid){
oRPC.callback = function(oRPC) {
var response = oRPC.xmlhttp.responseText;
if (response=="ok"){
changeToolbar("grid");
changeToolbar("grid");
hideRowById('WIDTH');
hideRowById('NEXTSTEPSAVE');
hideRowById('PRINTDYNAFORM');
} else {
setDropdownSelection("form[DYN_TYPE]" , "xmlform");
msgBox("Grid forms can not contain the following fields: <br>" + response,"alert");
return false;
}

View File

@@ -140,39 +140,44 @@ select XMLNODE_NAME, XMLNODE_NAME AS NAME FROM dynaForm WHERE XMLNODE_NAME <> @@
<en>Save</en>
</PME_ACCEPT>
<PME_JS type="javascript"><![CDATA[
<PME_JS type="javascript">
<![CDATA[
var fieldForm = "text";
var fieldName = getField("PME_XMLNODE_NAME", fieldForm);
var savedFieldName = fieldName.value;
var pme_validating;
var fieldForm="text";
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
var savedFieldName=fieldName.value;
var pme_validating;
fieldName.focus();
fieldName.select();
fieldName.focus();
fieldName.select();
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
var dyntype="@#PME_DYN_TYPE";
leimnud.event.add(fieldName, "change", {method: dynaformVerifyFieldName, instance: fieldName, event: true});
var dyntype = "@#PME_DYN_TYPE";
storeNewEntriesOptions(getField('PME_STORE_NEW_ENTRY'));
leimnud.event.add(getField('PME_STORE_NEW_ENTRY'), 'click', function(){
storeNewEntriesOptions(this);
});
storeNewEntriesOptions(getField("PME_STORE_NEW_ENTRY"));
leimnud.event.add(
getField("PME_STORE_NEW_ENTRY"),
"click",
function ()
{
storeNewEntriesOptions(getField("PME_STORE_NEW_ENTRY"));
}
);
function storeNewEntriesOptions(o){
if(o.checked){
showRowById('PME_PRIMARY_KEY');
getTablesNames();
getTableFields()
getField('PME_TABLE').value = getField('PME_TABLE_DATA').value.trim();
getField('PME_PRIMARY_KEY').value = getField('PME_PRIMARY_KEY_DATA').value.trim();
getField('PME_PRIMARY_KEY_TYPE').value = getField('PME_PRIMARY_KEY_TYPE_DATA').value.trim();
} else {
hideRowById('PME_PRIMARY_KEY');
function storeNewEntriesOptions(o)
{
if (o.checked) {
showRowById("PME_PRIMARY_KEY");
getTablesNames();
getTableFields()
getField("PME_TABLE").value = getField("PME_TABLE_DATA").value.trim();
getField("PME_PRIMARY_KEY").value = getField("PME_PRIMARY_KEY_DATA").value.trim();
getField("PME_PRIMARY_KEY_TYPE").value = getField("PME_PRIMARY_KEY_TYPE_DATA").value.trim();
} else {
hideRowById("PME_PRIMARY_KEY");
}
}
}
leimnud.event.add(getField('PME_XMLNODE_VALUE'), 'keyup', function(){
getTablesNames();
@@ -198,9 +203,15 @@ select XMLNODE_NAME, XMLNODE_NAME AS NAME FROM dynaForm WHERE XMLNODE_NAME <> @@
getField('PME_PRIMARY_KEY_TYPE_DATA').value = this.value.trim();
});
function getTablesNames(){
var s0 = getField('PME_XMLNODE_VALUE').value;
var s = getField('PME_XMLNODE_VALUE').value.toUpperCase();
function getTablesNames() {
var strSql = getField("PME_XMLNODE_VALUE").value;
strSql = stringReplace("\\x0A", " ", strSql); //\n 10
strSql = stringReplace("\\x0D", " ", strSql); //\r 13
strSql = stringReplace("\\x09", " ", strSql); //\t 9
var s0 = strSql;
var s = strSql.toUpperCase();
p1 = s.indexOf(" FROM ");
if(p1 > 0){
@@ -230,16 +241,26 @@ select XMLNODE_NAME, XMLNODE_NAME AS NAME FROM dynaForm WHERE XMLNODE_NAME <> @@
var newOption = new Option("", "0");
otable.options[0] = newOption;
for(i=0; i<aTables.length; i++){
var newOption = new Option(aTables[i], aTables[i]);
otable.options[i+1] = newOption;
var t = "";
for (var i = 0; i <= aTables.length - 1; i++) {
t = aTables[i].trim();
var newOption = new Option(t, t);
otable.options[i + 1] = newOption;
}
}
}
function getTableFields(){
var s0 = getField('PME_XMLNODE_VALUE').value;
var s = getField('PME_XMLNODE_VALUE').value.toUpperCase();
function getTableFields() {
var strSql = getField("PME_XMLNODE_VALUE").value;
strSql = stringReplace("\\x0A", " ", strSql); //\n 10
strSql = stringReplace("\\x0D", " ", strSql); //\r 13
strSql = stringReplace("\\x09", " ", strSql); //\t 9
var s0 = strSql;
var s = strSql.toUpperCase();
p1 = s.indexOf("SELECT ");
if(p1 >= 0){
@@ -258,9 +279,13 @@ select XMLNODE_NAME, XMLNODE_NAME AS NAME FROM dynaForm WHERE XMLNODE_NAME <> @@
var newOption = new Option("", "0");
otable.options[0] = newOption;
for(i=0; i<aTables.length; i++){
var newOption = new Option(aTables[i], aTables[i]);
otable.options[i+1] = newOption;
var t = "";
for (var i = 0; i <= aTables.length - 1; i++) {
t = aTables[i].trim();
var newOption = new Option(t, t);
otable.options[i + 1] = newOption;
}
}
}

View File

@@ -404,9 +404,8 @@ function AJAX()
return xmlhttp;
}
String.prototype.trim = function()
{
return this.replace(/^\s+|\s+get/g,"");
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
function $(id){

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="dynaforms_Edit" type="xmlform" width="98%" labelWidth="62px">
<dynaForm name="dynaforms_Edit" type="xmlform" width="98%" labelWidth="400px">
<STEP_UID type="hidden" showInTable="0"/>
@@ -7,7 +7,7 @@
<TAS_UID type="hidden" showInTable="0"/>
<STEP_CONDITION type="textareapm" cols="62" rows="5" showVars="1" process="@#PRO_UID">
<STEP_CONDITION type="textareapm" cols="50" rows="5" showVars="1" process="@#PRO_UID">
<en>Condition</en>
</STEP_CONDITION>

View File

@@ -9,14 +9,14 @@
<JS type="javascript" replaceTags="1">
function editCondition(uid, sStepTitle)
{
popupWindow('@G::LoadTranslation(ID_EDIT_CONDITIONS_OF_STEP)' + ': ' + sStepTitle, '@G::encryptLink(@#URL_CONDITIONS_EDIT)?UID='+ uid , 500, 216);
popupWindow("@G::LoadTranslation(ID_EDIT_CONDITIONS_OF_STEP)" + ": " + sStepTitle, "@G::encryptLink(@#URL_CONDITIONS_EDIT)?UID=" + uid , 535, 240);
}
function saveCondition(oForm)
{
ajax_post(oForm.action, oForm, 'POST');
currentPopupWindow.remove();
@#PAGED_TABLE_ID.refresh();
ajax_post(oForm.action, oForm, "POST");
currentPopupWindow.remove();
@#PAGED_TABLE_ID.refresh();
}
</JS>