RIFT-16227: Fix RPC's for project context in UI
[osm/UI.git] / skyquake / framework / core / modules / routes / navigation.js
index 9b8fbf7..afffb20 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * 
+ *
  *   Copyright 2016 RIFT.IO Inc
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
@@ -44,12 +44,20 @@ Router.get('/login.html', cors(), function(req, res) {
 
 Router.get('/', cors(), function(req, res) {
        var api_server = req.query['api_server'] || (req.protocol + '://' + configurationAPI.globalConfiguration.get().api_server);
-       if (req.session.loggedIn) {
-               console.log('Logged in. Redirect to launchpad')
-               res.redirect('/launchpad/?api_server=' + api_server + '&upload_server=' + req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname));
+       if (req.session && req.session.loggedIn) {
+               console.log('Logged in. Redirect to launchpad');
+               if(req.params.referer) {
+                       res.redirect(req.params.referer);
+               }  else {
+                       if(req.session.isLCM) {
+                               res.redirect('/launchpad/?api_server=' + api_server + '&upload_server=' + req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname));
+                       } else {
+                               res.redirect('/user_management/?api_server=' + api_server + '&upload_server=' + req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname) + '#/user-profile');
+                       }
+               }
        } else {
                console.log('Redirect to login.html');
-               res.redirect('login.html?api_server=' + api_server);
+               res.redirect('login.html?api_server=' + api_server + '&upload_server=' + req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname)  + '&referer=' + req.headers.referer);
        }
 });