Initial dev repository
[kcls-web.git] / js / ui / base.js.test
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');
10
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');
15     var user;
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 } );
24             } else {
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 || '';
31             }
32         });
33         return;
34     }
35     dojo.cookie('ses', authtoken, {path:'/'});
36     openils.User.authtoken = authtoken;
37     openils.User.workstation = workstation;
38 }
39
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();
45     var args = {
46         username: dojo.byId('oils-login-username').value,
47         passwd: dojo.byId('oils-login-password').value,
48         type: 'staff', // hardcode for now
49     };
50     if(workstation) 
51         args.workstation = workstation;
52
53     if(user.login(args)) {
54         dojo.cookie('ses', user.authtoken, {path : oilsBasePath});
55         location.href = location.href;
56     } else {
57         openils.Util.show('oils-login-failed');
58     }
59
60     return false;
61 }
62
63 oilsSetupUser();
64