added emailer

This commit is contained in:
Sanj 2011-12-02 02:42:20 +05:30
parent b6903cb912
commit 6effe69793
5 changed files with 127 additions and 0 deletions

0
itf/emailer/__init__.py Normal file
View File

47
itf/emailer/admin.py Normal file
View File

@ -0,0 +1,47 @@
from django.contrib import admin
from models import *
from markitup.widgets import MarkItUpWidget
# from forms import ArticleForm
class ImageInline(admin.StackedInline):
model = ArticleImage
extra = 4
class BBInline(admin.StackedInline):
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
model = BulletinBoardItem
extra = 3
class WeblinkInline(admin.StackedInline):
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
model = Weblink
extra = 4
class ArticleInline(admin.StackedInline):
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
model = EmailerArticle
extra = 2
class IssueAdmin(admin.ModelAdmin):
list_display = ('title', 'issue_no', 'date', 'published',)
inlines = [WeblinkInline, BBInline, ArticleInline]
list_editable = ('published',)
save_on_top = True
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
class ArticleAdmin(admin.ModelAdmin):
list_filter = ['issue']
inlines = [ImageInline]
# form = ArticleForm
admin.site.register(EmailerIssue, IssueAdmin)
admin.site.register(EmailerArticle, ArticleAdmin)
# admin.site.register(Document, DocumentAdmin)
admin.site.register(Weblink)
admin.site.register(BulletinBoardItem)

56
itf/emailer/models.py Normal file
View File

@ -0,0 +1,56 @@
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

23
itf/emailer/tests.py Normal file
View File

@ -0,0 +1,23 @@
"""
This file demonstrates two different styles of tests (one doctest and one
unittest). These will both pass when you run "manage.py test".
Replace these with more appropriate tests for your application.
"""
from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.failUnlessEqual(1 + 1, 2)
__test__ = {"doctest": """
Another way to test that 1 + 1 is equal to 2.
>>> 1 + 1 == 2
True
"""}

1
itf/emailer/views.py Normal file
View File

@ -0,0 +1 @@
# Create your views here.