X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/819c427b704a53b2e62794160fcf7b29e6772424..d6c0916e7ff6b39b641133fbc0da659457d890d9:/src/social/models.py diff --git a/src/social/models.py b/src/social/models.py index b0f2f7fb7..c41a78f67 100644 --- a/src/social/models.py +++ b/src/social/models.py @@ -4,7 +4,6 @@ from datetime import datetime import uuid from oauthlib.common import urlencode, generate_token -from pytz import utc from random import randint from django.db import models from django.conf import settings @@ -12,7 +11,7 @@ from django.contrib.auth.models import User from django.core.exceptions import ValidationError from django.core.mail import send_mail from django.urls import reverse -from django.utils.timezone import now +from django.utils.timezone import now, utc from catalogue.models import Book from catalogue.utils import get_random_hash from wolnelektury.utils import cached_render, clear_cached_renders @@ -181,6 +180,16 @@ class CarouselItem(models.Model): return self.banner or self.banner_group.get_banner() +class UserProfile(models.Model): + user = models.OneToOneField(User, models.CASCADE) + notifications = models.BooleanField(default=False) + + @classmethod + def get_for(cls, user): + obj, created = cls.objects.get_or_create(user=user) + return obj + + class UserConfirmation(models.Model): user = models.ForeignKey(User, models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) @@ -327,12 +336,14 @@ class UserList(Syncable, models.Model): favorites=True ) except cls.DoesNotExist: + n = now() if create: return cls.objects.create( user=user, favorites=True, - slug=get_random_hash(name), - updated_at=now() + slug=get_random_hash('favorites'), + updated_at=n, + reported_timestamp=n, ) else: return None