polishing map fixes
[wolnelektury.git] / src / newsletter / models.py
index 6d100a3..86e1a0d 100644 (file)
@@ -1,17 +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'), unique=True)
-    active = BooleanField(default=True, verbose_name=_(u'active'))
-    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 __unicode__(self):
-        return self.email
\ No newline at end of file
+    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)