add slice tags
authorScott Baker <smbaker@gmail.com>
Wed, 22 May 2013 00:25:56 +0000 (17:25 -0700)
committerScott Baker <smbaker@gmail.com>
Wed, 22 May 2013 00:25:56 +0000 (17:25 -0700)
planetstack/core/admin.py
planetstack/core/models/__init__.py
planetstack/core/models/slicetag.py [new file with mode: 0644]

index bc49b8a..6e7bbb6 100644 (file)
@@ -65,6 +65,10 @@ class SliceMembershipInline(admin.TabularInline):
     model = SliceMembership
     extra = 0
 
+class SliceTagInline(admin.TabularInline):
+    model = SliceTag
+    extra = 0
+
 class PlainTextWidget(forms.HiddenInput):
     input_type = 'hidden'
 
@@ -228,7 +232,7 @@ class KeyAdmin(OSModelAdmin):
 class SliceAdmin(OSModelAdmin):
     fields = ['name', 'site', 'serviceClass', 'description', 'slice_url']
     list_display = ('name', 'site','serviceClass', 'slice_url')
-    inlines = [SliverInline, SliceMembershipInline]
+    inlines = [SliverInline, SliceMembershipInline, SliceTagInline]
 
     def queryset(self, request):
         # admins can see all keys. Users can only see slices they belong to.
index 179f6f7..56a67ba 100644 (file)
@@ -11,6 +11,7 @@ from .serviceclass import ServiceClass
 from .serviceresource import ServiceResource
 from .slice import Slice
 from .slice import SliceMembership
+from .slicetag import SliceTag
 from .sliver import Sliver
 from .reservation import ReservedResource
 from .reservation import Reservation
diff --git a/planetstack/core/models/slicetag.py b/planetstack/core/models/slicetag.py
new file mode 100644 (file)
index 0000000..38343b3
--- /dev/null
@@ -0,0 +1,14 @@
+import os
+from django.db import models
+from core.models import PlCoreBase
+from core.models import Slice
+
+class SliceTag(PlCoreBase):
+    slice = models.ForeignKey(Slice, related_name='tags')
+
+    NAME_CHOICES = (('privatekey', 'Private Key'), ('publickey', 'Public Key'))
+    name = models.CharField(help_text="The name of this tag", max_length=30, choices=NAME_CHOICES)
+    value = models.CharField(help_text="The value of this tag", max_length=1024)
+
+
+