Mano roles in projects
[osm/UI.git] / skyquake / framework / core / modules / api / sessions.js
index 9736f88..ca8669b 100644 (file)
@@ -46,7 +46,7 @@ function logAndRedirectToLogin(mesg, res, req) {
     var api_server = req.query['api_server'] || (req.protocol + '://' + configurationAPI.globalConfiguration.get().api_server);
     var upload_server = req.protocol + '://' + (configurationAPI.globalConfiguration.get().upload_server || req.hostname);
     console.log(mesg);
-    res.redirect('login.html?api_server=' + api_server + '&upload_server=' + upload_server + '&referer=' + req.headers.referer);
+    res.redirect('login.html?api_server=' + api_server + '&upload_server=' + upload_server + '&referer=' + encodeURIComponent(req.headers.referer));
     res.end();
 }
 
@@ -104,7 +104,7 @@ sessionsAPI.create = function(req, res) {
                     project['project-config']['user'].map(function(user) {
                         if (user['user-name'] == username) {
                             project_list_for_user.push(project);
-                            user.role.map(function(role) {
+                            user['rw-project-mano:mano-role'] && user['rw-project-mano:mano-role'].map(function(role) {
                                 if(role.role.indexOf('rw-project-mano:lcm') > -1) {
                                     isLCM = true;
                                 }
@@ -124,6 +124,7 @@ sessionsAPI.create = function(req, res) {
                 username: username,
                 // project: req.session.projectId
             };
+            req.session.redirect = true;
             var successMsg = 'User => ' + username + ' successfully logged in.';
             successMsg += req.session.projectId ? 'Project => ' + req.session.projectId + ' set as default.' : '';