From 7376e24651d4f73dc5d9dc949caed704d1d0ece9 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 8 Oct 2015 20:54:52 +0200
Subject: [PATCH] OO-722: update the browser's url after logged in with rest
 url

---
 .../controllers/resume/ResumeController.java      | 15 ++++++++++++++-
 .../fullWebApp/BaseFullWebappController.java      |  3 ++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java b/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
index 1020ab6b388..872bcdb4aae 100644
--- a/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
+++ b/src/main/java/org/olat/core/commons/controllers/resume/ResumeController.java
@@ -103,7 +103,8 @@ public class ResumeController extends FormBasicController implements SupportsAft
 
 		boolean interception = false;
 		if(isREST(ureq)) {
-			//do nothing
+			String url = getRESTRedirectURL(ureq);
+			redirect(ureq, url);
 		} else if(!historyModule.isResumeEnabled()) {
 			String url = toUrl(getLandingBC(ureq));
 			redirect(ureq, url);
@@ -170,6 +171,18 @@ public class ResumeController extends FormBasicController implements SupportsAft
 		if(usess.getEntry("AuthDispatcher:entryUrl") != null) return true;
 		return false;
 	}
+	
+	private String getRESTRedirectURL(UserRequest ureq) {
+		UserSession usess = ureq.getUserSession();
+		
+		String url = (String)usess.getEntry("AuthDispatcher:businessPath");
+		if(url == null) {
+			url = (String)usess.getEntry("AuthDispatcher:entryUrl");
+		}
+		
+		List<ContextEntry> ces = BusinessControlFactory.getInstance().createCEListFromString(url);
+		return BusinessControlFactory.getInstance().getAsRestPart(ces, true);
+	}
 
 	@Override
 	protected void doDispose() {
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
index ebd18bc3f69..8fbfd8b0aca 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
+++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
@@ -250,7 +250,8 @@ public class BaseFullWebappController extends BasicController implements DTabs,
     	}
 		
     	if(assessmentGuardCtrl == null && (aftLHookCtr == null || aftLHookCtr.isDisposed())
-    			&& usess.getEntry("AuthDispatcher:entryUrl") == null) {
+    			&& usess.getEntry("AuthDispatcher:entryUrl") == null
+    			&& usess.getEntry("AuthDispatcher:businessPath") == null) {
     		String bc = initializeDefaultSite(ureq);
     		if(StringHelper.containsNonWhitespace(bc) && usess.getEntry("redirect-bc") == null) {
     			usess.putEntry("redirect-bc", bc);
-- 
GitLab