32 lines
1,010 B
Python
32 lines
1,010 B
Python
from django.contrib import admin
|
|
|
|
from utils.mailer import BaseEmail
|
|
from .models import VirtualMachineType, VirtualMachinePlan
|
|
|
|
|
|
class VirtualMachinePlanAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'id', 'email')
|
|
|
|
def email(self, obj):
|
|
return obj.hosting_orders.latest('id').customer.user.email
|
|
|
|
def save_model(self, request, obj, form, change):
|
|
email = self.email(obj)
|
|
if 'status' in form.changed_data and obj.status == VirtualMachinePlan.ONLINE_STATUS:
|
|
context = {
|
|
'vm': obj
|
|
}
|
|
email_data = {
|
|
'subject': 'Your VM has been activated',
|
|
'to': email,
|
|
'context': context,
|
|
'template_name': 'vm_activated',
|
|
'template_path': 'emails/'
|
|
}
|
|
email = BaseEmail(**email_data)
|
|
email.send()
|
|
obj.save()
|
|
|
|
|
|
admin.site.register(VirtualMachineType)
|
|
admin.site.register(VirtualMachinePlan, VirtualMachinePlanAdmin)
|