mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-07-11 15:22:55 +02:00
feat: create user settings on localization middleware
This commit is contained in:
@@ -2,6 +2,8 @@ import zoneinfo
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import activate
|
from django.utils.translation import activate
|
||||||
|
|
||||||
|
from apps.users.utils.user_settings import ensure_user_settings
|
||||||
|
|
||||||
|
|
||||||
class LocalizationMiddleware:
|
class LocalizationMiddleware:
|
||||||
def __init__(self, get_response):
|
def __init__(self, get_response):
|
||||||
@@ -10,7 +12,7 @@ class LocalizationMiddleware:
|
|||||||
def __call__(self, request):
|
def __call__(self, request):
|
||||||
tz = request.COOKIES.get("mytz")
|
tz = request.COOKIES.get("mytz")
|
||||||
if request.user.is_authenticated:
|
if request.user.is_authenticated:
|
||||||
user_settings = request.user.settings
|
user_settings = ensure_user_settings(request.user)
|
||||||
user_language = user_settings.language
|
user_language = user_settings.language
|
||||||
user_timezone = user_settings.timezone
|
user_timezone = user_settings.timezone
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
from apps.users.models import UserSettings
|
||||||
|
|
||||||
|
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
|
def ensure_user_settings(user):
|
||||||
|
"""
|
||||||
|
Check if the given user has a UserSettings model.
|
||||||
|
If not, create one.
|
||||||
|
"""
|
||||||
|
if not hasattr(user, "settings"):
|
||||||
|
UserSettings.objects.create(user=user)
|
||||||
|
|
||||||
|
return user.settings
|
||||||
Reference in New Issue
Block a user