from django.contrib import admin
from django.contrib import messages
from django.utils.translation import ugettext_lazy as _
+from fnpdjango.actions import export_as_csv_action
from . import models
-class EmailSentInline(admin.TabularInline):
- model = models.EmailSent
- fields = ['timestamp', 'email', 'subject']
- readonly_fields = ['timestamp', 'email', 'subject']
- extra = 0
- can_delete = False
- show_change_link = True
-
- def has_add_permission(self, request, obj):
- return False
-
-
class EmailTemplateAdmin(admin.ModelAdmin):
list_display = ['state', 'min_days_since', 'subject', 'min_hour']
- inlines = [EmailSentInline]
fieldsets = [
(None, {"fields": [
'state',
class EmailSentAdmin(admin.ModelAdmin):
list_filter = ['template']
- list_display = ['timestamp', 'template', 'email', 'subject']
- fields = ['timestamp', 'template', 'email', 'subject', 'body', 'hash_value']
+ list_display = ['timestamp', 'template', 'contact', 'subject']
+ fields = ['timestamp', 'template', 'contact', 'subject', 'body']
readonly_fields = fields
change_links = ['template']
admin.site.register(models.EmailSent, EmailSentAdmin)
+class ContactEmailSentInline(admin.TabularInline):
+ model = models.EmailSent
+ fields = ['timestamp', 'template', 'subject']
+ readonly_fields = ['timestamp', 'template', 'subject']
+ extra = 0
+ can_delete = False
+ show_change_link = True
+
+ def has_add_permission(self, request, obj):
+ return False
+
+
class ContactAdmin(admin.ModelAdmin):
+ inlines = [ContactEmailSentInline]
list_filter = ['level']
list_display = ['email', 'level', 'since', 'expires_at']
search_fields = ['email']
date_hierarchy = 'since'
+ actions = [export_as_csv_action(fields=['id', 'email', 'get_level_display', 'since', 'expires_at'])]
admin.site.register(models.Contact, ContactAdmin)