Add session_login function (#5955)

* Add session_login function

* Make helper do more things and use it

---------

Co-authored-by: Raphael Michel <michel@rami.io>
This commit is contained in:
George Hickman
2026-03-16 16:39:04 +00:00
committed by GitHub
parent ed1966bc96
commit dfaa4c3359
3 changed files with 25 additions and 27 deletions

View File

@@ -24,6 +24,7 @@ import logging
import time
from django.conf import settings
from django.contrib.auth import login as auth_login
from django.contrib.gis.geoip2 import GeoIP2
from django.core.cache import cache
from django.utils.timezone import now
@@ -174,3 +175,17 @@ def handle_login_source(user, request):
user=user,
locale=user.locale
)
def session_login(request, user, keep_logged_in=False):
auth_login(request, user)
session_reauth(request)
request.session["pretix_auth_long_session"] = (
settings.PRETIX_LONG_SESSIONS and keep_logged_in
)
def session_reauth(request):
t = int(time.time())
request.session['pretix_auth_login_time'] = t
request.session['pretix_auth_last_used'] = t