X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9e05900b7692f2d2a484edb33df69e8519e52131..1c9e2865ce8c6ab51b2fa3e43d3661089e7b7eb8:/src/newsletter/models.py diff --git a/src/newsletter/models.py b/src/newsletter/models.py index 481cb85a3..86e1a0d4d 100644 --- a/src/newsletter/models.py +++ b/src/newsletter/models.py @@ -1,10 +1,32 @@ -# -*- coding: utf-8 -*- -from django.db.models import Model, EmailField, DateTimeField, BooleanField -from django.utils.translation import ugettext_lazy as _ +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import hashlib +from django.db import models +from django.utils.translation import gettext_lazy as _ +from django.conf import settings -class Subscription(Model): - email = EmailField(verbose_name=_('email address')) - active = BooleanField(default=True) - created_at = DateTimeField(auto_now_add=True) - last_modified = DateTimeField(auto_now=True) + +class Subscription(models.Model): + email = models.EmailField(verbose_name=_('email address'), unique=True) + active = models.BooleanField(default=True, verbose_name=_('active')) + created_at = models.DateTimeField(auto_now_add=True) + last_modified = models.DateTimeField(auto_now=True) + + class Meta: + verbose_name = _('subscription') + verbose_name_plural = _('subscriptions') + + def __str__(self): + return self.email + + def hashcode(self): + return hashlib.sha224(self.email + settings.SECRET_KEY).hexdigest()[:30] + + +class Newsletter(models.Model): + slug = models.SlugField(blank=True) + page_title = models.CharField(max_length=255, blank=True) + phplist_id = models.IntegerField(null=True, blank=True) + crm_id = models.IntegerField(null=True, blank=True)