From edd37d20198ba95ebabdbdbf8030f1ec1ecffb6b Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Tue, 20 Dec 2011 18:09:20 -0600 Subject: [PATCH] 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 --- install/ui/ipa.js | 4 ++++ ipaserver/rpcserver.py | 1 + 2 files changed, 5 insertions(+) diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 5d59a89a4..080f4836d 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 e12f2706e..2bfb8ea60 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)