Files
web2.0-backend/signup/models.py
T
2018-06-19 20:46:06 +03:00

75 lines
2.0 KiB
Python

"""Signup and Event models."""
from django.db import models
from django.utils import timezone
from webapp.models import Tag, BaseFeed
from webapp.utils import month_from_now
from django.utils.translation import ugettext_lazy as _
from auditlog.registry import auditlog
from phonenumber_field.modelfields import PhoneNumberField
from django.contrib.postgres.fields import JSONField
import logging
VERBOSE_NAME = _('Webapp')
class Event(BaseFeed):
"""Model for event."""
start = models.DateTimeField(default=timezone.now)
end = models.DateTimeField(default=timezone.now)
signupForm = models.ManyToManyField(
'SignupForm', blank=True)
def __str__(self):
return _('Event: {}').format(self.title)
class Meta:
verbose_name = _('Event')
verbose_name_plural = _('Events')
class TemplateQuestion(models.Model):
"""Stores template questions for signup forms as JSONB"""
# question = JSONField()
name = models.CharField(max_length=255)
question = models.CharField(max_length=255)
def __str__(self):
return _('Template questions: {}').format(self.name)
class Meta:
verbose_name = _('Template question')
verbose_name_plural = _('Template questions')
class SignupForm(models.Model):
"""Model for event signup form. Stores questions in JSONB."""
start = models.DateTimeField(default=timezone.now)
end = models.DateTimeField(default=timezone.now)
# question = JSONField()
question = models.CharField(max_length=255)
class Meta:
verbose_name = _('Signup form')
verbose_name_plural = _('Signup forms')
class Signup(models.Model):
signupForm = models.ForeignKey('SignupForm', on_delete=models.CASCADE)
time = models.DateTimeField(default=timezone.now)
answer = models.CharField(max_length=255)
def __str__(self):
return _('Sign-ups: {}').format(self.signupForm)
class Meta:
verbose_name = _('Sign-up')
verbose_name_plural = _('Sign-ups')
auditlog.register(Event)
auditlog.register(Signup)