From 21e3f4a7c0abd656f83cfc8cac0844aba28e4e10 Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 8 May 2008 17:12:40 +0000 Subject: [PATCH] created a fully synchronous version of the login method git-svn-id: svn://svn.open-ils.org/ILS/trunk@9535 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/dojo/openils/User.js | 35 +++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/Open-ILS/web/js/dojo/openils/User.js b/Open-ILS/web/js/dojo/openils/User.js index 2bc60dd94c..9b5e2a90a9 100644 --- a/Open-ILS/web/js/dojo/openils/User.js +++ b/Open-ILS/web/js/dojo/openils/User.js @@ -86,7 +86,7 @@ if(!dojo._hasResource["openils.User"]) { /** * Logs in, sets the authtoken/authtime vars, and fetches the logged in user */ - login : function(args, onComplete) { + login_async : function(args, onComplete) { var _u = this; if (!args) args = {}; @@ -101,6 +101,7 @@ if(!dojo._hasResource["openils.User"]) { var seed = r.recv().content(); alert(seed); var loginInfo = { + username : args.username, password : hex_md5(seed + hex_md5(args.passwd)), type : args.type, org : args.location, @@ -120,6 +121,38 @@ if(!dojo._hasResource["openils.User"]) { initReq.send(); }, + + login : function(args) { + var _u = this; + if (!args) args = {}; + if (!args.username) args.username = _u.username; + if (!args.passwd) args.passwd = _u.passwd; + if (!args.type) args.type = _u.login_type; + if (!args.location) args.location = _u.location; + + var seed = fieldmapper.standardRequest( + ['open-ils.auth', 'open-ils.auth.authenticate.init'], + [args.username] + ); + + var loginInfo = { + username : args.username, + password : hex_md5(seed + hex_md5(args.passwd)), + type : args.type, + org : args.location, + }; + + var data = fieldmapper.standardRequest( + ['open-ils.auth', 'open-ils.auth.authenticate.complete'], + [loginInfo] + ); + + _u.authtoken = data.payload.authtoken; + if (!openils.User.authtoken) openils.User.authtoken = _u.authtoken; + _u.authtime = data.payload.authtime; + if (!openils.User.authtime) openils.User.authtime = _u.authtime; + }, + /** * Returns a list of the "highest" org units where the user -- 2.43.2