users/models.py

47 lines
1.3 KiB
Python
Raw Normal View History

2020-01-26 20:47:33 +01:00
from django.conf import settings
from django.contrib.auth.models import User
from django.db import models
import pytz
# GENERAL Methods and Classes
#
def get_userprofile(user):
try:
profile = user.userprofile
except UserProfile.DoesNotExist:
profile = UserProfile(user=user)
profile.save()
return profile
2020-08-30 19:52:03 +02:00
def UserprofilerExist(username, data):
try:
profile = UserProfile.objects.get(user__username=username)
except UserProfile.DoesNotExist:
return False
return profile.timezone == data['timezone'] and profile.language_code == data['language_code']
2020-01-26 20:47:33 +01:00
# USERPROFILE Model
#
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True, on_delete=models.CASCADE)
timezone = models.CharField(max_length=150, default='UTC', choices=[(t, t) for t in pytz.common_timezones])
language_code = models.CharField(max_length=150, default='en', choices=settings.LANGUAGES)
mail_validated = models.BooleanField(default=False)
2020-08-30 19:52:03 +02:00
def export_key(self):
return self.user.username
def export_data(self):
rv = {}
rv['timezone'] = self.timezone
rv['language_code'] = self.language_code
return rv
def import_data(self, data):
self.timezone = data['timezone']
self.language_code = data['language_code']
self.save()