chore: (auth) fix small cosmetic problem, now refresh /login page not send POST request instead a fresh loading auth page

Signed-off-by: UdoChudo <stream@udochudo.ru>
This commit is contained in:
Udo Chudo 2025-06-23 00:37:12 +05:00
parent d5f9d3be49
commit b296f786ec
2 changed files with 19 additions and 13 deletions

View File

@ -1,11 +1,10 @@
from flask import Blueprint, render_template, request, redirect, url_for, flash, session, current_app
from flask import Blueprint, render_template, request, redirect, url_for, flash, session
from flask_login import login_user, login_required, logout_user
from app.extensions.db import db
from app.extensions.audit_logger import AuditLogger
from app.services.auth_service import authenticate_user, parse_ldap_user
from app.extensions.db import db
from app.models import User
from app.services.auth_service import authenticate_user, parse_ldap_user
auditlog = AuditLogger(db.session)
@ -25,17 +24,21 @@ def login():
if not success:
flash(error, 'danger')
auditlog.auth(username_attempted=username, success=False, error=error)
return render_template("login.html")
session['login_username'] = username # сохраняем введённый логин
return redirect(url_for('auth.login')) # редирект вместо render_template
# Очистка сохранённого логина при успешном входе
session.pop('login_username', None)
data = parse_ldap_user(user_info)
display_name = (f"{data['user_surname']} {data['user_name']} {data['user_middle_name']}").strip()
user = User(
user_id=data['sam_account_name'],
user_name=data['user_name'],
user_surname=data['user_surname'],
user_middle_name=data['user_middle_name'],
display_name=display_name,
email=data['email']
user_id=data['sam_account_name'],
user_name=data['user_name'],
user_surname=data['user_surname'],
user_middle_name=data['user_middle_name'],
display_name=display_name,
email=data['email']
)
session.permanent = True
@ -48,7 +51,10 @@ def login():
flash("Logged in successfully!", "success")
return redirect(url_for("dashboard.dashboard"))
return render_template("login.html")
# GET-запрос — передаём в шаблон ранее введённый логин, если есть
username_prefill = session.pop('login_username', '')
return render_template("login.html", username=username_prefill)
@auth_bp.route('/logout')

View File

@ -84,7 +84,7 @@
<div id="formContent">
<!-- Форма входа -->
<form method="POST" action="{{ url_for('auth.login') }}">
<input type="text" id="username" class="fadeIn second form-control text-center" name="username" placeholder="Имя пользователя" required>
<input type="text" id="username" class="fadeIn second form-control text-center" name="username" value="{{ username|default('') }}" placeholder="Имя пользователя" required>
<input type="password" id="password" class="fadeIn third form-control text-center" name="password" placeholder="Пароль" required>
<input type="submit" class="fadeIn fourth btn btn-primary w-100 mt-3" value="Войти">
</form>