From 75a5cfce7beaab4725bba8811716eae73ceb652d Mon Sep 17 00:00:00 2001
From: pkupczyk <pkupczyk>
Date: Tue, 7 Aug 2012 13:40:26 +0000
Subject: [PATCH] SP-202 / BIS-122 : Webuis available from openBIS UI: - add
 function for setting sessionId to be used by openbis object - properly decode
 '+' in web application context parameters

SVN: 26309
---
 .../systemsx/cisd/openbis/public/resources/js/openbis.js  | 8 ++++++--
 openbis/source/javascript/openbis.js                      | 8 ++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
index 9e14d8d90e9..477928456e8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
@@ -104,6 +104,10 @@ openbis.prototype.restoreSession = function() {
 	this.sessionToken = readCookie('openbis');
 }
 
+openbis.prototype.useSession = function(sessionToken){
+	this.sessionToken = sessionToken;
+}
+
 openbis.prototype.isSessionActive = function(action) {
 	ajaxRequest({
 		url: this.generalInfoServiceUrl,
@@ -371,8 +375,8 @@ openbisWebAppContext.prototype.getEntityPermId = function(){
 
 openbisWebAppContext.prototype.getParameter = function(parameterName){
 	var match = location.search.match(RegExp("[?|&]"+parameterName+'=(.+?)(&|$)'));
-	if(match){
-		return decodeURIComponent(match[1]);
+	if(match && match[1]){
+		return decodeURIComponent(match[1].replace(/\+/g,' '));
 	}else{
 		return null;
 	}
diff --git a/openbis/source/javascript/openbis.js b/openbis/source/javascript/openbis.js
index f5a686c3ced..50d3a7c8008 100644
--- a/openbis/source/javascript/openbis.js
+++ b/openbis/source/javascript/openbis.js
@@ -106,6 +106,10 @@ openbis.prototype.restoreSession = function() {
 	this.sessionToken = readCookie('openbis');
 }
 
+openbis.prototype.useSession = function(sessionToken){
+	this.sessionToken = sessionToken;
+}
+
 openbis.prototype.isSessionActive = function(action) {
 	ajaxRequest({
 		url: this.generalInfoServiceUrl,
@@ -426,8 +430,8 @@ openbisWebAppContext.prototype.getEntityPermId = function(){
 
 openbisWebAppContext.prototype.getParameter = function(parameterName){
 	var match = location.search.match(RegExp("[?|&]"+parameterName+'=(.+?)(&|$)'));
-	if(match){
-		return decodeURIComponent(match[1]);
+	if(match && match[1]){
+		return decodeURIComponent(match[1].replace(/\+/g,' '));
 	}else{
 		return null;
 	}
-- 
GitLab