Test fixes.
[wolnelektury.git] / src / messaging / admin.py
index 9ac76b5..6749106 100644 (file)
@@ -1,6 +1,7 @@
 from django.contrib import admin
 from django.contrib import messages
 from django.utils.translation import ugettext_lazy as _
 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
 
 
 from . import models
 
 
@@ -65,11 +66,25 @@ class EmailSentAdmin(admin.ModelAdmin):
 admin.site.register(models.EmailSent, EmailSentAdmin)
 
 
 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):
 class ContactAdmin(admin.ModelAdmin):
+    inlines = [ContactEmailSentInline]
     list_filter = ['level']
     list_display = ['email', 'level', 'since', 'expires_at']
     search_fields = ['email']
     date_hierarchy = 'since'
     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)
 
 
 admin.site.register(models.Contact, ContactAdmin)