support user-requested filtering of extensions. resolves #1844
[xtuple] / node-datasource / routes / auth.js
index a19715b..fea2dc7 100644 (file)
@@ -9,7 +9,6 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
     @name Auth
     @class Auth
     */
-
   var passport = require('passport'),
       url = require('url');
 
@@ -20,9 +19,15 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
     //passport.authenticate('local', { successReturnToOrRedirect: '/login/scope', failureRedirect: '/', failureFlash: 'Invalid username or password.' }),
     passport.authenticate('local', { failureRedirect: '/?login=fail' }),
     function (req, res, next) {
-
+      var pathName = "/app";
       if (req && req.session && !req.session.oauth2 && req.session.passport && req.session.passport.user && req.session.passport.user.organization) {
-        res.redirect("/" + req.session.passport.user.organization + '/app');
+        if (req.body.extensions) {
+          pathName = pathName + "?extensions=" + req.body.extensions;
+        }
+        if (req.body.hash && req.body.hash.charAt(0) === "#") {
+          pathName = pathName + req.body.hash;
+        }
+        res.redirect("/" + req.session.passport.user.organization + pathName);
         //next();
       } else {
         exports.scopeForm(req, res, next);
@@ -136,7 +141,7 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
         res.redirect(req.session.returnTo);
       } else {
         // Redirect to start loading the client app.
-        res.redirect('/client');
+        res.redirect('/' + selectedOrg + '/app');
       }
     };