1 dojo.require('dijit.Dialog');
2 dojo.require('dojo.cookie');
3 dojo.require('fieldmapper.AutoIDL'); // make conditional. TT variable sets JS var to enable/disable?
4 dojo.require('fieldmapper.dojoData');
5 dojo.require('openils.User');
6 dojo.require('openils.CGI');
7 dojo.require('openils.Event');
8 dojo.require('openils.Util');
9 dojo.require('openils.XUL');
11 function oilsSetupUser() {
12 var cgi = new openils.CGI();
13 var authtoken = cgi.param('ses') || dojo.cookie('ses');
14 var workstation = cgi.param('ws') || dojo.cookie('ws');
16 if(authtoken) user = new openils.User({authtoken:authtoken});
17 if(!authtoken || openils.Event.parse(user.user)) {
18 dojo.cookie('ses', openils.User.authtoken, {expires:-1, path:'/'}); // remove the cookie
19 openils.User.authtoken = null;
20 dojo.addOnLoad(function(){
21 if(openils.XUL.isXUL()) {
22 // let XUL handle the login dialog
23 openils.XUL.getNewSession( function() { location.href = location.href } );
25 // in web-only mode, use the dojo login dialog
26 oilsLoginDialog.show();
27 var func = function(){ oilsDoLogin(); };
28 openils.Util.registerEnterHandler(dojo.byId('oils-login-username'), func);
29 openils.Util.registerEnterHandler(dojo.byId('oils-login-password'), func);
30 dojo.byId('oils-login-workstation').innerHTML = workstation || '';
35 dojo.cookie('ses', authtoken, {path:'/'});
36 openils.User.authtoken = authtoken;
37 openils.User.workstation = workstation;
40 function oilsDoLogin() {
41 openils.Util.hide('oils-login-failed');
42 var cgi = new openils.CGI();
43 var workstation = cgi.param('ws') || dojo.cookie('ws');
44 var user = new openils.User();
46 username: dojo.byId('oils-login-username').value,
47 passwd: dojo.byId('oils-login-password').value,
48 type: 'staff', // hardcode for now
51 args.workstation = workstation;
53 if(user.login(args)) {
54 dojo.cookie('ses', user.authtoken, {path : oilsBasePath});
55 location.href = location.href;
57 openils.Util.show('oils-login-failed');