else:
return []
+class NetworkParameterTypeAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", )
+
+class RouterAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", )
+
+class RouterInline(admin.TabularInline):
+ exclude = ['enacted']
+ model = Router
+ extra = 0
+
+class NetworkParameterInline(generic.GenericTabularInline):
+ exclude = ['enacted']
+ model = NetworkParameter
+ extra = 1
+
+class NetworkAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", "subnet", "ports", "labels")
+ inlines = [NetworkParameterInline]
+
# register a signal that caches the user's credentials when they log in
def cache_credentials(sender, user, request, **kwds):
auth = {'username': request.POST['username'],
admin.site.register(Reservation, ReservationAdmin)
admin.site.register(TagType, TagTypeAdmin)
+admin.site.register(Network, NetworkAdmin)
+admin.site.register(Router, RouterAdmin)
+admin.site.register(NetworkParameterType, NetworkParameterTypeAdmin)
+#admin.site.register(Parameter, ParameterAdmin)
+
if showAll:
admin.site.register(Tag, TagAdmin)
admin.site.register(Node, NodeAdmin)
from .plcorebase import PlCoreBase
from .deployment import Deployment
from .project import Project
-from .tag import Tag
+from .tag import Tag, TagType
from .site import Site
from .site import SitePrivilege
from .image import Image
from .user import User
from .role import Role
-from .network import Network, Router, ParameterType, Parameter
from .node import Node
from .serviceclass import ServiceClass
from .serviceresource import ServiceResource
from .sliver import Sliver
from .reservation import ReservedResource
from .reservation import Reservation
+from .network import Network, Router, NetworkParameterType, NetworkParameter
import os
from django.db import models
-from core.models import PlCoreBase
-from core.models import Site
-from core.models import Deployment
+from core.models import PlCoreBase, Site, Slice
+from django.contrib.contenttypes.models import ContentType
+from django.contrib.contenttypes import generic
# Create your models here.
ports = models.CharField(max_length=1024)
labels = models.CharField(max_length=1024)
slice = models.ForeignKey(Slice, related_name="networks")
- guaranteedBandwidth = models.IntField()
+ guaranteedBandwidth = models.IntegerField()
permittedSlices = models.ManyToManyField(Slice, blank=True, related_name="permittedNetworks")
boundSlices = models.ManyToManyField(Slice, blank=True, related_name="boundNetworks")
name = models.CharField(max_length=32)
networks = models.ManyToManyField(Network, blank=True, related_name="routers")
- def __unicode__(self): return u'%s' % (self.name)o
+ def __unicode__(self): return u'%s' % (self.name)
-class ParameterType(PlCoreBase):
+class NetworkParameterType(PlCoreBase):
name = models.SlugField(help_text="The name of this tag", max_length=128)
def __unicode__(self): return u'%s' % (self.name)
-class Parameter(PlCoreBase):
- parameterType = models.ForeignKey(ParameterType, related_name="parameters", help_text="The name of the parameter")
+class NetworkParameter(PlCoreBase):
+ networkParameterType = models.ForeignKey(NetworkParameterType, related_name="parameters", help_text="The name of the parameter")
value = models.CharField(help_text="The value of this parameter", max_length=1024)
# The required fields to do a ObjectType lookup, and object_id assignment