57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
|
from django.db import models
|
||
|
from app.models import ItfModel
|
||
|
|
||
|
class EmailerIssue(ItfModel):
|
||
|
title = models.CharField(max_length=512)
|
||
|
date = models.DateField()
|
||
|
issue_no = models.IntegerField()
|
||
|
published = models.BooleanField(default=False)
|
||
|
|
||
|
def __unicode__(self):
|
||
|
return self.title
|
||
|
|
||
|
class Meta:
|
||
|
ordering = ['-issue_no']
|
||
|
|
||
|
|
||
|
class EmailerArticle(models.Model):
|
||
|
issue = models.ForeignKey(EmailerIssue)
|
||
|
title = models.CharField(max_length=512)
|
||
|
subtitle = models.TextField(blank=True)
|
||
|
author = models.CharField(max_length=512, blank=True)
|
||
|
author_bio = models.TextField(blank=True)
|
||
|
main_image = models.ImageField(upload_to='upload/images/emailer/', blank=True)
|
||
|
text = models.TextField()
|
||
|
position = models.IntegerField(null=True)
|
||
|
|
||
|
def __unicode__(self):
|
||
|
return self.title
|
||
|
|
||
|
|
||
|
class ArticleImage(models.Model):
|
||
|
image = models.ImageField(upload_to='upload/images/emailer/')
|
||
|
caption = models.CharField(max_length=512, blank=True)
|
||
|
article = models.ForeignKey(EmailerArticle)
|
||
|
|
||
|
def __unicode__(self):
|
||
|
return self.caption
|
||
|
|
||
|
|
||
|
class Weblink(models.Model):
|
||
|
url = models.URLField()
|
||
|
text = models.TextField(blank=True)
|
||
|
issue = models.ForeignKey(EmailerIssue)
|
||
|
|
||
|
def __unicode__(self):
|
||
|
return self.url
|
||
|
|
||
|
|
||
|
class BulletinBoardItem(models.Model):
|
||
|
issue = models.ForeignKey(EmailerIssue)
|
||
|
title = models.CharField(max_length=512)
|
||
|
text = models.TextField()
|
||
|
position = models.IntegerField(default=1)
|
||
|
|
||
|
def __unicode__(self):
|
||
|
return self.title
|