details:   /erp/devel/pi/rev/d4d323769d43
changeset: 11449:d4d323769d43
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Mon Apr 04 12:42:30 2011 +0200
summary:   Fixes issue 16267: Solved issue when serving the application from 
root (/)
- Initial patch provided Ben Sommerville (eintelau)
- Use the applicationUrl() function when the URL is not known
- Fixes the mapping of known URLs removing the initial slash (/)

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
    |   2 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
     |   6 ++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-classic-popup.js
     |   5 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-formitem-widgets.js
  |   2 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-help-about-widget.js
 |   2 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
           |   6 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-utilities.js
         |  16 ++++++++++
 7 files changed, 28 insertions(+), 11 deletions(-)

diffs (135 lines):

diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
     Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
     Mon Apr 04 12:42:30 2011 +0200
@@ -36,7 +36,7 @@
 
 // needed for backward compatibility... to open the registration form
 function openRegistration() {
-  OB.Utilities.openProcessPopup(OB.Application.contextUrl + 
'/ad_forms/Registration.html', true);
+  OB.Utilities.openProcessPopup(OB.Application.contextUrl + 
'ad_forms/Registration.html', true);
 }
 
 isc.Canvas.addClassProperties({neverUsePNGWorkaround:true});
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
      Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
      Mon Apr 04 12:42:30 2011 +0200
@@ -64,7 +64,7 @@
     if (this.modal){
       allProperties.Command = this.command;
       callbackFunction = function(){
-        OB.Layout.ClassicOBCompatibility.Popup.open('process', 900, 600, 
OB.Application.contextUrl + me.obManualURL, '', null, false, false, true, 
allProperties);
+        OB.Layout.ClassicOBCompatibility.Popup.open('process', 900, 600, 
OB.Utilities.applicationUrl(me.obManualURL), '', null, false, false, true, 
allProperties);
       };
     } else {
       var popupParams = {
@@ -98,7 +98,9 @@
     OB.ActionButton.executingProcess = null;
     
     if (newWindow) {
-      var contextURL = location.href.substr(0, 
location.href.indexOf(OB.Application.contextUrl) + 
OB.Application.contextUrl.length);
+      var contextURL = location.protocol + '//' +
+                       location.host +
+                       location.pathname.substr(0, 
location.pathname.indexOf(OB.Application.contextUrl) + 
OB.Application.contextUrl.length);
       
       if (newWindow.indexOf(contextURL) !== -1){
         newWindow = newWindow.substr(contextURL.length);
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-classic-popup.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-classic-popup.js
      Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-classic-popup.js
      Mon Apr 04 12:42:30 2011 +0200
@@ -42,8 +42,7 @@
         urlCharacter = '&';
     }
     if(this.obManualURL !== '') {
-      contentsURL = OB.Application.contextUrl + this.obManualURL + '?Command=' 
+ this.command;
-//      contentsURL = this.appURL + urlCharacter + 'url=' + this.obManualURL + 
'&noprefs=true&Command=' + this.command + '&hideMenu=true';
+      contentsURL = OB.Utilities.applicationUrl(this.obManualURL) + 
'?Command=' + this.command;
     } else {
       contentsURL = this.appURL + urlCharacter + 'Command=' + this.command + 
'&noprefs=true&tabId=' + this.tabId + '&hideMenu=true';
     }
@@ -59,7 +58,7 @@
 isc.defineClass('OBClassicPopupModal', isc.Class).addProperties({
   showsItself: true,
   show: function() {
-    OB.Layout.ClassicOBCompatibility.Popup.open(this.id, 625, 450,  
OB.Application.contextUrl + this.obManualURL+'?Command='+this.command, '', 
null, false, false, true);
+    OB.Layout.ClassicOBCompatibility.Popup.open(this.id, 625, 450,  
OB.Utilities.applicationUrl(this.obManualURL) + '?Command='+this.command, '', 
null, false, false, true);
   }
   
 });
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-formitem-widgets.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-formitem-widgets.js
   Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-formitem-widgets.js
   Mon Apr 04 12:42:30 2011 +0200
@@ -246,7 +246,7 @@
       complementsNS4 = 'alwaysRaised=1, dependent=1, directories=0, hotkeys=0, 
menubar=0, ';
     }
     var complements = complementsNS4 + 'height=' + height + ', width=' + width 
+ ', left=' + left + ', top=' + top + ', screenX=' + left + ', screenY=' + top 
+ ', location=0, resizable=1, scrollbars=1, status=0, toolbar=0, titlebar=0, 
modal=\'yes\'';
-    isc.OBSearchItem.openedWindow = window.open(OB.Application.contextUrl + 
url + ((auxField === '') ? '' : '?' + auxField), 'SELECTOR', complements);
+    isc.OBSearchItem.openedWindow = 
window.open(OB.Utilities.applicationUrl(url) + ((auxField === '') ? '' : '?' + 
auxField), 'SELECTOR', complements);
     if (isc.OBSearchItem.openedWindow) {
       isc.OBSearchItem.openedWindow.focus();
       this.setUnloadEventHandling();
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-help-about-widget.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-help-about-widget.js
  Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-help-about-widget.js
  Mon Apr 04 12:42:30 2011 +0200
@@ -53,7 +53,7 @@
       handleClick: function(){
         isc.OBQuickRun.hide();
         
-        OB.Layout.ClassicOBCompatibility.Popup.open('About', 620, 500, 
OB.Application.contextUrl + '/ad_forms/about.html', '', window);
+        OB.Layout.ClassicOBCompatibility.Popup.open('About', 620, 500, 
OB.Application.contextUrl + 'ad_forms/about.html', '', window);
       }
     };
     
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
    Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
    Mon Apr 04 12:42:30 2011 +0200
@@ -1139,7 +1139,7 @@
   popupParams += '&inphiddenvalue=' + selectedIds;
   
   view.setContextInfo(sessionProperties, function(){
-    OB.Layout.ClassicOBCompatibility.Popup.open('print', 0, 0, 
OB.Application.contextUrl + '/businessUtility/PrinterReports.html?' + 
popupParams, '', window, false, false, true);
+    OB.Layout.ClassicOBCompatibility.Popup.open('print', 0, 0, 
OB.Application.contextUrl + 'businessUtility/PrinterReports.html?' + 
popupParams, '', window, false, false, true);
   });
 };
 
@@ -1164,7 +1164,7 @@
     popupParams += '&inpRecordId=' + view.viewGrid.getSelectedRecord().id;
   }
   
