From 64147cd61e303fe93a809faac9d7f4291ab47f90 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Jan 11 2012 17:04:22 +0000 Subject: Reload UI when the user changes. The JSON server has been modified to return the principal name in all responses. The UI has been modified to keep the principal obtained during whoami operation and check the principal returned in subsequent operations. If the principal changes the UI will reload itself. Ticket #1400 --- diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 5d59a89..080f483 100644 --- a/install/ui/ipa.js +++ b/install/ui/ipa.js @@ -120,6 +120,7 @@ var IPA = function() { }, on_success: function(data, text_status, xhr) { that.whoami = data.result[0]; + that.principal = that.whoami.krbprincipalname[0]; } })); @@ -419,6 +420,9 @@ IPA.command = function(spec) { message: data ? xhr.statusText : IPA.get_message('errors.no_response', 'No response') }); + } else if (IPA.principal && data.principal && IPA.principal !== data.principal) { + window.location.reload(); + } else if (data.error) { // error_handler() calls IPA.hide_activity_icon() error_handler.call(this, xhr, text_status, /* error_thrown */ { diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index e12f270..2bfb8ea 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -469,6 +469,7 @@ class jsonserver(WSGIExecutioner): result=result, error=error, id=_id, + principal=unicode(context.principal), ) response = json_encode_binary(response) return json.dumps(response, sort_keys=True, indent=4)