1 dump('entering auth/session.js\n');
4 if (typeof auth == 'undefined') auth = {};
5 auth.session = function (view,login_type) {
7 JSAN.use('util.error'); this.error = new util.error();
8 JSAN.use('util.network'); this.network = new util.network();
10 this.login_type = login_type || 'staff';
15 auth.session.prototype = {
17 'init' : function () {
22 var init = this.network.request(
25 [ this.view.name_prompt.value ]
29 JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.stash_retrieve();
32 'username' : this.view.name_prompt.value,
36 this.view.password_prompt.value
42 if (data.ws_info[ this.view.server_prompt.value ]) {
43 params.type = this.login_type;
44 params.workstation = data.ws_info[ this.view.server_prompt.value ].name;
45 data.ws_name = params.workstation; data.stash('ws_name');
48 var robj = this.network.simple_request( 'AUTH_COMPLETE', [ params ]);
50 switch (Number(robj.ilsevent)) {
52 this.key = robj.payload.authtoken;
53 this.authtime = robj.payload.authtime;
55 case 1520 /* WORKSTATION_NOT_FOUND */:
56 alert(document.getElementById('authStrings').getFormattedString('staff.auth.session.unregistered', [params.workstation]));
57 delete(params.workstation);
58 delete(data.ws_info[ this.view.server_prompt.value ]);
59 data.stash('ws_info');
60 data.ws_name = null; data.stash('ws_name');
62 robj = this.network.simple_request('AUTH_COMPLETE',[ params ]);
63 if (robj.ilsevent == 0) {
64 this.key = robj.payload.authtoken;
65 this.authtime = robj.payload.authtime;
67 //this.error.standard_unexpected_error_alert('auth.session.init',robj);
72 //obj.error.standard_unexpected_error_alert('auth.session.init',robj);
77 this.error.sdump('D_AUTH','auth.session.key = ' + this.key + '\n');
79 if (typeof this.on_init == 'function') {
80 this.error.sdump('D_AUTH','auth.session.on_init()\n');
86 var error = document.getElementById('authStrings').getString('staff.auth.session.init_false') + '\n';
87 this.error.sdump('D_ERROR',error);
92 alert(document.getElementById('authStrings').getString('staff.auth.session.login_failed'));
93 //obj.error.standard_unexpected_error_alert('Error on auth.session.init()',E);
95 if (typeof this.on_init_error == 'function') {
96 this.error.sdump('D_AUTH','auth.session.on_init_error()\n');
97 this.on_init_error(E);
99 if (typeof this.on_error == 'function') {
100 this.error.sdump('D_AUTH','auth.session.on_error()\n');
105 /* This was for testing
106 if (typeof this.on_init == 'function') {
107 this.error.sdump('D_AUTH','auth.session.on_init() despite error\n');
114 'close' : function () {
116 obj.error.sdump('D_AUTH','auth.session.close()\n');
117 if (obj.key) obj.network.request(
119 api.AUTH_DELETE.method,
124 if (typeof obj.on_close == 'function') {
125 obj.error.sdump('D_AUTH','auth.session.on_close()\n');
132 dump('exiting auth/session.js\n');