WebClient: disable indicator if we redirect from the login page

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
Nicola Murino 2024-02-04 21:13:04 +01:00
parent 8385acd0e3
commit ae309d64c4
No known key found for this signature in database
GPG key ID: 935D2952DEC4EECF
3 changed files with 13 additions and 3 deletions

View file

@ -173,6 +173,7 @@ func (s *httpdServer) renderClientLoginPage(w http.ResponseWriter, r *http.Reque
CSRFToken: createCSRFToken(ip),
Branding: s.binding.Branding.WebClient,
FormDisabled: s.binding.isWebClientLoginFormDisabled(),
CheckRedirect: true,
}
if next := r.URL.Query().Get("next"); strings.HasPrefix(next, webClientFilesPath) {
data.CurrentURL += "?next=" + url.QueryEscape(next)
@ -599,6 +600,7 @@ func (s *httpdServer) renderAdminLoginPage(w http.ResponseWriter, r *http.Reques
CSRFToken: createCSRFToken(ip),
Branding: s.binding.Branding.WebAdmin,
FormDisabled: s.binding.isWebAdminLoginFormDisabled(),
CheckRedirect: false,
}
if s.binding.showClientLoginURL() {
data.AltLoginURL = webClientLoginPath

View file

@ -69,6 +69,7 @@ type loginPage struct {
Title string
Branding UIBranding
FormDisabled bool
CheckRedirect bool
}
type twoFactorPage struct {

View file

@ -59,9 +59,16 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<script type="text/javascript" {{- if .CSPNonce}} nonce="{{.CSPNonce}}"{{- end}}>
KTUtil.onDOMContentLoaded(function () {
$('#sign_in_form').submit(function (event) {
let submitButton = document.querySelector('#sign_in_submit');
submitButton.setAttribute('data-kt-indicator', 'on');
submitButton.disabled = true;
let next = null;
//{{- if .CheckRedirect}}
const urlParams = new URLSearchParams(window.location.search);
next = urlParams.get('next');
//{{- end}}
if (!next){
let submitButton = document.querySelector('#sign_in_submit');
submitButton.setAttribute('data-kt-indicator', 'on');
submitButton.disabled = true;
}
});
});
</script>