mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-03-21 00:49:29 +01: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.translation import activate
|
||||
|
||||
from apps.users.utils.user_settings import ensure_user_settings
|
||||
|
||||
|
||||
class LocalizationMiddleware:
|
||||
def __init__(self, get_response):
|
||||
@@ -10,7 +12,7 @@ class LocalizationMiddleware:
|
||||
def __call__(self, request):
|
||||
tz = request.COOKIES.get("mytz")
|
||||
if request.user.is_authenticated:
|
||||
user_settings = request.user.settings
|
||||
user_settings = ensure_user_settings(request.user)
|
||||
user_language = user_settings.language
|
||||
user_timezone = user_settings.timezone
|
||||
else:
|
||||
|
||||
0
app/apps/users/utils/__init__.py
Normal file
0
app/apps/users/utils/__init__.py
Normal file
16
app/apps/users/utils/user_settings.py
Normal file
16
app/apps/users/utils/user_settings.py
Normal file
@@ -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