]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/js/ui/base.js
specific cookie path not playing nicely when communicating with staff client cookies...
[Evergreen.git] / Open-ILS / web / js / ui / base.js
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
10 function oilsSetupUser() {
11     var cgi = new openils.CGI();
12     var authtoken = cgi.param('ses') || dojo.cookie('ses');
13     var workstation = cgi.param('ws') || dojo.cookie('ws');
14     var user;
15     if(authtoken) user = new openils.User({authtoken:authtoken});
16     if(!authtoken || openils.Event.parse(user.user)) {
17         dojo.cookie('ses', openils.User.authtoken, {expires:-1, path:'/'}); // remove the cookie
18         openils.User.authtoken = null;
19         dojo.addOnLoad(function(){
20             oilsLoginDialog.show(); 
21             var func = function(){ oilsDoLogin(); };
22             openils.Util.registerEnterHandler(dojo.byId('oils-login-username'), func);
23             openils.Util.registerEnterHandler(dojo.byId('oils-login-password'), func);
24             dojo.byId('oils-login-workstation').innerHTML = workstation || '';
25         });
26         return;
27     }
28     dojo.cookie('ses', authtoken, {path:'/'});
29     openils.User.authtoken = authtoken;
30     openils.User.workstation = workstation;
31 }
32
33 function oilsDoLogin() {
34     var cgi = new openils.CGI();
35     var workstation = cgi.param('ws') || dojo.cookie('ws');
36     var user = new openils.User();
37     var args = {
38         username: dojo.byId('oils-login-username').value,
39         passwd: dojo.byId('oils-login-password').value,
40         type: 'staff', // hardcode for now
41     };
42     if(workstation) 
43         args.workstation = workstation;
44     user.login(args);
45     dojo.cookie('ses', user.authtoken, {path : '/'});
46     location.href = location.href;
47     return false;
48 }
49
50 oilsSetupUser();
51