summaryrefslogtreecommitdiff
path: root/app/lttr/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/lttr/admin.py')
-rw-r--r--app/lttr/admin.py62
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",)
+ }