for sliver in obj.slivers.all():
for nbs in sliver.networksliver_set.all():
- if nbs.ip is not None:
+ if nbs.ip:
network_name = nbs.network.name
if network_name not in [str(x) for x in readonly_fields]:
readonly_fields.append(NetworkLookerUpper(network_name))
return super(SliceMembershipInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
-class SliceNetworkInline(admin.TabularInline):
- # exclude = ['enacted']
+class SliceNetworkInline(PlStackTabularInline):
model = Network.slices.through
extra = 0
verbose_name = "Network Connection"
verbose_name_plural = "Slivers"
verbose_name = "Sliver"
+class NetworkSlicesInline(admin.TabularInline):
+ exclude = ['enacted']
+ model = NetworkSlice
+ extra = 0
+ verbose_name_plural = "Slices"
+ verbose_name = "Slice"
+
class NetworkAdmin(admin.ModelAdmin):
exclude = ['enacted']
list_display = ("name", "subnet", "ports", "labels")
readonly_fields = ("subnet", )
- inlines = [NetworkParameterInline, NetworkSliversInline, RouterInline]
+ inlines = [NetworkParameterInline, NetworkSliversInline, NetworkSlicesInline, RouterInline]
class NetworkTemplateAdmin(admin.ModelAdmin):
exclude = ['enacted']