mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
webui: don't log in back after logout
Automatic login attempt is initiated by first failed xhr request which happens in metadata phase. New phase was added before metadata phase. It interrupts UI load and shows login page if it's directly after logout(marked in session storage). Successfull manual login resolves the phase so that metadata phase can follow. https://fedorahosted.org/freeipa/ticket/5008 Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
parent
355b6d416d
commit
cd5fe9b407
@ -21,13 +21,14 @@
|
||||
define([
|
||||
'dojo/_base/lang',
|
||||
'dojo/Deferred',
|
||||
'dojo/on',
|
||||
'dojo/when',
|
||||
'./plugin_loader',
|
||||
'./phases',
|
||||
'./reg',
|
||||
'./Application_controller',
|
||||
'exports'
|
||||
],function(lang, Deferred, when, plugin_loader, phases, reg, Application_controller, app) {
|
||||
],function(lang, Deferred, on, when, plugin_loader, phases, reg, Application_controller, app) {
|
||||
|
||||
/**
|
||||
* Application wrapper
|
||||
@ -60,6 +61,21 @@ define([
|
||||
return app;
|
||||
}));
|
||||
|
||||
phases.on('init', lang.hitch(this, function() {
|
||||
var deferred = new Deferred();
|
||||
if (window.sessionStorage.getItem('logout')) {
|
||||
window.sessionStorage.removeItem('logout');
|
||||
var login_facet = reg.facet.get('login');
|
||||
this.app.show_facet(login_facet);
|
||||
on.once(login_facet, "logged_in", function() {
|
||||
deferred.resolve();
|
||||
});
|
||||
} else {
|
||||
deferred.resolve();
|
||||
}
|
||||
return deferred.promise;
|
||||
}));
|
||||
|
||||
phases.on('metadata', lang.hitch(this, function() {
|
||||
var deferred = new Deferred();
|
||||
|
||||
|
@ -409,6 +409,7 @@ IPA.logout = function() {
|
||||
}
|
||||
|
||||
function reload () {
|
||||
window.sessionStorage.setItem('logout', true);
|
||||
var l = window.location;
|
||||
l.assign(l.href.split('#')[0]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user