--- /dev/null
+dojo.require('dijit.Dialog');\r
+dojo.require('dojo.cookie');\r
+dojo.require('fieldmapper.AutoIDL'); // make conditional. TT variable sets JS var to enable/disable?\r
+dojo.require('fieldmapper.dojoData');\r
+dojo.require('openils.User');\r
+dojo.require('openils.CGI');\r
+dojo.require('openils.Event');\r
+dojo.require('openils.Util');\r
+dojo.require('openils.XUL');\r
+\r
+function oilsSetupUser() {\r
+ var cgi = new openils.CGI();\r
+ var authtoken = cgi.param('ses') || dojo.cookie('ses');\r
+ var workstation = cgi.param('ws') || dojo.cookie('ws');\r
+ var user;\r
+ if(authtoken) user = new openils.User({authtoken:authtoken});\r
+ if(!authtoken || openils.Event.parse(user.user)) {\r
+ dojo.cookie('ses', openils.User.authtoken, {expires:-1, path:'/'}); // remove the cookie\r
+ openils.User.authtoken = null;\r
+ dojo.addOnLoad(function(){\r
+ if(openils.XUL.isXUL()) {\r
+ // let XUL handle the login dialog\r
+ openils.XUL.getNewSession( function() { location.href = location.href } );\r
+ } else {\r
+ // in web-only mode, use the dojo login dialog\r
+ oilsLoginDialog.show(); \r
+ var func = function(){ oilsDoLogin(); };\r
+ openils.Util.registerEnterHandler(dojo.byId('oils-login-username'), func);\r
+ openils.Util.registerEnterHandler(dojo.byId('oils-login-password'), func);\r
+ dojo.byId('oils-login-workstation').innerHTML = workstation || '';\r
+ }\r
+ });\r
+ return;\r
+ }\r
+ dojo.cookie('ses', authtoken, {path:'/'});\r
+ openils.User.authtoken = authtoken;\r
+ openils.User.workstation = workstation;\r
+ \r
+ dojo.addOnLoad(function(){\r
+ switchTo('step1');\r
+ });\r
+}\r
+\r
+function oilsDoLogin() {\r
+ openils.Util.hide('oils-login-failed');\r
+ var cgi = new openils.CGI();\r
+ var workstation = cgi.param('ws') || dojo.cookie('ws');\r
+ var user = new openils.User();\r
+ var args = {\r
+ username: dojo.byId('oils-login-username').value,\r
+ passwd: dojo.byId('oils-login-password').value,\r
+ type: 'staff', // hardcode for now\r
+ };\r
+ if(workstation) \r
+ args.workstation = workstation;\r
+\r
+ if(user.login(args)) {\r
+ dojo.cookie('ses', user.authtoken, {path : oilsBasePath});\r
+ location.href = location.href;\r
+ } else {\r
+ openils.Util.show('oils-login-failed');\r
+ }\r
+\r
+ return false;\r
+}\r
+\r
+oilsSetupUser();\r
+\r