From 651bf4f9aa6be0d15cfa9e646d7e0e20f864de05 Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Mon, 3 Nov 2014 16:22:25 +0300 Subject: [PATCH] Fix status returned to banned user. --- src/webui/abstractrequesthandler.cpp | 23 +++++++++++++---------- src/webui/www/private/login.html | 11 +++++++++-- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/webui/abstractrequesthandler.cpp b/src/webui/abstractrequesthandler.cpp index 8e6d97d19..fc9479100 100644 --- a/src/webui/abstractrequesthandler.cpp +++ b/src/webui/abstractrequesthandler.cpp @@ -38,22 +38,25 @@ AbstractRequestHandler::AbstractRequestHandler(const HttpRequest &request, const HttpEnvironment &env, WebApplication *app) : app_(app), session_(0), request_(request), env_(env) { - if (isBanned()) - { - status(403, "Forbidden"); - print(QObject::tr("Your IP address has been banned after too many failed authentication attempts.")); - return; - } - sessionInitialize(); - - if (!sessionActive() && !isAuthNeeded()) sessionStart(); + if (!sessionActive() && !isAuthNeeded()) + sessionStart(); } HttpResponse AbstractRequestHandler::run() { response_ = HttpResponse(); - processRequest(); + + if (isBanned()) + { + status(403, "Forbidden"); + print(QObject::tr("Your IP address has been banned after too many failed authentication attempts.")); + } + else + { + processRequest(); + } + return response_; } diff --git a/src/webui/www/private/login.html b/src/webui/www/private/login.html index e59fd2441..42dc38932 100644 --- a/src/webui/www/private/login.html +++ b/src/webui/www/private/login.html @@ -20,8 +20,15 @@ url: '/login', method: 'post', data: $('loginform').toQueryString(), - onFailure: function() { - alert("_(Unable to log in, qBittorrent is probably unreachable.)"); + onComplete: function() { + $('password').set('value', ''); + }, + onFailure: function(xhr) { + if (xhr.responseText != "") { + $('error_msg').set('html', xhr.responseText); + } else { + $('error_msg').set('html', '_(Unable to log in, qBittorrent is probably unreachable.)'); + } }, onSuccess: function(text) { if (text == "Ok.") {