Add PWA mobile attendance shortcut

This commit is contained in:
A R R R Associates
2026-07-07 18:54:37 +05:30
parent ae06956b3b
commit 2ef58ded85
8 changed files with 238 additions and 2 deletions
+19 -2
View File
@@ -1,4 +1,4 @@
from __future__ import annotations
from __future__ import annotations
from datetime import datetime, timezone, timedelta
@@ -26,6 +26,21 @@ from app.modules.email_integration.services import send_auth_otp_email, send_pas
router = APIRouter()
PENDING_POST_LOGIN_REDIRECT_KEY = "pending_post_login_redirect"
SAFE_POST_LOGIN_REDIRECTS = {
"/mobile/attendance",
"/employee/attendance",
"/employee/dashboard",
}
def _consume_safe_post_login_redirect(request: Request) -> str | None:
value = request.session.pop(PENDING_POST_LOGIN_REDIRECT_KEY, None)
value = (value or "").strip()
if value in SAFE_POST_LOGIN_REDIRECTS:
return value
return None
def _dev_otp_print_enabled() -> bool:
settings = get_settings()
@@ -459,9 +474,11 @@ def login_submit(
if active_financial_year:
request.session["active_financial_year"] = active_financial_year
request.session["must_change_password"] = must_change_password
request.session["post_login_redirect"] = _post_login_redirect(
default_post_login_redirect = _post_login_redirect(
must_change_password, permissions, roles
)
pending_post_login_redirect = None if must_change_password else _consume_safe_post_login_redirect(request)
request.session["post_login_redirect"] = pending_post_login_redirect or default_post_login_redirect
if _otp_required(bs, roles):
code = start_otp(request)