update titlebars and stashed staff object on new session
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 27 Jun 2006 12:38:05 +0000 (12:38 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 27 Jun 2006 12:38:05 +0000 (12:38 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@4804 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul
Open-ILS/xul/staff_client/chrome/content/main/simple_auth.xul
Open-ILS/xul/staff_client/chrome/content/util/network.js

index 1ec03d9..689a98d 100644 (file)
@@ -64,7 +64,7 @@
                                JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
                                XML_HTTP_SERVER = g.data.server_unadorned;
 
-                               document.title = g.window.appshell_name_increment() + ': ' + g.data.list.au[0].usrname() + '@' + g.data.ws_name;
+                               document.title = g.window.appshell_name_increment() + ': ' + g.data.list.au[0].usrname() + '@' + g.data.ws_name + '.' + g.data.server_unadorned;
 
                        } catch(E) {
                                var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
index da7017b..f4c2fe9 100644 (file)
@@ -94,7 +94,9 @@
                                        g.cgi.param('login_type') || 'temp'
                                );
                                g.session.on_init = function() { 
-                                       g.data.temporary_session = { 'key' : g.session.key, 'authtime' : g.session.authtime };
+                                       JSAN.use('util.network'); var n = new util.network();
+                                       var staff = n.simple_request('FM_AU_RETRIEVE_VIA_SESSION',[ g.session.key ]);
+                                       g.data.temporary_session = { 'key' : g.session.key, 'authtime' : g.session.authtime, 'usr' : js2JSON(staff) };
                                        g.data.stash('temporary_session');
                                        window.close();
                                }
index 25e03e4..97ab059 100644 (file)
@@ -152,6 +152,28 @@ util.network.prototype = {
                                        data.session.key = data.temporary_session.key; 
                                        data.session.authtime = data.temporary_session.authtime; 
                                        data.stash('session');
+                                       data.list.au[0] = JSON2js(data.temporary_session.usr);
+                                       data.stash('list');
+                                       try {
+                                               JSAN.use('util.window'); var win =  new util.window();
+                                               var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService();
+                                               var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
+                                               var enumerator = windowManagerInterface.getEnumerator(null);
+
+                                               var w; // close all other windows
+                                               while ( w = enumerator.getNext() ) {
+                                                       if (w.document.title.match(/^\d/)) {
+                                                               w.document.title = 
+                                                                       win.appshell_name_increment() 
+                                                                       + ': ' + data.list.au[0].usrname() 
+                                                                       + '@' + data.ws_name;
+                                                                       + '.' + data.server_unadorned 
+                                                       }
+                                               }
+                                       } catch(E) {
+                                               obj.error.standard_unexpected_error_alert('Error setting window titles to match new login',E);
+                                       }
+
                                        params[0] = data.session.key;
                                        req = obj._request(app,name,params,null,o_params);
                                }