summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--install/ui/ipa.js4
-rw-r--r--ipalib/constants.py3
-rw-r--r--ipaserver/rpcserver.py2
3 files changed, 9 insertions, 0 deletions
diff --git a/install/ui/ipa.js b/install/ui/ipa.js
index 080f4836d..23a5e4287 100644
--- a/install/ui/ipa.js
+++ b/install/ui/ipa.js
@@ -128,6 +128,7 @@ var IPA = function() {
method: 'env',
on_success: function(data, text_status, xhr) {
that.env = data.result;
+ that.version = that.env.version;
}
}));
@@ -420,6 +421,9 @@ IPA.command = function(spec) {
message: data ? xhr.statusText : IPA.get_message('errors.no_response', 'No response')
});
+ } else if (IPA.version && data.version && IPA.version !== data.version) {
+ window.location.reload();
+
} else if (IPA.principal && data.principal && IPA.principal !== data.principal) {
window.location.reload();
diff --git a/ipalib/constants.py b/ipalib/constants.py
index 96cf3ba60..d984bbc20 100644
--- a/ipalib/constants.py
+++ b/ipalib/constants.py
@@ -22,6 +22,7 @@
All constants centralised in one file.
"""
import socket
+from ipapython.version import VERSION
try:
FQDN = socket.getfqdn()
except:
@@ -63,6 +64,8 @@ CONFIG_SECTION = 'global'
# This is a tuple instead of a dict so that it is immutable.
# To create a dict with this config, just "d = dict(DEFAULT_CONFIG)".
DEFAULT_CONFIG = (
+ ('version', VERSION),
+
# Domain, realm, basedn:
('domain', 'example.com'),
('realm', 'EXAMPLE.COM'),
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index 2bfb8ea60..26850db55 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -33,6 +33,7 @@ from ipalib.rpc import xml_dumps, xml_loads
from ipalib.util import make_repr
from ipalib.compat import json
from wsgiref.util import shift_path_info
+from ipapython.version import VERSION
import base64
import os
import string
@@ -470,6 +471,7 @@ class jsonserver(WSGIExecutioner):
error=error,
id=_id,
principal=unicode(context.principal),
+ version=unicode(VERSION),
)
response = json_encode_binary(response)
return json.dumps(response, sort_keys=True, indent=4)