| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from django.contrib import admin
- from .models import (
- Aggregate, IPAddress, Prefix, RIR, Role, VLAN, VRF,
- )
- @admin.register(VRF)
- class VRFAdmin(admin.ModelAdmin):
- list_display = ['name', 'rd']
- @admin.register(Role)
- class RoleAdmin(admin.ModelAdmin):
- prepopulated_fields = {
- 'slug': ['name'],
- }
- list_display = ['name', 'slug', 'weight']
- @admin.register(RIR)
- class RIRAdmin(admin.ModelAdmin):
- prepopulated_fields = {
- 'slug': ['name'],
- }
- list_display = ['name', 'slug']
- @admin.register(Aggregate)
- class AggregateAdmin(admin.ModelAdmin):
- list_display = ['prefix', 'rir', 'date_added']
- list_filter = ['family', 'rir']
- search_fields = ['prefix']
- @admin.register(Prefix)
- class PrefixAdmin(admin.ModelAdmin):
- list_display = ['prefix', 'vrf', 'site', 'status', 'role', 'vlan']
- list_filter = ['family', 'site', 'status', 'role']
- search_fields = ['prefix']
- def get_queryset(self, request):
- qs = super(PrefixAdmin, self).get_queryset(request)
- return qs.select_related('vrf', 'site', 'role', 'vlan')
- @admin.register(IPAddress)
- class IPAddressAdmin(admin.ModelAdmin):
- list_display = ['address', 'vrf', 'nat_inside']
- list_filter = ['family']
- fields = ['address', 'vrf', 'device', 'interface', 'nat_inside']
- readonly_fields = ['interface', 'device', 'nat_inside']
- search_fields = ['address']
- def get_queryset(self, request):
- qs = super(IPAddressAdmin, self).get_queryset(request)
- return qs.select_related('vrf', 'nat_inside')
- @admin.register(VLAN)
- class VLANAdmin(admin.ModelAdmin):
- list_display = ['site', 'vid', 'name', 'status', 'role']
- list_filter = ['site', 'status', 'role']
- search_fields = ['vid', 'name']
- def get_queryset(self, request):
- qs = super(VLANAdmin, self).get_queryset(request)
- return qs.select_related('site', 'role')
|