From 69d30452823b777da9ae76707cdc1546cb548fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 24 Oct 2015 23:15:37 +0200 Subject: [PATCH] Manage to get only one renew dialog at a time --- src/session.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/session.js b/src/session.js index 5b656f9b76..31927bbab7 100644 --- a/src/session.js +++ b/src/session.js @@ -7,6 +7,7 @@ init: function(database, login) { this.user_id = null; this.session = null; + this.prm = jQuery.when(); // renew promise this.database = database; this.login = login; this.context = {}; @@ -225,10 +226,15 @@ }; Sao.Session.renew = function(session) { + if (session.prm.state() == 'pending') { + return session.prm; + } var dfd = jQuery.Deferred(); + session.prm = dfd.promise(); var dialog = Sao.Session.password_dialog(); if (!session.login) { - return dfd.reject(); + dfd.reject(); + return session.prm; } var ok_func = function() { @@ -257,7 +263,7 @@ e.preventDefault(); }); dialog.modal.modal('show'); - return dfd.promise(); + return session.prm; }; Sao.Session.current_session = null;