diff --git a/gulliver/js/ext/extjs_rtl.js b/gulliver/js/ext/extjs_rtl.js new file mode 100644 index 000000000..83a20a8f1 --- /dev/null +++ b/gulliver/js/ext/extjs_rtl.js @@ -0,0 +1,645 @@ +// default menu aligns +Ext.override(Ext.Button, { menuAlign:'tr-br?', iconAlign: 'right', subMenuAlign:'tr-tl?' }); +Ext.override(Ext.menu.Menu, { subMenuAlign:'tr-tl?' }); +Ext.override(Ext.menu.DateMenu, { subMenuAlign:'tr-tl?' }); +Ext.override(Ext.menu.ColorMenu, { subMenuAlign:'tr-tl?' }); + +// default align for tips +Ext.override(Ext.Tip, {defaultAlign:'tr-bl?'}); + +// isClickOnArrow for SplitButton should check for smaller than left +Ext.override(Ext.SplitButton, { + isClickOnArrow : function(e){ + return this.arrowAlign != 'bottom' ? + e.getPageX() < this.el.child(this.buttonSelector).getRegion().left : // changed for RTL + e.getPageY() > this.el.child(this.buttonSelector).getRegion().bottom; + } +}); + +// Ext.layout.HBoxLayout needs total new onLayout +Ext.override(Ext.layout.HBoxLayout,{ + onLayout : function(ct, target){ + Ext.layout.HBoxLayout.superclass.onLayout.call(this, ct, target); + + var cs = ct.items.items, len = cs.length, c, i, last = len-1, cm; + var size = this.getLayoutTargetSize(target); + + var w = size.width - target.getPadding('lr') - this.scrollOffset, + h = size.height - target.getPadding('tb'), + l = this.padding.left, t = this.padding.top; + + if ((Ext.isIE && !Ext.isStrict) && (w < 1 || h < 1)) { + return; + } else if (w < 1 && h < 1) { + return; + } + + var stretchHeight = h - (this.padding.top + this.padding.bottom); + + var totalFlex = 0; + var totalWidth = 0; + + var maxHeight = 0; + + for(i = 0; i < len; i++){ + c = cs[i]; + cm = c.margins; + totalFlex += c.flex || 0; + totalWidth += c.getWidth() + cm.left + cm.right; + maxHeight = Math.max(maxHeight, c.getHeight() + cm.top + cm.bottom); + } + + var innerCtHeight = maxHeight + this.padding.top + this.padding.bottom; + + switch(this.align){ + case 'stretch': + this.innerCt.setSize(w, h); + break; + case 'stretchmax': + case 'top': + this.innerCt.setSize(w, innerCtHeight); + break; + case 'middle': + this.innerCt.setSize(w, h = Math.max(h, innerCtHeight)); + break; + + } + + var extraWidth = w - totalWidth - this.padding.left - this.padding.right; + var allocated = 0; + + var cw, ch, ct, availableHeight = h - this.padding.top - this.padding.bottom; + + if(this.pack == 'center'){ + l += extraWidth ? extraWidth/2 : 0; + }else if(this.pack == 'end'){ + l += extraWidth; + } + for(i = 0; i < len; i++){ + c = cs[i]; + cm = c.margins; + cw = c.getWidth(); + ch = c.getHeight(); + + l += cm.right; + if(this.align != 'middle'){ + ct = t + cm.top; + }else{ + var diff = availableHeight - (ch + cm.top + cm.bottom); + if(diff == 0){ + ct = t + cm.top; + }else{ + ct = t + cm.top + (diff/2); + } + } + + if(this.pack == 'start' && c.flex){ + var ratio = c.flex/totalFlex; + var add = Math.floor(extraWidth*ratio); + allocated += add; + if(i == last){ + add += (extraWidth-allocated); + } + cw += add; + c.setWidth(cw); + } + c.setPosition(w - l - cw, ct); + if(this.align == 'stretch'){ + c.setHeight((stretchHeight - (cm.top + cm.bottom)).constrain(c.minHeight || 0, c.maxHeight || 1000000)); + }else if(this.align == 'stretchmax'){ + c.setHeight((maxHeight - (cm.top + cm.bottom)).constrain(c.minHeight || 0, c.maxHeight || 1000000)); + } + l += cw + cm.left; + } + } + +}); + +Ext.override(Ext.layout.VBoxLayout, { + onLayout : function(ct, target){ + Ext.layout.VBoxLayout.superclass.onLayout.call(this, ct, target); + + var cs = ct.items.items, len = cs.length, c, i, last = len-1, cm; + var size = this.getLayoutTargetSize(target); + + var w = size.width - target.getPadding('lr') - this.scrollOffset, + h = size.height - target.getPadding('tb'), + l = this.padding.right, t = this.padding.top; + + if ((Ext.isIE && !Ext.isStrict) && (w < 1 || h < 1)) { + return; + } else if (w < 1 && h < 1) { + return; + } + + var stretchWidth = w - (this.padding.left + this.padding.right); + + var totalFlex = 0; + var totalHeight = 0; + + var maxWidth = 0; + + for(i = 0; i < len; i++){ + c = cs[i]; + cm = c.margins; + totalFlex += c.flex || 0; + totalHeight += c.getHeight() + cm.top + cm.bottom; + maxWidth = Math.max(maxWidth, c.getWidth() + cm.left + cm.right); + } + + var innerCtWidth = maxWidth + this.padding.left + this.padding.right; + + switch(this.align){ + case 'stretch': + this.innerCt.setSize(w, h); + break; + case 'stretchmax': + case 'left': + case 'center': + this.innerCt.setSize(w = Math.max(w, innerCtWidth), h); + break; + + } + + var extraHeight = h - totalHeight - this.padding.top - this.padding.bottom; + var allocated = 0; + + var cw, ch, cl, availableWidth = w - this.padding.left - this.padding.right; + + if(this.pack == 'center'){ + t += extraHeight ? extraHeight/2 : 0; + }else if(this.pack == 'end'){ + t += extraHeight; + } + for(i = 0; i < len; i++){ + c = cs[i]; + cm = c.margins; + cw = c.getWidth(); + ch = c.getHeight(); + + t += cm.top; + if(this.align != 'center'){ + cl = l + cm.right; + }else{ + var diff = availableWidth - (cw + cm.left + cm.right); + if(diff == 0){ + cl = l + cm.right; + }else{ + cl = l + cm.right + (diff/2); + } + } + + c.setPosition(w - cl - cw, t); + if(this.pack == 'start' && c.flex){ + var ratio = c.flex/totalFlex; + var add = Math.floor(extraHeight*ratio); + allocated += add; + if(i == last){ + add += (extraHeight-allocated); + } + ch += add; + c.setHeight(ch); + } + if(this.align == 'stretch'){ + c.setWidth((stretchWidth - (cm.left + cm.right)).constrain(c.minWidth || 0, c.maxWidth || 1000000)); + }else if(this.align == 'stretchmax'){ + c.setWidth((maxWidth - (cm.left + cm.right)).constrain(c.minWidth || 0, c.maxWidth || 1000000)); + } + t += ch + cm.bottom; + } + } +}); + +// FormLayout +Ext.override(Ext.layout.FormLayout, { + setContainer : function(ct){ + Ext.layout.FormLayout.superclass.setContainer.call(this, ct); + if(ct.labelAlign){ + ct.addClass('x-form-label-'+ct.labelAlign); + } + + if(ct.hideLabels){ + Ext.apply(this, { + labelStyle: 'display:none', + elementStyle: 'padding-right:0;', + labelAdjust: 0 + }); + }else{ + this.labelSeparator = ct.labelSeparator || this.labelSeparator; + ct.labelWidth = ct.labelWidth || 100; + if(Ext.isNumber(ct.labelWidth)){ + var pad = Ext.isNumber(ct.labelPad) ? ct.labelPad : 5; + Ext.apply(this, { + labelAdjust: ct.labelWidth + pad, + labelStyle: 'width:' + ct.labelWidth + 'px;', + elementStyle: 'padding-right:' + (ct.labelWidth + pad) + 'px' + }); + } + if(ct.labelAlign == 'top'){ + Ext.apply(this, { + labelStyle: 'width:auto;', + labelAdjust: 0, + elementStyle: 'padding-right:0;' + }); + } + } + } +}); + +Ext.override(Ext.form.Field, { + alignErrorIcon : function(){ + this.errorIcon.alignTo(this.el, 'tr-tl', [-2, 0]); + } +}); + +Ext.override(Ext.form.TriggerField, { + alignErrorIcon: function() { + if(this.wrap){ + this.errorIcon.alignTo(this.wrap, 'tr-tl', [-2, 0]); + } + } +}); + +// CheckbxGroup +/* +Ext.override(Ext.form.CheckboxGroup ,{ + onRender : function(ct, position){ + if(!this.el){ + var panelCfg = { + cls: this.groupCls, + layout: 'column', + border: false, + renderTo: ct + }; + var colCfg = { + defaultType: this.defaultType, + layout: 'form', + hideLabels: true, // added for correct display of rtl + border: false, + defaults: { + hideLabel: true, + anchor: '100%' + } + } + if(this.items[0].items){ + + // The container has standard ColumnLayout configs, so pass them in directly + + Ext.apply(panelCfg, { + layoutConfig: {columns: this.items.length}, + defaults: this.defaults, + items: this.items + }) + for(var i=0, len=this.items.length; i0 && i%rows==0){ + ri++; + } + if(this.items[i].fieldLabel){ + this.items[i].hideLabel = false; + } + cols[ri].items.push(this.items[i]); + }; + }else{ + for(var i=0, len=this.items.length; i
'); + this.leftTr = target.child('tr.x-toolbar-right-row', true); + this.rightTr = target.child('tr.x-toolbar-left-row', true); + this.extrasTr = target.child('tr.x-toolbar-extras-row', true); + } + var side = ct.buttonAlign == 'right' ? this.rightTr : this.leftTr, + pos = 0, + items = ct.items.items; + + for(var i = 0, len = items.length, c; i < len; i++, pos++) { + c = items[i]; + if(c.isFill){ + side = this.rightTr; + pos = -1; + }else if(!c.rendered){ + c.render(this.insertCell(c, side, pos)); + }else{ + if(!c.xtbHidden && !this.isValidParent(c, side.childNodes[pos])){ + var td = this.insertCell(c, side, pos); + td.appendChild(c.getPositionEl().dom); + c.container = Ext.get(td); + } + } + } + //strip extra empty cells + this.cleanup(this.leftTr); + this.cleanup(this.rightTr); + this.cleanup(this.extrasTr); + this.fitToSize(target); + } + + +}); + +Ext.Container.LAYOUTS.toolbar = Ext.layout.ToolbarLayout; + +// HtmlEditor +Ext.override(Ext.form.HtmlEditor, { + getDocMarkup : function(){ + return ''; + } +}); + +// DateField +Ext.override(Ext.form.DateField, { + onTriggerClick : function(){ + if(this.disabled){ + return; + } + if(this.menu == null){ + this.menu = new Ext.menu.DateMenu({ + hideOnClick: false + }); + } + Ext.apply(this.menu.picker, { + minDate : this.minValue, + maxDate : this.maxValue, + disabledDatesRE : this.disabledDatesRE, + disabledDatesText : this.disabledDatesText, + disabledDays : this.disabledDays, + disabledDaysText : this.disabledDaysText, + format : this.format, + showToday : this.showToday, + minText : String.format(this.minText, this.formatDate(this.minValue)), + maxText : String.format(this.maxText, this.formatDate(this.maxValue)) + }); + this.menu.picker.setValue(this.getValue() || new Date()); + this.menu.show(this.el, "tr-br?"); + this.menuEvents('on'); + } +}); + +// Tabs +Ext.override(Ext.TabPanel, { + autoScrollTabs : function(){ + this.pos = this.tabPosition=='bottom' ? this.footer : this.header; + var count = this.items.length, + ow = this.pos.dom.offsetWidth, + tw = this.pos.dom.clientWidth, + wrap = this.stripWrap, + wd = wrap.dom, + cw = wd.offsetWidth, + pos = this.getScrollPos(), + l = cw - (this.edge.getOffsetsTo(this.stripWrap)[0] + pos); + if(!this.enableTabScroll || count < 1 || cw < 20){ // 20 to prevent display:none issues + return; + } + if(l <= tw){ + wrap.setWidth(tw); + if(this.scrolling){ + this.scrolling = false; + this.pos.removeClass('x-tab-scrolling'); + this.scrollLeft.hide(); + this.scrollRight.hide(); + // See here: http://extjs.com/forum/showthread.php?t=49308&highlight=isSafari + if(Ext.isAir || Ext.isWebKit){ + wd.style.marginLeft = ''; + wd.style.marginRight = ''; + } + } + wd.scrollLeft = 0; + }else{ + if(!this.scrolling){ + this.pos.addClass('x-tab-scrolling'); + // See here: http://extjs.com/forum/showthread.php?t=49308&highlight=isSafari + if(Ext.isAir || Ext.isWebKit){ + wd.style.marginLeft = '18px'; + wd.style.marginRight = '18px'; + } + } + tw -= wrap.getMargins('lr'); + wrap.setWidth(tw > 20 ? tw : 20); + if(!this.scrolling){ + if(!this.scrollLeft){ + this.createScrollers(); + }else{ + this.scrollLeft.show(); + this.scrollRight.show(); + } + } + this.scrolling = true; + if(pos > (l-tw)){ // ensure it stays within bounds + wd.scrollLeft = l-tw; + }else{ // otherwise, make sure the active tab is still visible + this.scrollToTab(this.activeTab, false); + } + this.updateScrollButtons(); + } + }, + onScrollRight : function(){ + var pos = this.getScrollPos(); + var s = Math.max(this.getScrollWidth(), pos - this.getScrollIncrement()); + if(s != pos){ + this.scrollTo(s, this.animScroll); + } + }, + onScrollLeft : function(){ + var pos = this.getScrollPos(); + var s = Math.min(0, pos + this.getScrollIncrement()); + + if(s != pos){ + this.scrollTo(s, this.animScroll); + } + }, + + // private + updateScrollButtons : function(){ + var pos = this.getScrollPos(); + this.scrollLeft[pos == 0 ? 'addClass' : 'removeClass']('x-tab-scroller-left-disabled'); + this.scrollRight[pos <= this.getScrollWidth() ? 'addClass' : 'removeClass']('x-tab-scroller-right-disabled'); + } +}); + +// Grids +Ext.override(Ext.grid.GridView.SplitDragZone,{ + handleMouseDown : function(e){ + var t = this.view.findHeaderCell(e.getTarget()); + if(t && this.allowHeaderDrag(e)){ + var xy = this.view.fly(t).getXY(), x = xy[0], y = xy[1]; + var exy = e.getXY(), ex = exy[0]; + var w = t.offsetWidth, adjust = false; + if((ex - x) <= this.hw){ + adjust = 0; + }else if((x+w) - ex <= this.hw){ + adjust = -1; + } + if(adjust !== false){ + this.cm = this.grid.colModel; + var ci = this.view.getCellIndex(t); + if(adjust == -1){ + if (ci + adjust < 0) { + return; + } + while(this.cm.isHidden(ci+adjust)){ + --adjust; + if(ci+adjust < 0){ + return; + } + } + } + this.cellIndex = ci+adjust; + this.split = t.dom; + if(this.cm.isResizable(this.cellIndex) && !this.cm.isFixed(this.cellIndex)){ + Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this, arguments); + } + }else if(this.view.columnDrag){ + this.view.columnDrag.callHandleMouseDown(e); + } + } + }, + endDrag : function(e){ + this.marker.hide(); + var v = this.view; + var endX = Math.max(this.minX, e.getPageX()); + var diff = this.startPos - endX; + v.onColumnSplitterMoved(this.cellIndex, this.cm.getColumnWidth(this.cellIndex)+diff); + setTimeout(function(){ + v.headersDisabled = false; + }, 50); + } +}); + +Ext.override(Ext.grid.GridView, { + handleHdMove : function(e, t){ + var hd = this.findHeaderCell(this.activeHdRef); + if(hd && !this.headersDisabled){ + var hw = this.splitHandleWidth || 5, + r = this.activeHdRegion, + x = e.getPageX(), + ss = hd.style, + cur = ''; + if(this.grid.enableColumnResize !== false){ + if(r.right - x <= hw && this.cm.isResizable(this.activeHdIndex-1)){ + cur = Ext.isAir ? 'move' : Ext.isWebKit ? 'e-resize' : 'col-resize'; // col-resize not always supported + }else if(x - r.left <= (!this.activeHdBtn ? hw : 2) && this.cm.isResizable(this.activeHdIndex)){ + cur = Ext.isAir ? 'move' : Ext.isWebKit ? 'w-resize' : 'col-resize'; + } + } + } + }, + syncFocusEl : function(row, col, hscroll){ + var xy = row; + if(!Ext.isArray(xy)){ + row = Math.min(row, Math.max(0, this.getRows().length-1)); + xy = this.getResolvedXY(this.resolveCell(row, col, hscroll)); + } + var sc_xy = this.scroller.getXY() + if (!xy) {xy=sc_xy;} + //this.focusEl.setXY(xy||this.scroller.getXY()); + this.focusEl.setTop(xy[1]-sc_xy[1]+this.scroller.getScroll().top); + this.focusEl.setRight(xy[0]-sc_xy[0]); + }, + handleHdDown : function(e, t){ + if(Ext.fly(t).hasClass('x-grid3-hd-btn')){ + e.stopEvent(); + var hd = this.findHeaderCell(t); + Ext.fly(hd).addClass('x-grid3-hd-menu-open'); + var index = this.getCellIndex(hd); + this.hdCtxIndex = index; + var ms = this.hmenu.items, cm = this.cm; + ms.get("asc").setDisabled(!cm.isSortable(index)); + ms.get("desc").setDisabled(!cm.isSortable(index)); + this.hmenu.on("hide", function(){ + Ext.fly(hd).removeClass('x-grid3-hd-menu-open'); + }, this, {single:true}); + this.hmenu.show(t, "tr-br?"); + } + } + +}); + +Ext.override(Ext.Layer, { + hideAction : function(){ + this.visible = false; + if(this.useDisplay === true){ + this.setDisplayed(false); + }else{ + this.setLeftTop(0,-10000); // negative x in firefox shows scrollbar in RTL + } + } +}); + +Ext.override(Ext.form.ComboBox, { listAlign:'tr-br?' }); \ No newline at end of file diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index fd5e5ce02..adce69861 100755 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -1175,10 +1175,24 @@ class G if(((in_array($browserName, $enabledBrowsers))||(in_array('ALL', $enabledBrowsers)))&&(!(in_array($browserName, $disabledBrowsers)))){ //G::pr($cssFileInfo['__ATTRIBUTES__']['file']); - $output .= file_get_contents ( $baseSkinDirectory . PATH_SEP.'css'.PATH_SEP.$cssFileInfo['__ATTRIBUTES__']['file'] ); + if($cssFileInfo['__ATTRIBUTES__']['file'] == 'rtl.css') { + G::LoadClass('serverConfiguration'); + $oServerConf =& serverConf::getSingleton(); + if (!(defined(SYS_LANG))) { + $syss = explode('://', $_SERVER['HTTP_REFERER']); + $sysObjets = explode('/', $syss['1']); + $sysLang = $sysObjets['2']; + } else { + $sysLang = SYS_LANG; + } + if ($oServerConf->isRtl($sysLang)) { + $output .= file_get_contents ( $baseSkinDirectory . PATH_SEP.'css'.PATH_SEP.$cssFileInfo['__ATTRIBUTES__']['file'] ); + } + } else { + $output .= file_get_contents ( $baseSkinDirectory . PATH_SEP.'css'.PATH_SEP.$cssFileInfo['__ATTRIBUTES__']['file'] ); + } } } - //Remove comments.. $regex = array( "`^([\t\s]+)`ism"=>'', diff --git a/gulliver/system/class.headPublisher.php b/gulliver/system/class.headPublisher.php index db871deae..929620ce3 100755 --- a/gulliver/system/class.headPublisher.php +++ b/gulliver/system/class.headPublisher.php @@ -302,7 +302,12 @@ class headPublisher { //$head .= $this->getExtJsStylesheets(); $head .= $this->getExtJsScripts(); $head .= $this->getExtJsVariablesScript(); - + + $oServerConf =& serverConf::getSingleton(); + if ($oServerConf->isRtl(SYS_LANG)) { + $head .= " \n"; + } + return $head; } diff --git a/workflow/engine/classes/class.serverConfiguration.php b/workflow/engine/classes/class.serverConfiguration.php index 38ab499b2..1e0856c40 100755 --- a/workflow/engine/classes/class.serverConfiguration.php +++ b/workflow/engine/classes/class.serverConfiguration.php @@ -54,6 +54,7 @@ class serverConf { private $lanDirection; private $lanLanguage; public $workspaces = array(); + public $rtlLang = array('ar','iw','fa'); public function __construct() { @@ -401,6 +402,11 @@ class serverConf { return null; } } + + function isRtl ($lang = SYS_LANG) { + $lang = substr($lang, 0, 2); + return in_array($lang, $this->rtlLang); + } } \ No newline at end of file diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 4660319cd..d0b7d2316 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -66,7 +66,7 @@ class Users extends BaseUsers { throw($e); } } - + public function userExists($UsrUid) { try { @@ -83,7 +83,7 @@ public function userExists($UsrUid) return false; } } - + public function load($UsrUid) { try { @@ -134,38 +134,40 @@ public function userExists($UsrUid) } } - public function loadDetailed($UsrUid) - { - try { - $result = array(); - $oUser = UsersPeer::retrieveByPK( $UsrUid ); - if (!is_null($oUser)) { + public function loadDetailed($UsrUid) + { + try { + $result = array(); + $oUser = UsersPeer::retrieveByPK($UsrUid); - $aFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); - $this->fromArray($aFields,BasePeer::TYPE_FIELDNAME); - $this->setNew(false); + if (!is_null($oUser)) { + $aFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); + $this->fromArray($aFields,BasePeer::TYPE_FIELDNAME); + $this->setNew(false); - $aIsoCountry = IsoCountry::findById($aFields['USR_COUNTRY']); - $aIsoSubdivision = IsoSubdivision::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY']); - $aIsoLocation = IsoLocation::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY'], $aFields['USR_LOCATION']); + $aIsoCountry = IsoCountry::findById($aFields['USR_COUNTRY']); + $aIsoSubdivision = IsoSubdivision::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY']); + $aIsoLocation = IsoLocation::findById( + $aFields['USR_COUNTRY'], + $aFields['USR_CITY'], + $aFields['USR_LOCATION'] + ); - $aFields['USR_COUNTRY_NAME'] = $aIsoCountry['IC_NAME']; - $aFields['USR_CITY_NAME'] = $aIsoSubdivision['IS_NAME']; - $aFields['USR_LOCATION_NAME'] = $aIsoLocation['IL_NAME']; + $aFields['USR_COUNTRY_NAME'] = (!empty($aIsoCountry['IC_NAME']))? $aIsoCountry['IC_NAME'] : ''; + $aFields['USR_CITY_NAME'] = (!empty($aIsoSubdivision['IS_NAME']))? $aIsoSubdivision['IS_NAME'] : ''; + $aFields['USR_LOCATION_NAME'] = (!empty($aIsoLocation['IL_NAME']))? $aIsoLocation['IL_NAME'] : ''; - $result = $aFields; + $result = $aFields; - return $result; - } - else { -// return $result; - throw(new Exception( "The row '" . $UsrUid . "' in table USER doesn't exist!" )); - } + return $result; + } else { + //return $result; + throw (new Exception("The row '" . $UsrUid . "' in table USER doesn't exist!")); + } + } catch (Exception $oError) { + throw ($oError); + } } - catch (Exception $oError) { - throw($oError); - } - } public function update($fields) { @@ -224,7 +226,7 @@ public function userExists($UsrUid) $c->add(UsersPeer::USR_USERNAME, $sUsername); return $c; } - + function loadByUsernameInArray($sUsername){ echo $sUsername; $c = $this->loadByUsername($sUsername); @@ -278,7 +280,7 @@ public function userExists($UsrUid) $aRet['duedate'] = $aFields['USR_DUE_DATE']; $aRet['country'] = $Crow['IC_NAME']; $aRet['city'] = $Srow['IS_NAME']; - + return $aRet; } @@ -286,7 +288,7 @@ public function userExists($UsrUid) throw $oException; } } - + function getAvailableUsersCriteria($sGroupUID = '') { try { @@ -307,7 +309,7 @@ public function userExists($UsrUid) /** * Get all Active users - * + * * @return array of all active users */ function getAll($start=null, $limit=null, $search=null) @@ -349,12 +351,12 @@ public function userExists($UsrUid) if( is_array($rowCount) ) $totalCount = $rowCount[0]; - + if( $start ) $criteria->setOffset($start); if( $limit ) $criteria->setLimit($limit); - + $rs = UsersPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); diff --git a/workflow/engine/js/processmap/core/processes_Map.js b/workflow/engine/js/processmap/core/processes_Map.js index 102384e68..abebaa013 100755 --- a/workflow/engine/js/processmap/core/processes_Map.js +++ b/workflow/engine/js/processmap/core/processes_Map.js @@ -145,16 +145,6 @@ var saveDataTaskTemporal = function(iForm) } break; case 'template' : - var vmesn = new input(getField('TAS_DEF_MESSAGE_TEMPLATE')); - if (getField('TAS_DEF_MESSAGE_TEMPLATE').value.trim() == ''){ - vmesn.failed(); - new leimnud.module.app.alert().make( { - label : G_STRINGS.ID_TEMPLATE_FIELD_REQUIRED - }); - return false; - } else { - vmesn.passed(); - } break; } } diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index 4bff0997c..aceb77c34 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -164,6 +164,18 @@ try { else { $loc = $aNextStep['PAGE']; } + //Triggers After + if ( isset($_SESSION['TRIGGER_DEBUG']['ISSET']) == 1) { + $oTemplatePower = new TemplatePower(PATH_TPL . 'cases/cases_Step.html'); + $oTemplatePower->prepare(); + $G_PUBLISH = new Publisher; + $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower); + $_POST['NextStep'] = $loc; + $G_PUBLISH->AddContent('view', 'cases/showDebugFrameLoader'); + $G_PUBLISH->AddContent('view', 'cases/showDebugFrameBreaker'); + G::RenderPage('publish', 'blank'); + exit(); + } G::header("location: $loc"); } diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index 45a0d22fc..2005f3eab 100644 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -443,15 +443,17 @@ switch($_POST['action']) }else{ $replaced_by = ''; } + $aFields['REPLACED_NAME'] = $replaced_by; + + $menuSelected = ''; + if ($aFields['PREF_DEFAULT_MENUSELECTED'] != ''){ - $menuSelected = ''; foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { if($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']){ switch($permission['PER_CODE']){ case 'PM_USERS' : case 'PM_SETUP' : - $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); break; case 'PM_CASES' : @@ -464,9 +466,13 @@ switch($_POST['action']) } } } + $aFields['MENUSELECTED_NAME'] = $menuSelected; + $oMenu = new Menu(); $oMenu->load('cases'); + $casesMenuSelected = ''; + if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] != ''){ foreach($oMenu->Id as $i => $item){ @@ -474,9 +480,7 @@ switch($_POST['action']) $casesMenuSelected =$oMenu->Labels[$i]; } } - else { - $casesMenuSelected = ''; - } + $aFields['CASES_MENUSELECTED_NAME'] = $casesMenuSelected; $result->success = true; diff --git a/workflow/engine/skinEngine/base/config.xml b/workflow/engine/skinEngine/base/config.xml index 0c5ccfe87..ddcf56ea6 100755 --- a/workflow/engine/skinEngine/base/config.xml +++ b/workflow/engine/skinEngine/base/config.xml @@ -11,40 +11,45 @@ - + + - + + - + + - + + - + + \ No newline at end of file diff --git a/workflow/engine/skinEngine/base/css/rtl.css b/workflow/engine/skinEngine/base/css/rtl.css new file mode 100644 index 000000000..2692070ef --- /dev/null +++ b/workflow/engine/skinEngine/base/css/rtl.css @@ -0,0 +1,399 @@ +/* buttons */ +body, html +{ + margin :0px !important; + padding :0px !important; + direction: rtl !important; +} + +.logout { + float: left +} + +ul#pm_menu { + float: right; + list-style: none outside none; + margin: 0; + padding: 0 0 0 13px; +} + + +a.options-tool { + color: #FFFFFF; + float: left; + font-weight: normal; + text-decoration: none; +} + +form.formDefault td { + padding: 2px; + text-align: right; +} + +form.formDefault .FormLabel { + color: #808080; + padding-right: 5px; + text-align: left; +} + +form.formDefault .FormFieldContent { + background-color: #F9F9F9; + color: #000000; + font-size: 11px; + padding-left: 5px; + text-align: right; +} + +.x-btn { direction: ltr; } +.x-btn-text {direction: rtl;} +* html .ext-ie .x-btn button { + width:100%; +} + +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-btn-mc em.x-btn-split { background-position:left center; display:block; padding-right:0; padding-left:14px; } +.x-btn-mc em.x-btn-split {/* background-image:url(../images/default/button/s-arrow-rtl.gif);*/ } +.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} + +/* menus */ +.x-menu { /* background-image:url(../images/default/menu/menu-rtl.gif);*/ background-position: top right; background-repeat:repeat-y; } +.x-menu-item-arrow{ /* background-image:url(../images/default/menu/menu-parent-rtl.gif); */ background-position:left center;} +.ext-ie .x-menu-item-arrow{background-position-x:10%;} +a.x-menu-item { padding:3px 27px 3px 21px; } +.x-menu-item-icon { left:auto; right:3px; } +.x-menu .x-color-palette { margin-right:26px; margin-left:4px; } +.x-menu-list-item-indent { padding-left:auto; padding-right:27px; } + +/*Panel's x-tool*/ +.x-tool {float:left;margin-left:0px;margin-right:2px;} + +/*Layouts*/ +.x-column { float:right;} +.x-panel-inline-icon { margin-left:4px; margin-right:0; } +.x-tool-expand-east, .x-tool-expand-west { float:none } + +/*Tabs*/ +ul.x-tab-strip {width:100% !important;} +ul.x-tab-strip li{direction:ltr; float:right;margin-right:2px; margin-left:0; width:120px;} +ul.x-tab-strip > li{width:auto;} +.x-tab-strip-text {direction: rtl;} +ul.x-tab-strip li.x-tab-edge { float:right;} +.x-tab-scroller-left { left:auto; right:0; /* background-image:url(../images/default/tabs/scroll-left-rtl.gif); */ } +.x-tab-scroller-right { right:auto; left:0; /* background-image:url(../images/default/tabs/scroll-right-rtl.gif); */ } +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text { /*background-position:100% 3px;*/ background-repeat:no-repeat; padding-right:20px; padding-left:0; } /*PARA CORREGIR LA POSICION DE LOS ICONOS AQUI ESTA COMENTADO BRAYAN*/ +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {right:auto; left:3px;} +.x-tab-strip-closable .x-tab-left { padding-left:3px;padding-right:3px; } + + +/*Grids*/ +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + /* background-image:url(../images/default/grid/grid3-special-col-bg-1-rtl.gif) !important; */ + padding-left: 0; padding-right: 12px; background-position: 100% 0% !important; +} +.x-grid3-hd-btn { left:0; right:auto; /* background-image:url(../images/default/grid/grid3-hd-btn-rtl.gif); */ } +.x-grid3-hd-row td { border-right-color:#EEEEEE; border-left-color:#D0D0D0; } +.x-grid3-body .x-grid3-td-numberer, .x-grid3-body .x-grid3-td-expander, .x-grid3-body .x-grid3-td-checker { + /* background-image:url(../images/default/grid/grid3-special-col-bg-rtl.gif); */ +} +.x-grid-group-hd div { background-position: 99% -47px; padding:4px 20px 4px 17px; } +.x-grid-group-collapsed .x-grid-group-hd div { background-position:99% 3px; } + +.x-grid3-cell-inner, .x-grid3-hd-inner{ + padding:3px 5px 3px 3px; +} + +.x-grid3-hd-inner { + padding:4px 5px 4px 3px; +} + + + +.x-grid3-header-pop { + border-right:1px solid; + float:left; +} + +.x-grid3-header-pop-inner { + border-right:1px solid; +} + +.x-grid3-header-inner{ + float:right; +} + +.x-grid3-header-offset { + padding-left:0; + padding-right:1px; + text-align: right; +} + +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + border-right:1px solid !important; + border-left:1px dotted !important; +} + +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { + padding:3px 0 0 5px !important; +} + +.x-dd-drag-ghost .x-grid3-dd-wrap { + padding:1px 1px 3px 3px; +} + +.x-grid3-body .x-grid3-td-row-icon .x-grid3-cell-inner { + margin-left:0; + margin-right:2px; +} + +.x-grid-group-hd div.x-grid-group-title { + padding:4px 17px 4px 4px; + background-position:99% 3px; +} + +.x-dd-drag-proxy{ + left:auto; + right:0; +} + +.x-dd-drag-ghost{ + padding-left:0; + padding-right:20px; +} + + +.x-dd-drop-icon{ + left:auto; + right:3px; +} + +.x-view-selector { + left:auto; + right:0; +} + +/*Forms*/ +.x-form-field-wrap .x-form-trigger { /* background-image:url(../images/default/form/trigger-rtl.gif) */} +.x-form-field-wrap .x-form-date-trigger { /* background-image: url(../images/default/form/date-trigger-rtl.gif); */} +.x-form-field-wrap .x-form-clear-trigger { /* background-image: url(../images/default/form/clear-trigger-rtl.gif);*/ } +.x-form-field-wrap .x-form-search-trigger { /* background-image: url(../images/default/form/search-trigger-rtl.gif);*/ } + +/*Date picker*/ +.x-date-right a { /* background-image: url(../images/default/shared/left-btn-rtl.gif); */ } +.x-date-left a{ /* background-image: url(../images/default/shared/right-btn-rtl.gif); */ } +.x-date-middle .x-btn-mc em.x-btn-arrow { background-position: 0 0; } +x-btn-mc em.x-btn-arrow { padding-left: 12px } +.x-date-mp-ybtn a.x-date-mp-next { background-position:0 -105px; } +.x-date-mp-ybtn a.x-date-mp-prev { background-position:0 -120px; } +.x-date-mp-ybtn a.x-date-mp-next:hover { background-position:-15px -105px; } +.x-date-mp-ybtn a.x-date-mp-prev:hover { background-position:-15px -120px; } + +/*Toolbar icons*/ +.x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-rtl.gif) !important; */ } +.x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-rtl.gif) !important; */ } +.x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-rtl.gif) !important; */ } +.x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-disabled-rtl.gif) !important; */ } + +/*Toobar elements*/ +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split +{ + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} +.x-toolbar .x-btn-mc em.x-btn-split { /* background-image:url(../images/default/button/s-arrow-noline-rtl.gif); */ } +.x-toolbar-more-icon { /* background-image:url(../images/default/toolbar/more-rtl.gif) !important; */ } +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-toolbar-more em.x-btn-arrow { padding-left:0} + +/*MessageBox and Window*/ +.x-window-dlg .ext-mb-icon {float:right;} +.x-window-dlg .ext-mb-info, .x-window-dlg .ext-mb-warning, .x-window-dlg .ext-mb-question, .x-window-dlg .ext-mb-error { + background-position: right top; +} +.x-hidden, .x-hide-offsets { left:0px; } + +/* ProgressBar */ +.x-progress-bar { float:right } +.x-progress-text { left:auto; right:0; } + +/* tooltip */ +.x-tip .x-tip-close{ + margin:0 2px 2px 0; +} + +/*panel */ +.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon { + padding-right:20px !important; + padding-left:0 !important; + background-position: right 4px; +} + +/* ---- text fields ---- */ +.x-form-check-group-label { + padding-left: 0 !important; + padding-right: 3px !important; +} + + + +.ext-webkit .x-form-field-wrap .x-form-trigger{ + right:auto; + left:0; +} + + +.x-form-field-wrap { + right:0; + left:auto; +} + +.x-form-grow-sizer { + right: -10000px; + left: auto; +} + +/* Form Items CSS */ + +.x-form-item label.x-form-item-label { + float:right; + padding-right:0; + clear:right; +} + +.x-form-element { + padding-left:0px; + padding-right:105px; +} + +.x-form-invalid-msg { + padding-left:0; + padding-right:18px; +} + +.x-form-label-left label.x-form-item-label { + text-align:right; +} + +.x-form-label-right label.x-form-item-label { + text-align:left; +} + + +.x-form-label-top .x-form-element { + padding-right:0; +} + +.x-small-editor .x-form-num-field { + text-align:left; +} + +.x-form-clear-left { + clear:right; +} + + +.x-form-cb-label { + margin-left:0; + margin-right:4px; +} + + +.x-form-column { + float:right; +} + +/* buttons */ +.x-form .x-form-btns-ct .x-btn{ + float:left; +} + + +.x-form .x-form-btns-ct .x-form-btns-right table{ + float:left; +} + +.x-form .x-form-btns-ct .x-form-btns-left table{ + float:right; +} + + + +.x-fieldset legend .x-tool-toggle { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend .x-tool-toggle{ + right:25px; + position:absolute; +} + +.x-fieldset legend input { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend input{ + right:25px; + position:absolute; +} +.ext-ie .x-fieldset-header-text{ + margin-right:18px; +} + +fieldset.x-panel-collapsed .x-fieldset-bwrap { + right:-1000px; + left:auto; +} + +.x-fieldset-noborder legend { + margin-left:0px; + margin-right:-3px; +} + +/* IE legend positioing bug */ +.ext-ie .x-fieldset-noborder legend span { + left:auto; + right:16px; +} + +.x-hide-label .x-form-element { + padding-right: 0 !important; +} + + +td.x-date-mp-sep { + border-right:none; + border-left:1px solid; +} +td.x-date-mp-sep { + border-right-color:none; + border-left-color:#c5d2df; +} + + +.ext-strict .x-menu-item-icon{ + right: 3px; +} + +.ext-ie .x-menu-item-icon { + left: auto ; + right: 15px; +} + +.ext-ie6 .x-menu-item-icon { + left: auto; + right: 15x; +} + +.ext-ie .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ + right: 0x !important; +} + diff --git a/workflow/engine/skinEngine/base/layout-extjs.html b/workflow/engine/skinEngine/base/layout-extjs.html index fb5e52781..93adff71d 100755 --- a/workflow/engine/skinEngine/base/layout-extjs.html +++ b/workflow/engine/skinEngine/base/layout-extjs.html @@ -1,10 +1,12 @@ - + +{doctype} + {meta} {header} - + {bodyTemplate} \ No newline at end of file diff --git a/workflow/engine/skinEngine/skinEngine.php b/workflow/engine/skinEngine/skinEngine.php index d464d2c77..e7038000e 100755 --- a/workflow/engine/skinEngine/skinEngine.php +++ b/workflow/engine/skinEngine/skinEngine.php @@ -240,13 +240,41 @@ class SkinEngine $templateFile = $this->layoutFile['dirname'] . PATH_SEP . $this->layoutFileExtjs['basename']; } - + $template = new TemplatePower($templateFile); $template->prepare(); $template->assign('header', $header); $template->assign('styles', $styles); $template->assign('bodyTemplate', $body); + + // verify is RTL + $oServerConf =& serverConf::getSingleton(); + if ($oServerConf->isRtl(SYS_LANG)) { + $template->assign('dirBody', 'dir="RTL"'); + } + // end verify + // verify is IE + $doctype = ''; + $meta = ''; + $iexplores = array( + 'IE=10' => '(MSIE 10\.[0-9]+)', + 'IE=9' => '(MSIE 9\.[0-9]+)', + 'IE=8' => '(MSIE 8\.[0-9]+)', + 'IE=7' => '(MSIE 7\.[0-9]+)', + 'IE=6' => '(MSIE 6\.[0-9]+)' + ); + + foreach ($iexplores as $browser => $pattern) { + if (preg_match('/'.$pattern.'/', $_SERVER['HTTP_USER_AGENT'])) { + $doctype = ''; + $meta = ''; + } + } + // end verify + + $template->assign('meta', $meta); + $template->assign('doctype', $doctype); echo $template->getOutputContent(); } diff --git a/workflow/engine/skinEngine/uxmodern/config.xml b/workflow/engine/skinEngine/uxmodern/config.xml index 70fce06c2..5f09d36e3 100644 --- a/workflow/engine/skinEngine/uxmodern/config.xml +++ b/workflow/engine/skinEngine/uxmodern/config.xml @@ -17,12 +17,14 @@ + + @@ -31,12 +33,14 @@ + + @@ -45,6 +49,7 @@ + \ No newline at end of file diff --git a/workflow/engine/skinEngine/uxmodern/css/rtl.css b/workflow/engine/skinEngine/uxmodern/css/rtl.css new file mode 100644 index 000000000..2692070ef --- /dev/null +++ b/workflow/engine/skinEngine/uxmodern/css/rtl.css @@ -0,0 +1,399 @@ +/* buttons */ +body, html +{ + margin :0px !important; + padding :0px !important; + direction: rtl !important; +} + +.logout { + float: left +} + +ul#pm_menu { + float: right; + list-style: none outside none; + margin: 0; + padding: 0 0 0 13px; +} + + +a.options-tool { + color: #FFFFFF; + float: left; + font-weight: normal; + text-decoration: none; +} + +form.formDefault td { + padding: 2px; + text-align: right; +} + +form.formDefault .FormLabel { + color: #808080; + padding-right: 5px; + text-align: left; +} + +form.formDefault .FormFieldContent { + background-color: #F9F9F9; + color: #000000; + font-size: 11px; + padding-left: 5px; + text-align: right; +} + +.x-btn { direction: ltr; } +.x-btn-text {direction: rtl;} +* html .ext-ie .x-btn button { + width:100%; +} + +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-btn-mc em.x-btn-split { background-position:left center; display:block; padding-right:0; padding-left:14px; } +.x-btn-mc em.x-btn-split {/* background-image:url(../images/default/button/s-arrow-rtl.gif);*/ } +.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} + +/* menus */ +.x-menu { /* background-image:url(../images/default/menu/menu-rtl.gif);*/ background-position: top right; background-repeat:repeat-y; } +.x-menu-item-arrow{ /* background-image:url(../images/default/menu/menu-parent-rtl.gif); */ background-position:left center;} +.ext-ie .x-menu-item-arrow{background-position-x:10%;} +a.x-menu-item { padding:3px 27px 3px 21px; } +.x-menu-item-icon { left:auto; right:3px; } +.x-menu .x-color-palette { margin-right:26px; margin-left:4px; } +.x-menu-list-item-indent { padding-left:auto; padding-right:27px; } + +/*Panel's x-tool*/ +.x-tool {float:left;margin-left:0px;margin-right:2px;} + +/*Layouts*/ +.x-column { float:right;} +.x-panel-inline-icon { margin-left:4px; margin-right:0; } +.x-tool-expand-east, .x-tool-expand-west { float:none } + +/*Tabs*/ +ul.x-tab-strip {width:100% !important;} +ul.x-tab-strip li{direction:ltr; float:right;margin-right:2px; margin-left:0; width:120px;} +ul.x-tab-strip > li{width:auto;} +.x-tab-strip-text {direction: rtl;} +ul.x-tab-strip li.x-tab-edge { float:right;} +.x-tab-scroller-left { left:auto; right:0; /* background-image:url(../images/default/tabs/scroll-left-rtl.gif); */ } +.x-tab-scroller-right { right:auto; left:0; /* background-image:url(../images/default/tabs/scroll-right-rtl.gif); */ } +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text { /*background-position:100% 3px;*/ background-repeat:no-repeat; padding-right:20px; padding-left:0; } /*PARA CORREGIR LA POSICION DE LOS ICONOS AQUI ESTA COMENTADO BRAYAN*/ +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {right:auto; left:3px;} +.x-tab-strip-closable .x-tab-left { padding-left:3px;padding-right:3px; } + + +/*Grids*/ +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + /* background-image:url(../images/default/grid/grid3-special-col-bg-1-rtl.gif) !important; */ + padding-left: 0; padding-right: 12px; background-position: 100% 0% !important; +} +.x-grid3-hd-btn { left:0; right:auto; /* background-image:url(../images/default/grid/grid3-hd-btn-rtl.gif); */ } +.x-grid3-hd-row td { border-right-color:#EEEEEE; border-left-color:#D0D0D0; } +.x-grid3-body .x-grid3-td-numberer, .x-grid3-body .x-grid3-td-expander, .x-grid3-body .x-grid3-td-checker { + /* background-image:url(../images/default/grid/grid3-special-col-bg-rtl.gif); */ +} +.x-grid-group-hd div { background-position: 99% -47px; padding:4px 20px 4px 17px; } +.x-grid-group-collapsed .x-grid-group-hd div { background-position:99% 3px; } + +.x-grid3-cell-inner, .x-grid3-hd-inner{ + padding:3px 5px 3px 3px; +} + +.x-grid3-hd-inner { + padding:4px 5px 4px 3px; +} + + + +.x-grid3-header-pop { + border-right:1px solid; + float:left; +} + +.x-grid3-header-pop-inner { + border-right:1px solid; +} + +.x-grid3-header-inner{ + float:right; +} + +.x-grid3-header-offset { + padding-left:0; + padding-right:1px; + text-align: right; +} + +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + border-right:1px solid !important; + border-left:1px dotted !important; +} + +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { + padding:3px 0 0 5px !important; +} + +.x-dd-drag-ghost .x-grid3-dd-wrap { + padding:1px 1px 3px 3px; +} + +.x-grid3-body .x-grid3-td-row-icon .x-grid3-cell-inner { + margin-left:0; + margin-right:2px; +} + +.x-grid-group-hd div.x-grid-group-title { + padding:4px 17px 4px 4px; + background-position:99% 3px; +} + +.x-dd-drag-proxy{ + left:auto; + right:0; +} + +.x-dd-drag-ghost{ + padding-left:0; + padding-right:20px; +} + + +.x-dd-drop-icon{ + left:auto; + right:3px; +} + +.x-view-selector { + left:auto; + right:0; +} + +/*Forms*/ +.x-form-field-wrap .x-form-trigger { /* background-image:url(../images/default/form/trigger-rtl.gif) */} +.x-form-field-wrap .x-form-date-trigger { /* background-image: url(../images/default/form/date-trigger-rtl.gif); */} +.x-form-field-wrap .x-form-clear-trigger { /* background-image: url(../images/default/form/clear-trigger-rtl.gif);*/ } +.x-form-field-wrap .x-form-search-trigger { /* background-image: url(../images/default/form/search-trigger-rtl.gif);*/ } + +/*Date picker*/ +.x-date-right a { /* background-image: url(../images/default/shared/left-btn-rtl.gif); */ } +.x-date-left a{ /* background-image: url(../images/default/shared/right-btn-rtl.gif); */ } +.x-date-middle .x-btn-mc em.x-btn-arrow { background-position: 0 0; } +x-btn-mc em.x-btn-arrow { padding-left: 12px } +.x-date-mp-ybtn a.x-date-mp-next { background-position:0 -105px; } +.x-date-mp-ybtn a.x-date-mp-prev { background-position:0 -120px; } +.x-date-mp-ybtn a.x-date-mp-next:hover { background-position:-15px -105px; } +.x-date-mp-ybtn a.x-date-mp-prev:hover { background-position:-15px -120px; } + +/*Toolbar icons*/ +.x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-rtl.gif) !important; */ } +.x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-rtl.gif) !important; */ } +.x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-rtl.gif) !important; */ } +.x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-disabled-rtl.gif) !important; */ } + +/*Toobar elements*/ +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split +{ + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} +.x-toolbar .x-btn-mc em.x-btn-split { /* background-image:url(../images/default/button/s-arrow-noline-rtl.gif); */ } +.x-toolbar-more-icon { /* background-image:url(../images/default/toolbar/more-rtl.gif) !important; */ } +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-toolbar-more em.x-btn-arrow { padding-left:0} + +/*MessageBox and Window*/ +.x-window-dlg .ext-mb-icon {float:right;} +.x-window-dlg .ext-mb-info, .x-window-dlg .ext-mb-warning, .x-window-dlg .ext-mb-question, .x-window-dlg .ext-mb-error { + background-position: right top; +} +.x-hidden, .x-hide-offsets { left:0px; } + +/* ProgressBar */ +.x-progress-bar { float:right } +.x-progress-text { left:auto; right:0; } + +/* tooltip */ +.x-tip .x-tip-close{ + margin:0 2px 2px 0; +} + +/*panel */ +.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon { + padding-right:20px !important; + padding-left:0 !important; + background-position: right 4px; +} + +/* ---- text fields ---- */ +.x-form-check-group-label { + padding-left: 0 !important; + padding-right: 3px !important; +} + + + +.ext-webkit .x-form-field-wrap .x-form-trigger{ + right:auto; + left:0; +} + + +.x-form-field-wrap { + right:0; + left:auto; +} + +.x-form-grow-sizer { + right: -10000px; + left: auto; +} + +/* Form Items CSS */ + +.x-form-item label.x-form-item-label { + float:right; + padding-right:0; + clear:right; +} + +.x-form-element { + padding-left:0px; + padding-right:105px; +} + +.x-form-invalid-msg { + padding-left:0; + padding-right:18px; +} + +.x-form-label-left label.x-form-item-label { + text-align:right; +} + +.x-form-label-right label.x-form-item-label { + text-align:left; +} + + +.x-form-label-top .x-form-element { + padding-right:0; +} + +.x-small-editor .x-form-num-field { + text-align:left; +} + +.x-form-clear-left { + clear:right; +} + + +.x-form-cb-label { + margin-left:0; + margin-right:4px; +} + + +.x-form-column { + float:right; +} + +/* buttons */ +.x-form .x-form-btns-ct .x-btn{ + float:left; +} + + +.x-form .x-form-btns-ct .x-form-btns-right table{ + float:left; +} + +.x-form .x-form-btns-ct .x-form-btns-left table{ + float:right; +} + + + +.x-fieldset legend .x-tool-toggle { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend .x-tool-toggle{ + right:25px; + position:absolute; +} + +.x-fieldset legend input { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend input{ + right:25px; + position:absolute; +} +.ext-ie .x-fieldset-header-text{ + margin-right:18px; +} + +fieldset.x-panel-collapsed .x-fieldset-bwrap { + right:-1000px; + left:auto; +} + +.x-fieldset-noborder legend { + margin-left:0px; + margin-right:-3px; +} + +/* IE legend positioing bug */ +.ext-ie .x-fieldset-noborder legend span { + left:auto; + right:16px; +} + +.x-hide-label .x-form-element { + padding-right: 0 !important; +} + + +td.x-date-mp-sep { + border-right:none; + border-left:1px solid; +} +td.x-date-mp-sep { + border-right-color:none; + border-left-color:#c5d2df; +} + + +.ext-strict .x-menu-item-icon{ + right: 3px; +} + +.ext-ie .x-menu-item-icon { + left: auto ; + right: 15px; +} + +.ext-ie6 .x-menu-item-icon { + left: auto; + right: 15x; +} + +.ext-ie .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ + right: 0x !important; +} + diff --git a/workflow/engine/skinEngine/uxmodern/layout-extjs.html b/workflow/engine/skinEngine/uxmodern/layout-extjs.html index 6c7ba6b8e..93adff71d 100644 --- a/workflow/engine/skinEngine/uxmodern/layout-extjs.html +++ b/workflow/engine/skinEngine/uxmodern/layout-extjs.html @@ -1,13 +1,12 @@ - +{doctype} - - + {meta} {header} - + {bodyTemplate} \ No newline at end of file diff --git a/workflow/engine/skinEngine/uxmodern/layout-pm-modern-login.html b/workflow/engine/skinEngine/uxmodern/layout-pm-modern-login.html index 8b1b6cf3d..84415515d 100644 --- a/workflow/engine/skinEngine/uxmodern/layout-pm-modern-login.html +++ b/workflow/engine/skinEngine/uxmodern/layout-pm-modern-login.html @@ -1,5 +1,6 @@ + diff --git a/workflow/engine/skinEngine/uxmodern/layout-pm-modern.html b/workflow/engine/skinEngine/uxmodern/layout-pm-modern.html index f1d7f60f4..617ba2d41 100644 --- a/workflow/engine/skinEngine/uxmodern/layout-pm-modern.html +++ b/workflow/engine/skinEngine/uxmodern/layout-pm-modern.html @@ -1,5 +1,6 @@ + {$_header} diff --git a/workflow/engine/skinEngine/uxs/config.xml b/workflow/engine/skinEngine/uxs/config.xml index 0c5ccfe87..777a44744 100644 --- a/workflow/engine/skinEngine/uxs/config.xml +++ b/workflow/engine/skinEngine/uxs/config.xml @@ -17,12 +17,14 @@ + + @@ -31,12 +33,14 @@ + + @@ -45,6 +49,7 @@ + \ No newline at end of file diff --git a/workflow/engine/skinEngine/uxs/css/rtl.css b/workflow/engine/skinEngine/uxs/css/rtl.css new file mode 100644 index 000000000..2692070ef --- /dev/null +++ b/workflow/engine/skinEngine/uxs/css/rtl.css @@ -0,0 +1,399 @@ +/* buttons */ +body, html +{ + margin :0px !important; + padding :0px !important; + direction: rtl !important; +} + +.logout { + float: left +} + +ul#pm_menu { + float: right; + list-style: none outside none; + margin: 0; + padding: 0 0 0 13px; +} + + +a.options-tool { + color: #FFFFFF; + float: left; + font-weight: normal; + text-decoration: none; +} + +form.formDefault td { + padding: 2px; + text-align: right; +} + +form.formDefault .FormLabel { + color: #808080; + padding-right: 5px; + text-align: left; +} + +form.formDefault .FormFieldContent { + background-color: #F9F9F9; + color: #000000; + font-size: 11px; + padding-left: 5px; + text-align: right; +} + +.x-btn { direction: ltr; } +.x-btn-text {direction: rtl;} +* html .ext-ie .x-btn button { + width:100%; +} + +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-btn-mc em.x-btn-split { background-position:left center; display:block; padding-right:0; padding-left:14px; } +.x-btn-mc em.x-btn-split {/* background-image:url(../images/default/button/s-arrow-rtl.gif);*/ } +.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} + +/* menus */ +.x-menu { /* background-image:url(../images/default/menu/menu-rtl.gif);*/ background-position: top right; background-repeat:repeat-y; } +.x-menu-item-arrow{ /* background-image:url(../images/default/menu/menu-parent-rtl.gif); */ background-position:left center;} +.ext-ie .x-menu-item-arrow{background-position-x:10%;} +a.x-menu-item { padding:3px 27px 3px 21px; } +.x-menu-item-icon { left:auto; right:3px; } +.x-menu .x-color-palette { margin-right:26px; margin-left:4px; } +.x-menu-list-item-indent { padding-left:auto; padding-right:27px; } + +/*Panel's x-tool*/ +.x-tool {float:left;margin-left:0px;margin-right:2px;} + +/*Layouts*/ +.x-column { float:right;} +.x-panel-inline-icon { margin-left:4px; margin-right:0; } +.x-tool-expand-east, .x-tool-expand-west { float:none } + +/*Tabs*/ +ul.x-tab-strip {width:100% !important;} +ul.x-tab-strip li{direction:ltr; float:right;margin-right:2px; margin-left:0; width:120px;} +ul.x-tab-strip > li{width:auto;} +.x-tab-strip-text {direction: rtl;} +ul.x-tab-strip li.x-tab-edge { float:right;} +.x-tab-scroller-left { left:auto; right:0; /* background-image:url(../images/default/tabs/scroll-left-rtl.gif); */ } +.x-tab-scroller-right { right:auto; left:0; /* background-image:url(../images/default/tabs/scroll-right-rtl.gif); */ } +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text { /*background-position:100% 3px;*/ background-repeat:no-repeat; padding-right:20px; padding-left:0; } /*PARA CORREGIR LA POSICION DE LOS ICONOS AQUI ESTA COMENTADO BRAYAN*/ +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {right:auto; left:3px;} +.x-tab-strip-closable .x-tab-left { padding-left:3px;padding-right:3px; } + + +/*Grids*/ +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + /* background-image:url(../images/default/grid/grid3-special-col-bg-1-rtl.gif) !important; */ + padding-left: 0; padding-right: 12px; background-position: 100% 0% !important; +} +.x-grid3-hd-btn { left:0; right:auto; /* background-image:url(../images/default/grid/grid3-hd-btn-rtl.gif); */ } +.x-grid3-hd-row td { border-right-color:#EEEEEE; border-left-color:#D0D0D0; } +.x-grid3-body .x-grid3-td-numberer, .x-grid3-body .x-grid3-td-expander, .x-grid3-body .x-grid3-td-checker { + /* background-image:url(../images/default/grid/grid3-special-col-bg-rtl.gif); */ +} +.x-grid-group-hd div { background-position: 99% -47px; padding:4px 20px 4px 17px; } +.x-grid-group-collapsed .x-grid-group-hd div { background-position:99% 3px; } + +.x-grid3-cell-inner, .x-grid3-hd-inner{ + padding:3px 5px 3px 3px; +} + +.x-grid3-hd-inner { + padding:4px 5px 4px 3px; +} + + + +.x-grid3-header-pop { + border-right:1px solid; + float:left; +} + +.x-grid3-header-pop-inner { + border-right:1px solid; +} + +.x-grid3-header-inner{ + float:right; +} + +.x-grid3-header-offset { + padding-left:0; + padding-right:1px; + text-align: right; +} + +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ + border-right:1px solid !important; + border-left:1px dotted !important; +} + +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { + padding:3px 0 0 5px !important; +} + +.x-dd-drag-ghost .x-grid3-dd-wrap { + padding:1px 1px 3px 3px; +} + +.x-grid3-body .x-grid3-td-row-icon .x-grid3-cell-inner { + margin-left:0; + margin-right:2px; +} + +.x-grid-group-hd div.x-grid-group-title { + padding:4px 17px 4px 4px; + background-position:99% 3px; +} + +.x-dd-drag-proxy{ + left:auto; + right:0; +} + +.x-dd-drag-ghost{ + padding-left:0; + padding-right:20px; +} + + +.x-dd-drop-icon{ + left:auto; + right:3px; +} + +.x-view-selector { + left:auto; + right:0; +} + +/*Forms*/ +.x-form-field-wrap .x-form-trigger { /* background-image:url(../images/default/form/trigger-rtl.gif) */} +.x-form-field-wrap .x-form-date-trigger { /* background-image: url(../images/default/form/date-trigger-rtl.gif); */} +.x-form-field-wrap .x-form-clear-trigger { /* background-image: url(../images/default/form/clear-trigger-rtl.gif);*/ } +.x-form-field-wrap .x-form-search-trigger { /* background-image: url(../images/default/form/search-trigger-rtl.gif);*/ } + +/*Date picker*/ +.x-date-right a { /* background-image: url(../images/default/shared/left-btn-rtl.gif); */ } +.x-date-left a{ /* background-image: url(../images/default/shared/right-btn-rtl.gif); */ } +.x-date-middle .x-btn-mc em.x-btn-arrow { background-position: 0 0; } +x-btn-mc em.x-btn-arrow { padding-left: 12px } +.x-date-mp-ybtn a.x-date-mp-next { background-position:0 -105px; } +.x-date-mp-ybtn a.x-date-mp-prev { background-position:0 -120px; } +.x-date-mp-ybtn a.x-date-mp-next:hover { background-position:-15px -105px; } +.x-date-mp-ybtn a.x-date-mp-prev:hover { background-position:-15px -120px; } + +/*Toolbar icons*/ +.x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-rtl.gif) !important; */ } +.x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-rtl.gif) !important; */ } +.x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-rtl.gif) !important; */ } +.x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-first{ /* background-image: url(../images/default/grid/page-first-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-last{ /* background-image: url(../images/default/grid/page-last-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-next{ /* background-image: url(../images/default/grid/page-next-disabled-rtl.gif) !important; */ } +.x-item-disabled .x-tbar-page-prev{ /* background-image: url(../images/default/grid/page-prev-disabled-rtl.gif) !important; */ } + +/*Toobar elements*/ +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split +{ + /* background-image:url(../images/default/button/s-arrow-o-rtl.gif); */ +} +.x-toolbar .x-btn-mc em.x-btn-split { /* background-image:url(../images/default/button/s-arrow-noline-rtl.gif); */ } +.x-toolbar-more-icon { /* background-image:url(../images/default/toolbar/more-rtl.gif) !important; */ } +.x-btn-mc em.x-btn-arrow { background-position:left center; padding-right:0; padding-left:10px; } +.x-toolbar-more em.x-btn-arrow { padding-left:0} + +/*MessageBox and Window*/ +.x-window-dlg .ext-mb-icon {float:right;} +.x-window-dlg .ext-mb-info, .x-window-dlg .ext-mb-warning, .x-window-dlg .ext-mb-question, .x-window-dlg .ext-mb-error { + background-position: right top; +} +.x-hidden, .x-hide-offsets { left:0px; } + +/* ProgressBar */ +.x-progress-bar { float:right } +.x-progress-text { left:auto; right:0; } + +/* tooltip */ +.x-tip .x-tip-close{ + margin:0 2px 2px 0; +} + +/*panel */ +.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon { + padding-right:20px !important; + padding-left:0 !important; + background-position: right 4px; +} + +/* ---- text fields ---- */ +.x-form-check-group-label { + padding-left: 0 !important; + padding-right: 3px !important; +} + + + +.ext-webkit .x-form-field-wrap .x-form-trigger{ + right:auto; + left:0; +} + + +.x-form-field-wrap { + right:0; + left:auto; +} + +.x-form-grow-sizer { + right: -10000px; + left: auto; +} + +/* Form Items CSS */ + +.x-form-item label.x-form-item-label { + float:right; + padding-right:0; + clear:right; +} + +.x-form-element { + padding-left:0px; + padding-right:105px; +} + +.x-form-invalid-msg { + padding-left:0; + padding-right:18px; +} + +.x-form-label-left label.x-form-item-label { + text-align:right; +} + +.x-form-label-right label.x-form-item-label { + text-align:left; +} + + +.x-form-label-top .x-form-element { + padding-right:0; +} + +.x-small-editor .x-form-num-field { + text-align:left; +} + +.x-form-clear-left { + clear:right; +} + + +.x-form-cb-label { + margin-left:0; + margin-right:4px; +} + + +.x-form-column { + float:right; +} + +/* buttons */ +.x-form .x-form-btns-ct .x-btn{ + float:left; +} + + +.x-form .x-form-btns-ct .x-form-btns-right table{ + float:left; +} + +.x-form .x-form-btns-ct .x-form-btns-left table{ + float:right; +} + + + +.x-fieldset legend .x-tool-toggle { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend .x-tool-toggle{ + right:25px; + position:absolute; +} + +.x-fieldset legend input { + margin-left:3px; + margin-right:0; + float:right !important; +} + +.ext-ie .x-fieldset legend input{ + right:25px; + position:absolute; +} +.ext-ie .x-fieldset-header-text{ + margin-right:18px; +} + +fieldset.x-panel-collapsed .x-fieldset-bwrap { + right:-1000px; + left:auto; +} + +.x-fieldset-noborder legend { + margin-left:0px; + margin-right:-3px; +} + +/* IE legend positioing bug */ +.ext-ie .x-fieldset-noborder legend span { + left:auto; + right:16px; +} + +.x-hide-label .x-form-element { + padding-right: 0 !important; +} + + +td.x-date-mp-sep { + border-right:none; + border-left:1px solid; +} +td.x-date-mp-sep { + border-right-color:none; + border-left-color:#c5d2df; +} + + +.ext-strict .x-menu-item-icon{ + right: 3px; +} + +.ext-ie .x-menu-item-icon { + left: auto ; + right: 15px; +} + +.ext-ie6 .x-menu-item-icon { + left: auto; + right: 15x; +} + +.ext-ie .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ + right: 0x !important; +} + diff --git a/workflow/engine/skinEngine/uxs/layout-tracker.html b/workflow/engine/skinEngine/uxs/layout-tracker.html index 211767b1e..660691931 100644 --- a/workflow/engine/skinEngine/uxs/layout-tracker.html +++ b/workflow/engine/skinEngine/uxs/layout-tracker.html @@ -1,4 +1,5 @@ + {$header} diff --git a/workflow/engine/templates/cases/main.js b/workflow/engine/templates/cases/main.js index f92c17434..717e25f1a 100755 --- a/workflow/engine/templates/cases/main.js +++ b/workflow/engine/templates/cases/main.js @@ -337,6 +337,7 @@ Ext.onReady(function(){ reader: reader, sortInfo:{field: 'name', direction: "ASC"}, groupField:'execution_time', + groupDir: 'DESC', proxy: new Ext.data.HttpProxy({url: 'debug_triggers?r='+Math.random()}), listeners: { load : function() { diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index aac5f69fc..e1f67e2a5 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -227,7 +227,7 @@ Ext.onReady(function(){ defaults:{autoScroll: true}, defaultType:"iframepanel", activeTab: 0, - + enableTabScroll: true, //defaults: Ext.apply({}, Ext.isGecko? {style:{position:'absolute'},hideMode:'visibility'}:false), items:[{ diff --git a/workflow/engine/templates/users/users.js b/workflow/engine/templates/users/users.js index 36f240e14..87057ef2b 100644 --- a/workflow/engine/templates/users/users.js +++ b/workflow/engine/templates/users/users.js @@ -1,10 +1,28 @@ -var storelocation; -var comboLocation; var storeCountry; +var storeRegion; +var storeLocation; +var storeReplacedBy; +var storeCalendar; +var storeRole; + +var storeDefaultMainMenuOption; +var storeDefaultCasesMenuOption; + +var comboCountry; +var comboRegion; +var comboLocation; +var comboReplacedBy; +var comboCalendar; +var comboRole; + +var comboDefaultMainMenuOption; +var comboDefaultCasesMenuOption; + var frmDetails; +var frmSumary; + var allowBlackStatus; var displayPreferences; -var passwordFields; var box; var infoMode; var global = {}; @@ -15,11 +33,13 @@ var canEdit = true; var flagPoliciesPassword = false; var flagValidateUsername = false; //var rendeToPage='document.body'; + global.IC_UID = ''; global.IS_UID = ''; global.USR_FIRSTNAME = ''; global.aux = ''; -Ext.onReady(function() { + +Ext.onReady(function () { Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); Ext.QuickTips.init(); @@ -36,45 +56,42 @@ Ext.onReady(function() { }); - if (MODE == 'edit' || MODE == '') - flagPoliciesPassword = true; + if (MODE == "edit" || MODE == "") { + flagPoliciesPassword = true; + } - //EDIT MODE - if (USR_UID != '') { - allowBlackStatus = true; + if (USR_UID != "") { + //Mode edit + allowBlackStatus = true; - box.setVisible(true); - box.enable(); + box.setVisible(true); + box.enable(); + + if (infoMode) { + //Mode info + box.setVisible(false); + box.disable(); + + displayPreferences = "display: block;"; + readMode = true; + } else { + displayPreferences = "display: none;"; + readMode = false; + canEdit = false; + } + } else { + //Mode new + allowBlackStatus = false; - // INFO MODE - if (infoMode) { - displayPreferences = 'display:block;'; - loadUserView(); - readMode = true; box.setVisible(false); box.disable(); - } - else - { - displayPreferences = 'display:none;'; - loadUserData(); + displayPreferences = "display: none;"; readMode = false; canEdit = false; - } - - } - else { - allowBlackStatus=false; - box.setVisible(false); - box.disable(); - displayPreferences = 'display:none;'; - readMode = false; - canEdit = false; } - - profileFields = new Ext.form.FieldSet({ + var profileFields = new Ext.form.FieldSet({ title : _('ID_PROFILE'), items : [ box, @@ -112,123 +129,134 @@ Ext.onReady(function() { } } */ - ] }); - storeCountry = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + + storeCountry = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { + + baseParams: {"action": "countryList"}, + + reader : new Ext.data.JsonReader({ fields : [ { - name : 'IC_UID' + name : "IC_UID" }, { - name : 'IC_NAME' - } ] + name : "IC_NAME" + }] }) }); + comboCountry = new Ext.form.ComboBox({ - fieldLabel : _('ID_COUNTRY'), - hiddenName : 'USR_COUNTRY', - id : 'USR_COUNTRY', + fieldLabel : _("ID_COUNTRY"), + hiddenName : "USR_COUNTRY", + id : "USR_COUNTRY", store : storeCountry, - valueField : 'IC_UID', - displayField : 'IC_NAME', - triggerAction : 'all', - emptyText : _('ID_SELECT'), + valueField : "IC_UID", + displayField : "IC_NAME", + triggerAction : "all", + emptyText : _("ID_SELECT"), selectOnFocus : true, width : 180, autocomplete : true, typeAhead : true, - mode : 'local', + mode : "local", listeners : { - select : function(combo,record,index){ + select : function (combo, record, index) { global.IC_UID = this.getValue(); comboRegion.store.removeAll(); comboLocation.store.removeAll(); comboRegion.clearValue(); + storeRegion.load({ params : { - action : 'stateList', IC_UID : global.IC_UID } }); - comboLocation.setValue(''); - comboRegion.store.on('load',function(store) { - comboRegion.setValue(''); + + comboLocation.setValue(""); + comboRegion.store.on("load", function (store) { + comboRegion.setValue(""); }); } } - }); - storeCountry.load({ - params : {"action" : "countryList"} }); - storeRegion = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeRegion = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'IS_UID' + + baseParams: {"action": "stateList"}, + + reader : new Ext.data.JsonReader({ + fields : [{ + name : "IS_UID" }, { - name : 'IS_NAME' - } ] + name : "IS_NAME" + }] }) }); - comboRegion = new Ext.form.ComboBox({ - fieldLabel : _('ID_STATE_REGION'), - hiddenName : 'USR_REGION', - id : 'USR_REGION', + + comboRegion = new Ext.form.ComboBox({ + fieldLabel : _("ID_STATE_REGION"), + hiddenName : "USR_REGION", + id : "USR_REGION", store : storeRegion, - valueField : 'IS_UID', - displayField : 'IS_NAME', - triggerAction : 'all', - emptyText : _('ID_SELECT'), + valueField : "IS_UID", + displayField : "IS_NAME", + triggerAction : "all", + emptyText : _("ID_SELECT"), selectOnFocus : true, width : 180, autocomplete : true, typeAhead : true, - mode : 'local', + mode : "local", listeners : { - select : function(combo, record, index) { + select : function (combo, record, index) { global.IS_UID = this.getValue(); comboLocation.enable(); comboLocation.clearValue(); - storelocation.load({ + + storeLocation.load({ params : { - action : 'locationList', IC_UID : global.IC_UID, IS_UID : global.IS_UID } }); - comboLocation.store.on('load', function(store) { - comboLocation.setValue(''); + + comboLocation.store.on("load", function (store) { + comboLocation.setValue(""); }); } } }); - storelocation = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeLocation = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'IL_UID' + + baseParams: {"action": "locationList"}, + + reader : new Ext.data.JsonReader({ + fields : [{ + name : "IL_UID" }, { - name : 'IL_NAME' - } ] + name : "IL_NAME" + }] }) }); + comboLocation = new Ext.form.ComboBox({ fieldLabel : _('ID_LOCATION'), hiddenName : 'USR_LOCATION', id : 'USR_LOCATION', - store : storelocation, + store : storeLocation, valueField : 'IL_UID', displayField : 'IL_NAME', triggerAction : 'all', @@ -237,72 +265,71 @@ Ext.onReady(function() { autocomplete : true, typeAhead : true, mode : 'local' + }); + storeReplacedBy = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action": "usersList"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name : "USR_UID"}, + {name : "USER_FULLNAME"} + ] + }) }); comboReplacedBy = new Ext.form.ComboBox({ - fieldLabel : _('ID_REPLACED_BY'), - hiddenName : 'USR_REPLACED_BY', - id : 'USR_REPLACED_BY', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'usersList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'USR_UID' - }, { - name : 'USER_FULLNAME' - } ] - }), - autoLoad:true - }), - valueField : 'USR_UID', - displayField : 'USER_FULLNAME', + fieldLabel : _("ID_REPLACED_BY"), + hiddenName : "USR_REPLACED_BY", + id : "USR_REPLACED_BY", + store : storeReplacedBy, + valueField : "USR_UID", + displayField : "USER_FULLNAME", emptyText : TRANSLATIONS.ID_SELECT, width : 180, selectOnFocus : true, editable : false, - triggerAction: 'all', - mode: 'local' - + triggerAction: "all", + mode: "local" }); - - dateField = new Ext.form.DateField({ - id : 'USR_DUE_DATE', - fieldLabel : _('ID_EXPIRATION_DATE'), - format : 'Y-m-d', + var dateField = new Ext.form.DateField({ + id : "USR_DUE_DATE", + fieldLabel : _("ID_EXPIRATION_DATE"), + format : "Y-m-d", editable : false, readOnly : readMode, width : 120, - value : (new Date().add(Date.YEAR, 1)).format('Y-m-d') + value : (new Date().add(Date.YEAR, 1)).format("Y-m-d") }); + storeCalendar = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method : "POST" + }), + + baseParams: {"action": "availableCalendars"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name: "CALENDAR_UID"}, + {name: "CALENDAR_NAME"} + ] + }) + }); comboCalendar = new Ext.form.ComboBox({ fieldLabel : _('ID_CALENDAR'), hiddenName : 'USR_CALENDAR', id : 'USR_CALENDAR', readOnly : readMode, - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'availableCalendars'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'CALENDAR_UID' - }, { - name : 'CALENDAR_NAME' - } ] - }), - autoLoad : true - }), - + store : storeCalendar, valueField : 'CALENDAR_UID', displayField : 'CALENDAR_NAME', emptyText : TRANSLATIONS.ID_SELECT, @@ -312,17 +339,14 @@ Ext.onReady(function() { allowBlank : false, triggerAction : 'all', mode : 'local' - - }); - comboCalendar.store.on('load', function(store) { - comboCalendar.setValue(store.getAt(0).get('CALENDAR_UID')); }); var status = new Ext.data.SimpleStore({ - fields : ['USR_STATUS', 'status'], - data : [['ACTIVE', 'ACTIVE'], ['INACTIVE', 'INACTIVE'], ['VACATION', 'ON VACATION']] + fields: ["USR_STATUS", "status"], + data: [["ACTIVE", "ACTIVE"], ["INACTIVE", "INACTIVE"], ["VACATION", "ON VACATION"]] }); - comboStatus = new Ext.form.ComboBox({ + + var comboStatus = new Ext.form.ComboBox({ xtype : 'combo', name : 'status', fieldLabel : _('ID_STATUS'), @@ -340,28 +364,28 @@ Ext.onReady(function() { readOnly : readMode }); + storeRole = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action" : "rolesList"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name: "ROL_UID"}, + {name: "ROL_CODE"} + ] + }) + }); comboRole = new Ext.form.ComboBox({ fieldLabel : _('ID_ROLE'), hiddenName : 'USR_ROLE', id : 'USR_ROLE', readOnly : readMode, - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'rolesList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'ROL_UID' - }, { - name : 'ROL_CODE' - } ] - }), - autoLoad : true - }), - + store : storeRole, valueField : 'ROL_UID', displayField : 'ROL_CODE', emptyText : TRANSLATIONS.ID_SELECT, @@ -371,14 +395,9 @@ Ext.onReady(function() { allowBlank : false, triggerAction : 'all', mode : 'local' - - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(store.getAt(0).get('ROL_UID')); - }) - informationFields = new Ext.form.FieldSet({ + var informationFields = new Ext.form.FieldSet({ title : _('ID_PERSONAL_INFORMATION'), items : [ { @@ -475,10 +494,10 @@ Ext.onReady(function() { comboCalendar, comboStatus, comboRole - ] }); - passwordFields = new Ext.form.FieldSet({ + + var passwordFields = new Ext.form.FieldSet({ title : _('ID_CHANGE_PASSWORD'), items : [ { @@ -588,70 +607,71 @@ Ext.onReady(function() { ] }); - comboDefaultMainMenuOption = new Ext.form.ComboBox({ - fieldLabel : _('ID_DEFAULT_MAIN_MENU_OPTION'), - hiddenName : 'PREF_DEFAULT_MENUSELECTED', - id : 'PREF_DEFAULT_MENUSELECTED', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeDefaultMainMenuOption = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" }), - baseParams : {action : 'defaultMainMenuOptionList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - autoLoad : true - }), - valueField : 'id', - displayField : 'name', - emptyText : TRANSLATIONS.ID_SELECT, - width : 260, - selectOnFocus : true, - editable : false, - triggerAction : 'all', - mode : 'local' - }); - comboDefaultMainMenuOption.store.on('load',function(store) { - comboDefaultMainMenuOption.setValue(store.getAt(0).get('id')); - }); - comboDefaultCasesMenuOption = new Ext.form.ComboBox({ - fieldLabel : _('ID_DEFAULT_CASES_MENU_OPTION'), - hiddenName : 'PREF_DEFAULT_CASES_MENUSELECTED', - id : 'PREF_DEFAULT_CASES_MENUSELECTED', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'defaultCasesMenuOptionList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - autoLoad : true - }), - valueField : 'id', - displayField : 'name', - emptyText : TRANSLATIONS.ID_SELECT, - width : 260, - selectOnFocus : true, - editable : false, - triggerAction : 'all', - mode : 'local' - }); - comboDefaultCasesMenuOption.store.on('load',function(store) { - comboDefaultCasesMenuOption.setValue(store.getAt(0).get('id')); + + baseParams: {"action": "defaultMainMenuOptionList"}, + + reader: new Ext.data.JsonReader({ + fields: [{ + name: "id" + }, { + name: "name" + }] + }) }); - preferencesFields = new Ext.form.FieldSet({ + comboDefaultMainMenuOption = new Ext.form.ComboBox({ + fieldLabel : _("ID_DEFAULT_MAIN_MENU_OPTION"), + hiddenName : "PREF_DEFAULT_MENUSELECTED", + id : "PREF_DEFAULT_MENUSELECTED", + store : storeDefaultMainMenuOption, + valueField : "id", + displayField : "name", + emptyText : TRANSLATIONS.ID_SELECT, + width : 260, + selectOnFocus : true, + editable : false, + triggerAction : "all", + mode : "local" + }); + + storeDefaultCasesMenuOption = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action": "defaultCasesMenuOptionList"}, + + reader: new Ext.data.JsonReader({ + fields: [{ + name : "id" + }, { + name : "name" + }] + }) + }); + + comboDefaultCasesMenuOption = new Ext.form.ComboBox({ + fieldLabel : _("ID_DEFAULT_CASES_MENU_OPTION"), + hiddenName : "PREF_DEFAULT_CASES_MENUSELECTED", + id : "PREF_DEFAULT_CASES_MENUSELECTED", + store : storeDefaultCasesMenuOption, + valueField : "id", + displayField : "name", + emptyText : TRANSLATIONS.ID_SELECT, + width : 260, + selectOnFocus : true, + editable : false, + triggerAction : "all", + mode : "local" + }); + + var preferencesFields = new Ext.form.FieldSet({ title : _('ID_PREFERENCES'), // for display or not a preferences FieldSet style : displayPreferences, @@ -693,8 +713,6 @@ Ext.onReady(function() { text : _('ID_SAVE'), id : 'saveB', handler: saveUser - - }, { text : _('ID_CANCEL'), @@ -712,10 +730,8 @@ Ext.onReady(function() { //hidden:readMode } ] - }); - //USERS SUMMARY box2 = new Ext.BoxComponent({ width: 100, @@ -727,12 +743,14 @@ Ext.onReady(function() { src : 'users_ViewPhotoGrid?h=' + Math.random() +'&pUID=' + USR_UID + '', align : 'left'} }); + profileFields2 = new Ext.form.FieldSet({ title : _('ID_PROFILE'), items : [ box2 ] }); + informationFields2 = new Ext.form.FieldSet({ title : _('ID_PERSONAL_INFORMATION'), items : [ @@ -835,6 +853,7 @@ Ext.onReady(function() { ] }); + passwordFields2 = new Ext.form.FieldSet({ title : _('ID_PASSWORD'), items : [ @@ -847,6 +866,7 @@ Ext.onReady(function() { } ] }); + preferencesFields2 = new Ext.form.FieldSet({ title : _('ID_PREFERENCES'), // for display or not a preferences FieldSet @@ -891,17 +911,22 @@ Ext.onReady(function() { handler : editUser, hidden : canEdit } - ] - }); - if (infoMode) { - document.body.appendChild(defineUserPanel()); - frmSumary.render('users-panel'); + if (USR_UID != "") { + //Mode edit + loadUserData(); + } else { + //Mode new + loadData(); } - else { - frmDetails.render(document.body); + + if (infoMode) { + document.body.appendChild(defineUserPanel()); + frmSumary.render('users-panel'); + } else { + frmDetails.render(document.body); } Ext.getCmp('passwordReview').setVisible(false); @@ -921,27 +946,28 @@ Ext.onReady(function() { function defineUserPanel() { - var isIE = ( navigator.userAgent.indexOf('MSIE')>0 ) ? true : false; var eDivPanel = document.createElement("div"); var eDivUsersPanel = document.createElement("div"); eDivPanel.setAttribute('id', 'panel'); eDivUsersPanel.setAttribute('id', 'users-panel'); + if (isIE) { eDivPanel.style.setAttribute('text-align','center'); eDivPanel.style.setAttribute('margin','0px 0px'); eDivUsersPanel.style.setAttribute('width','800px'); eDivUsersPanel.style.setAttribute('margin','0px auto'); eDivUsersPanel.style.setAttribute('text-align','left'); - } - else { + } else { eDivPanel.style.setProperty('text-align','center',null); eDivPanel.style.setProperty('margin','0px 0px',null); eDivUsersPanel.style.setProperty('width','800px',null); eDivUsersPanel.style.setProperty('margin','0px auto',null); eDivUsersPanel.style.setProperty('text-align','left',null); } + eDivPanel.appendChild(eDivUsersPanel); + return eDivPanel; } @@ -963,7 +989,7 @@ function validateUserName() { 'USR_UID' : USR_UID, 'NEW_USERNAME' : usernameText }, - success: function(r,o){ + success: function (r, o) { var resp = Ext.util.JSON.decode(r.responseText); if (resp.exists) { @@ -1024,250 +1050,233 @@ function saveUser() var newPass = frmDetails.getForm().findField('USR_NEW_PASS').getValue(); var confPass = frmDetails.getForm().findField('USR_CNF_PASS').getValue(); - if (confPass === newPass) { - Ext.getCmp('frmDetails').getForm().submit( { + if (confPass === newPass) { + Ext.getCmp('frmDetails').getForm().submit({ url : 'usersAjax', params : { action : 'saveUser', USR_UID : USR_UID, USR_CITY : global.IS_UID }, - waitMsg : _('ID_SAVING_PROCESS'), + waitMsg : _('ID_SAVING'), timeout : 36000, - success : function(obj, resp) { + success : function (obj, resp) { if (!infoMode) { location.href = 'users_List'; - } - else { + } else { location.href = '../users/myInfo?type=reload'; } }, - failure : function(obj, resp) { + failure : function (obj, resp) { if (typeof resp.result == "undefined") { - Ext.Msg.alert( _('ID_ERROR'),_('ID_SOME_FIELDS_REQUIRED')); - } - else{ + Ext.Msg.alert(_('ID_ERROR'), _('ID_SOME_FIELDS_REQUIRED')); + } else{ if (resp.result.msg){ var message = resp.result.msg.split(','); - Ext.Msg.alert( _('ID_WARNING'), ''+message[0]+'

