netbox-ddns/netbox_ddns/template_content.py

38 lines
1.2 KiB
Python

from django.contrib.auth.context_processors import PermWrapper
from django.template.context_processors import csrf
from extras.plugins import PluginTemplateExtension
from . import tables
# noinspection PyAbstractClass
class DNSInfo(PluginTemplateExtension):
model = 'ipam.ipaddress'
def buttons(self):
"""
A button to force DNS re-provisioning
"""
context = {
'perms': PermWrapper(self.context['request'].user),
}
context.update(csrf(self.context['request']))
return self.render('netbox_ddns/ipaddress/dns_refresh_button.html', context)
def left_page(self):
"""
An info-box with the status of the DNS modifications and records
"""
extra_dns_name_table = tables.PrefixTable(list(self.context['object'].extradnsname_set.all()), orderable=False)
return (
self.render('netbox_ddns/ipaddress/dns_info.html') +
self.render('netbox_ddns/ipaddress/dns_extra.html', {
'perms': PermWrapper(self.context['request'].user),
'extra_dns_name_table': extra_dns_name_table,
})
)
template_extensions = [DNSInfo]