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

from aleksis.core.mixins import ExtensibleModel
from aleksis.core.models import Person


class Card(ExtensibleModel):
    person = models.ForeignKey(
        Person, models.CASCADE, verbose_name=_("Person"), related_name="cards"
    )
    chip_number = models.IntegerField(verbose_name=_("Chip Number"))
    valid_until = models.DateField(verbose_name=_("Valid until"))
    deactivated = models.BooleanField(verbose_name=_("Deactivated"), default=False)

    class Meta:
        verbose_name = _("Card")
        verbose_name_plural = _("Cards")