74746fc0de
Relates to #44
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
from django.db import models
|
|
from django.utils import timezone
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from datetime import datetime
|
|
|
|
class BaseMember(models.Model):
|
|
'''
|
|
Base model for member.
|
|
'''
|
|
first_name = models.CharField(_("First name"), max_length=127)
|
|
last_name = models.CharField(_("Last name"), max_length=127)
|
|
email = models.EmailField(_("Email"))
|
|
POR = models.CharField(_("Place of residence"), max_length=255) # place of residence
|
|
AYY = models.BooleanField(_("AYY"), default=False)
|
|
jas = models.BooleanField(_("JAS"), default=False)
|
|
|
|
class Meta:
|
|
abstract = True
|
|
|
|
|
|
class Request(BaseMember):
|
|
'''
|
|
Member request model represents one member request.
|
|
'''
|
|
submitted = models.DateTimeField(default=timezone.now)
|
|
|
|
|
|
class Payment(models.Model):
|
|
'''
|
|
Payment model representing one payment event
|
|
'''
|
|
date = models.DateTimeField(default=datetime.now())
|
|
source = models.CharField(choices=[
|
|
('AYY', _('AYY')),
|
|
('cash', _('Cash')),
|
|
('bank_transfer', _('Bank transfer')),
|
|
], max_length=255)
|
|
|
|
member = models.ForeignKey('Member', on_delete=models.SET_NULL, blank=True, null=True)
|
|
|
|
|
|
class Member(BaseMember):
|
|
'''
|
|
Member model represets one member on the registry.
|
|
'''
|
|
created = models.DateTimeField(default=timezone.now)
|
|
|
|
def __str__(self):
|
|
return "{} {}, {}".format(self.last_name, self.first_name, self.email) |