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