"""Countdown item models."""
from django.db import models
from django.utils import timezone


class CountdownItem(models.Model):
    """Track points in time."""

    name = models.CharField(max_length=64, default='')
    at_time = models.DateTimeField()

    is_reminder = models.BooleanField(default=False)
    sent_reminder = models.BooleanField(default=False)

    reminder_message = models.TextField(default="")
    reminder_target = models.CharField(max_length=64, blank=True, default='')

    recurring_period = models.CharField(max_length=64, blank=True, default='')
    recurring_until = models.DateTimeField(null=True, blank=True, default=None)

    created_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        """Summarize object."""
        return "{0:s} @ {1:s}".format(self.name, timezone.localtime(self.at_time).strftime('%Y-%m-%d %H:%M:%S %Z'))