-  OB.Layout.ClassicOBCompatibility.Popup.open('audit', 900, 600, 
OB.Application.contextUrl + '/businessUtility/AuditTrail.html?' + popupParams, 
'', window, false, false, true);
+  OB.Layout.ClassicOBCompatibility.Popup.open('audit', 900, 600, 
OB.Application.contextUrl + 'businessUtility/AuditTrail.html?' + popupParams, 
'', window, false, false, true);
 };
 
 OB.ToolbarUtils.showTree = function(view){
@@ -1174,7 +1174,7 @@
     popupParams += '&Command=DEFAULT';
     popupParams += '&inpTabId=' + tabId;
     popupParams += '&hideMenu=true&noprefs=true';
-    OB.Layout.ClassicOBCompatibility.Popup.open('tree', 750, 625, 
OB.Application.contextUrl + '/security/Menu.html?' + popupParams, '', window, 
false, false, true);
+    OB.Layout.ClassicOBCompatibility.Popup.open('tree', 750, 625, 
OB.Application.contextUrl + 'security/Menu.html?' + popupParams, '', window, 
false, false, true);
   }
   var tabId = view.tabId;
   
diff -r f7ef0a3e203b -r d4d323769d43 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-utilities.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-utilities.js
  Mon Apr 04 12:21:55 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-utilities.js
  Mon Apr 04 12:42:30 2011 +0200
@@ -773,3 +773,19 @@
   }
   return 
(/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i).test(url);
 };
+
+// ** {{{ applicationUrl(path) }}} **
+//
+// Get the full URL to the supplied path under the application context
+//
+// Parameters:
+//  * {{{path}}} path portion of URL
+//
+OB.Utilities.applicationUrl = function(path) {
+  var appUrl = OB.Application.contextUrl + path;
+  if(appUrl.indexOf('//') === 0 ) {
+    // Double slash at start of relative URL only keeps scheme, not server
+    appUrl = appUrl.substring(1);
+  }
+  return appUrl;
+};
\ No newline at end of file

------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to