'+message[1]+'

'+message[2]); + Ext.Msg.alert(_('ID_WARNING'), ''+message[0]+'

'+message[1]+'

'+message[2]); } + if (resp.result.fileError) { - Ext.Msg.alert( _('ID_ERROR'),_('ID_FILE_TOO_BIG')); + Ext.Msg.alert(_('ID_ERROR'), _('ID_FILE_TOO_BIG')); } + if (resp.result.error) { - Ext.Msg.alert( _('ID_ERROR'), resp.result.error); + Ext.Msg.alert(_('ID_ERROR'), resp.result.error); } } - } }); } - else - Ext.Msg.alert( _('ID_ERROR'), _('ID_PASSWORDS_DONT_MATCH')); + else { + Ext.Msg.alert(_('ID_ERROR'), _('ID_PASSWORDS_DONT_MATCH')); + } } +//Load data +function loadData() +{ + comboCountry.store.load(); -// Load data for Edit mode + + //comboRegion + + + //comboLocation + + + comboReplacedBy.store.load(); + + + comboCalendar.store.on("load", function (store) { + comboCalendar.setValue(store.getAt(0).get("CALENDAR_UID")); + }); + comboCalendar.store.load(); + + + comboRole.store.on("load", function (store) { + comboRole.setValue(store.getAt(0).get("ROL_UID")); + }); + comboRole.store.load(); + + + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(store.getAt(0).get("id")); + }); + storeDefaultMainMenuOption.load(); + + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(store.getAt(0).get("id")); + }); + storeDefaultCasesMenuOption.load(); +} + +//Load data for Edit mode function loadUserData() { - Ext.Ajax.request({ - url : 'usersAjax', - params : { - 'action' : 'userData', - USR_UID : USR_UID - }, - waitMsg : _('ID_UPLOADING_PROCESS_FILE'), - success : function(r,o){ - var data = Ext.util.JSON.decode(r.responseText); + Ext.Ajax.request({ + url: "usersAjax", + method: "POST", + params: { + "action": "userData", + USR_UID: USR_UID + }, + waitMsg: _("ID_UPLOADING_PROCESS_FILE"), + success: function (r, o) { + var data = Ext.util.JSON.decode(r.responseText); - Ext.getCmp('frmDetails').getForm().setValues({ - USR_FIRSTNAME : data.user.USR_FIRSTNAME, - USR_LASTNAME : data.user.USR_LASTNAME, - USR_USERNAME : data.user.USR_USERNAME, - USR_EMAIL : data.user.USR_EMAIL, - USR_ADDRESS : data.user.USR_ADDRESS, - USR_ZIP_CODE : data.user.USR_ZIP_CODE, - USR_PHONE : data.user.USR_PHONE, - USR_POSITION : data.user.USR_POSITION, - USR_DUE_DATE : data.user.USR_DUE_DATE, - USR_STATUS : data.user.USR_STATUS - }) + Ext.getCmp("frmDetails").getForm().setValues({ + USR_FIRSTNAME : data.user.USR_FIRSTNAME, + USR_LASTNAME : data.user.USR_LASTNAME, + USR_USERNAME : data.user.USR_USERNAME, + USR_EMAIL : data.user.USR_EMAIL, + USR_ADDRESS : data.user.USR_ADDRESS, + USR_ZIP_CODE : data.user.USR_ZIP_CODE, + USR_PHONE : data.user.USR_PHONE, + USR_POSITION : data.user.USR_POSITION, + USR_DUE_DATE : data.user.USR_DUE_DATE, + USR_STATUS : data.user.USR_STATUS + }) + if (infoMode) { + Ext.getCmp("USR_FIRSTNAME2").setText(data.user.USR_FIRSTNAME); + Ext.getCmp("USR_LASTNAME2").setText(data.user.USR_LASTNAME); + Ext.getCmp("USR_USERNAME2").setText(data.user.USR_USERNAME); + Ext.getCmp("USR_EMAIL2").setText(data.user.USR_EMAIL); + Ext.getCmp("USR_ADDRESS2").setText(data.user.USR_ADDRESS); + Ext.getCmp("USR_ZIP_CODE2").setText(data.user.USR_ZIP_CODE); - storeCountry.load({ - params : { - action : 'countryList' + Ext.getCmp("USR_COUNTRY2").setText(data.user.USR_COUNTRY_NAME); + Ext.getCmp("USR_CITY2").setText(data.user.USR_CITY_NAME); + Ext.getCmp("USR_LOCATION2").setText(data.user.USR_LOCATION_NAME); + + Ext.getCmp("USR_PHONE2").setText(data.user.USR_PHONE); + Ext.getCmp("USR_POSITION2").setText(data.user.USR_POSITION); + Ext.getCmp("USR_REPLACED_BY2").setText(data.user.REPLACED_NAME); + Ext.getCmp("USR_DUE_DATE2").setText(data.user.USR_DUE_DATE); + Ext.getCmp("USR_STATUS2").setText(data.user.USR_STATUS); + Ext.getCmp("USR_ROLE2").setText(data.user.USR_ROLE); + + Ext.getCmp("PREF_DEFAULT_MAIN_MENU_OPTION2").setText(data.user.MENUSELECTED_NAME); + Ext.getCmp("PREF_DEFAULT_CASES_MENUSELECTED2").setText(data.user.CASES_MENUSELECTED_NAME); + } else { + // + } + + storeCountry.load(); + + storeRegion.load({ + params: { + IC_UID : data.user.USR_COUNTRY + } + }); + + storeLocation.load({ + params: { + IC_UID : data.user.USR_COUNTRY, + IS_UID : data.user.USR_CITY + } + }); + + storeReplacedBy.load(); + + storeCalendar.load(); + + storeRole.load(); + + storeDefaultMainMenuOption.load(); + + storeDefaultCasesMenuOption.load(); + + comboCountry.store.on("load", function(store) { + comboCountry.setValue(data.user.USR_COUNTRY); + }); + + global.IC_UID = data.user.USR_COUNTRY; + + comboRegion.store.on("load", function (store) { + comboRegion.setValue(data.user.USR_CITY); + }); + + global.IS_UID = data.user.USR_CITY; + + comboLocation.store.on("load", function (store) { + comboLocation.setValue(data.user.USR_LOCATION); + }); + + comboReplacedBy.store.on("load", function (store) { + comboReplacedBy.setValue(data.user.USR_REPLACED_BY); + }); + + comboCalendar.store.on("load", function (store) { + comboCalendar.setValue(data.user.USR_CALENDAR); + }); + + comboRole.store.on("load", function (store) { + comboRole.setValue(data.user.USR_ROLE); + }); + + if (infoMode) { + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(data.user.PREF_DEFAULT_MENUSELECTED); + }); + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(data.user.PREF_DEFAULT_CASES_MENUSELECTED); + }); + } else { + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(store.getAt(0).get("id")); + }); + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(store.getAt(0).get("id")); + }); + } + + previousUsername = Ext.getCmp("USR_USERNAME").getValue(); + }, + failure: function (r, o) { + //viewport.getEl().unmask(); } - }); - - storeRegion.load({ - params : { - action : 'stateList', - IC_UID : data.user.USR_COUNTRY - } - }); - - storelocation.load({ - params : { - action : 'locationList', - IC_UID : data.user.USR_COUNTRY, - IS_UID : data.user.USR_CITY - } - }); - comboCountry.store.on('load',function(store) { - comboCountry.setValue(data.user.USR_COUNTRY); - }); - global.IC_UID = data.user.USR_COUNTRY; - - comboRegion.store.on('load',function(store) { - comboRegion.setValue(data.user.USR_CITY); - }); - - global.IS_UID = data.user.USR_CITY; - comboLocation.store.on('load',function(store) { - comboLocation.setValue(data.user.USR_LOCATION); - }); - - comboReplacedBy.store.on('load',function(store) { - comboReplacedBy.setValue(data.user.USR_REPLACED_BY); - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(data.user.USR_ROLE); - }); - comboCalendar.store.on('load',function(store) { - comboCalendar.setValue(data.user.USR_CALENDAR); - }); - - previousUsername = Ext.getCmp('USR_USERNAME').getValue(); - - }, - - failure : function(r, o) { - //viewport.getEl().unmask(); - } - }); + }); } -// Load data for Edit mode -function loadUserView() + +function userExecuteEvent(element, event) { - Ext.Ajax.request({ - url : 'usersAjax', - params : { - 'action' : 'userData', - USR_UID : USR_UID - }, - waitMsg : _('ID_UPLOADING_PROCESS_FILE'), - success : function(r,o){ - var data = Ext.util.JSON.decode(r.responseText); + if (document.createEventObject) { + //IE + var evt = document.createEventObject(); - Ext.getCmp('frmDetails').getForm().setValues({ - USR_FIRSTNAME : data.user.USR_FIRSTNAME, - USR_LASTNAME : data.user.USR_LASTNAME, - USR_USERNAME : data.user.USR_USERNAME, - USR_EMAIL : data.user.USR_EMAIL, - USR_ADDRESS : data.user.USR_ADDRESS, - USR_ZIP_CODE : data.user.USR_ZIP_CODE, - USR_PHONE : data.user.USR_PHONE, - USR_POSITION : data.user.USR_POSITION, - USR_DUE_DATE : data.user.USR_DUE_DATE, - USR_STATUS : data.user.USR_STATUS - }); - Ext.getCmp('USR_FIRSTNAME2').setText(data.user.USR_FIRSTNAME); - Ext.getCmp('USR_LASTNAME2').setText(data.user.USR_LASTNAME); - Ext.getCmp('USR_USERNAME2').setText(data.user.USR_USERNAME); - Ext.getCmp('USR_EMAIL2').setText(data.user.USR_EMAIL); - Ext.getCmp('USR_ADDRESS2').setText(data.user.USR_ADDRESS); - Ext.getCmp('USR_ZIP_CODE2').setText(data.user.USR_ZIP_CODE); + return element.fireEvent("on" + event, evt) + } else { + //Firefox + Others + var evt = document.createEvent("HTMLEvents"); + evt.initEvent(event, true, true); //event type,bubbling,cancelable - Ext.getCmp('USR_COUNTRY2').setText(data.user.USR_COUNTRY_NAME); - Ext.getCmp('USR_CITY2').setText(data.user.USR_CITY_NAME); - Ext.getCmp('USR_LOCATION2').setText(data.user.USR_LOCATION_NAME); - - Ext.getCmp('USR_PHONE2').setText(data.user.USR_PHONE); - Ext.getCmp('USR_POSITION2').setText(data.user.USR_POSITION); - Ext.getCmp('USR_REPLACED_BY2').setText(data.user.REPLACED_NAME); - Ext.getCmp('USR_DUE_DATE2').setText(data.user.USR_DUE_DATE); - Ext.getCmp('USR_STATUS2').setText(data.user.USR_STATUS); - Ext.getCmp('USR_ROLE2').setText(data.user.USR_ROLE); - - - Ext.getCmp('PREF_DEFAULT_MAIN_MENU_OPTION2').setText(data.user.MENUSELECTED_NAME); - Ext.getCmp('PREF_DEFAULT_CASES_MENUSELECTED2').setText(data.user.CASES_MENUSELECTED_NAME); - - storeCountry.load({ - params : { - action : 'countryList' - } - }); - - storeRegion.load({ - params : { - action : 'stateList', - IC_UID : data.user.USR_COUNTRY - } - }); - - storelocation.load({ - params : { - action : 'locationList', - IC_UID : data.user.USR_COUNTRY, - IS_UID : data.user.USR_CITY - } - }); - comboCountry.store.on('load',function(store) { - comboCountry.setValue(data.user.USR_COUNTRY); - }); - global.IC_UID = data.user.USR_COUNTRY; - - comboRegion.store.on('load',function(store) { - comboRegion.setValue(data.user.USR_CITY); - }); - - global.IS_UID = data.user.USR_CITY; - comboLocation.store.on('load',function(store) { - comboLocation.setValue(data.user.USR_LOCATION); - }); - - comboReplacedBy.store.on('load',function(store) { - comboReplacedBy.setValue(data.user.USR_REPLACED_BY); - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(data.user.USR_ROLE); - }); - comboCalendar.store.on('load',function(store) { - comboCalendar.setValue(data.user.USR_CALENDAR); - }); - - //for preferences on the configurations table - comboDefaultMainMenuOption.store.on('load',function(store) { - comboDefaultMainMenuOption.setValue(data.user.PREF_DEFAULT_MENUSELECTED); - }); - comboDefaultCasesMenuOption.store.on('load',function(store) { - //comboDefaultCasesMenuOption.setValue(''); - comboDefaultCasesMenuOption.setValue(data.user.PREF_DEFAULT_CASES_MENUSELECTED); - }); - - previousUsername = Ext.getCmp('USR_USERNAME').getValue(); - }, - failure:function(r,o) { - //viewport.getEl().unmask(); + return !element.dispatchEvent(evt); } - }); - } - -function userExecuteEvent (element,event) { - if ( document.createEventObject ) { - // IE - var evt = document.createEventObject(); - return element.fireEvent('on'+event,evt) - } else { - // firefox + others - var evt = document.createEvent("HTMLEvents"); - evt.initEvent(event, true, true ); // event type,bubbling,cancelable - return !element.dispatchEvent(evt); - } -} \ No newline at end of file diff --git a/workflow/engine/xmlform/tasks/tasks_Notifications.xml b/workflow/engine/xmlform/tasks/tasks_Notifications.xml index e195ae6b7..311d9a2e9 100755 --- a/workflow/engine/xmlform/tasks/tasks_Notifications.xml +++ b/workflow/engine/xmlform/tasks/tasks_Notifications.xml @@ -28,7 +28,7 @@ SELECT FILE,NAME FROM _TEMPLATES1 - Template + Template