]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/js/ui/base.js
for sync login, return true/false to indicate login success. show login failures...
[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     openils.Util.hide('oils-login-failed');
35     var cgi = new openils.CGI();
36     var workstation = cgi.param('ws') || dojo.cookie('ws');
37     var user = new openils.User();
38     var args = {
39         username: dojo.byId('oils-login-username').value,
40         passwd: dojo.byId('oils-login-password').value,
41         type: 'staff', // hardcode for now
42     };
43     if(workstation) 
44         args.workstation = workstation;
45
46     if(user.login(args)) {
47         dojo.cookie('ses', user.authtoken, {path : '/'});
48         location.href = location.href;
49     } else {
50         openils.Util.show('oils-login-failed');
51     }
52
53     return false;
54 }
55
56 oilsSetupUser();
57