From bfbf37fceb3f4a1936952be71c41309109310db3 Mon Sep 17 00:00:00 2001 From: Nate Smith Date: Wed, 7 Aug 2019 01:05:58 -0500 Subject: [PATCH] WIP commit --- ttadmin/help/admin.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/ttadmin/help/admin.py b/ttadmin/help/admin.py index 5bb4f43..5bcea42 100644 --- a/ttadmin/help/admin.py +++ b/ttadmin/help/admin.py @@ -1,6 +1,7 @@ +from django.conf.urls import url from django.contrib import admin from django.forms import ModelForm -from .models import Ticket, Note +from .models import Ticket, Note, EmailTemplate class ImmutableNoteInline(admin.TabularInline): @@ -23,6 +24,11 @@ class NewNoteInline(admin.StackedInline): return queryset.none() +@admin.register(EmailTemplate) +class EmailTemplateAdmin(admin.ModelAdmin): + fields = ('name', 'body') + + @admin.register(Ticket) class TicketAdmin(admin.ModelAdmin): inlines = [ImmutableNoteInline, NewNoteInline] @@ -31,6 +37,8 @@ class TicketAdmin(admin.ModelAdmin): list_filter = ('issue_status', 'issue_type', 'assigned') fields = ('submitted', 'name', 'email', 'assigned', 'issue_status', 'issue_type', 'issue_text') + change_form_template = "admin/ticket_with_email.html" + def save_related(self, request, form, formsets, change): # THIS IS EXTREMELY BOOTLEG AND MAY BREAK IF MORE INLINES ARE ADDED TO THIS ADMIN. for formset in formsets: @@ -42,3 +50,23 @@ class TicketAdmin(admin.ModelAdmin): note_form.save(commit=False) note_form.save_m2m() return super().save_related(request, form, formsets, change) + + def change_view(self, request, object_id, form_url='', extra_context=None): + if extra_context is None: + extra_context = {} + extra_context['email_templates'] = EmailTemplate.objects.all() + return super().change_view(request, object_id, form_url, extra_context=extra_context) + + def get_urls(self): + urls = super().get_urls() + custom_urls = [ + url(r'emails/send$', self.admin_site.admin_view(self.send_email_view)), + ] + return urls + custom_urls + + + def send_email_view(self, request): + pass + + +