diff options
Diffstat (limited to 'app/lttr/admin.py')
-rw-r--r-- | app/lttr/admin.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/app/lttr/admin.py b/app/lttr/admin.py new file mode 100644 index 0000000..58f9d84 --- /dev/null +++ b/app/lttr/admin.py @@ -0,0 +1,62 @@ +from django.contrib import admin + +from utils.widgets import AdminImageWidget, LGEntryForm + +from .models import ( + NewsletterMailing, + Subscriber, + Newsletter, + MailingStatus, +) + +@admin.register(Subscriber) +class SubscriberAdmin(admin.ModelAdmin): + list_display = ('email_field', 'user', 'newsletter', 'date_created', 'subscribed', 'subscribe_date', 'unsubscribed') + search_fields = ['email_field'] + list_filter = ['unsubscribed', 'newsletter'] + + class Media: + js = ('next-prev-links.js',) + + +@admin.register(Newsletter) +class NewsletterAdmin(admin.ModelAdmin): + pass + + +@admin.register(MailingStatus) +class MailingStatusAdmin(admin.ModelAdmin): + list_display = ('newsletter_mailing', 'subscriber', 'status', 'creation_date', 'newsletter') + list_filter = ('status', 'creation_date', 'newsletter_mailing__newsletter') + + +@admin.register(NewsletterMailing) +class NewsletterMailingAdmin(admin.ModelAdmin): + form = LGEntryForm + list_display = ('title', 'pub_date', 'newsletter', 'post') + list_filter = ['newsletter'] + fieldsets = ( + ('Entry', { + 'fields': ( + ("newsletter", "post"), + 'title', + 'subtitle', + 'body_markdown', + 'body_html', + 'body_email_html', + 'pub_date', + 'featured_image', + ), + 'classes': ( + 'show', + 'extrapretty', + 'wide' + ) + } + ), + ) + class Media: + js = ('image-loader.js', 'next-prev-links.js') + css = { + "all": ("my_styles.css",) + } |