from django.db import models
from django.utils.translation import gettext_lazy as _

# Create your models here.

class NewsLetterSubscription(models.Model):
    email      = models.EmailField(_("Email Address"), max_length=254, unique=True)
    subscribed = models.BooleanField(_("Is Subscribed"), default=False)
    created_on = models.DateTimeField(_("Created On"), auto_now_add=True)
    updated_on = models.DateField(_("Updated On"), auto_now=True)
    
    class Meta:
        verbose_name = _("NewsLetter_Subscription")
        verbose_name_plural = _("NewsLetter_Subscriptions")

    @classmethod
    def is_subscribed(cls, email):
        """ Concept inspired by Satchmo. Thanks guys! """
        try:
            return cls.objects.get(email=email).subscribed
        except cls.DoestNotExist as e:
            return False

    def __str__(self):
        return self.email