tag type support
authorsmbaker <smbaker@fc8-storktest.lan>
Fri, 12 Jul 2013 12:54:30 +0000 (05:54 -0700)
committersmbaker <smbaker@fc8-storktest.lan>
Fri, 12 Jul 2013 12:54:30 +0000 (05:54 -0700)
planetstack/core/admin.py
planetstack/core/models/tag.py

index a1a21d6..45b5903 100644 (file)
@@ -396,15 +396,18 @@ class SliverForm(forms.ModelForm):
 class ProjectAdmin(admin.ModelAdmin):
     exclude = ['enacted']
 
+class TagTypeAdmin(admin.ModelAdmin):
+    exclude = ['enacted']
+
 class TagAdmin(admin.ModelAdmin):
     exclude = ['enacted']
 
 class SliverAdmin(PlanetStackBaseAdmin):
     form = SliverForm
     fieldsets = [
-        ('Sliver', {'fields': ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'node', 'deploymentNetwork']})
+        ('Sliver', {'fields': ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'key', 'node', 'deploymentNetwork']})
     ]
-    list_display = ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'node', 'deploymentNetwork']
+    list_display = ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'key', 'node', 'deploymentNetwork']
     inlines = [TagInline]
 
     def formfield_for_foreignkey(self, db_field, request, **kwargs):
@@ -708,6 +711,7 @@ admin.site.register(Slice, SliceAdmin)
 admin.site.register(Project, ProjectAdmin)
 admin.site.register(ServiceClass, ServiceClassAdmin)
 admin.site.register(Reservation, ReservationAdmin)
+admin.site.register(TagType, TagTypeAdmin)
 
 if showAll:
     admin.site.register(Tag, TagAdmin)
index 7c957a1..5d32de1 100644 (file)
@@ -7,11 +7,14 @@ from django.contrib.contenttypes import generic
 
 # Create your models here.
 
-class Tag(PlCoreBase):
-
+class TagType(PlCoreBase):
+    name = models.SlugField(help_text="The name of this tag", max_length=128)
     project = models.ForeignKey(Project, related_name='tags', help_text="The Project this Tag is associated with")
 
-    name = models.SlugField(help_text="The name of this tag", max_length=128)
+    def __unicode__(self):  return u'%s' % (self.name)
+
+class Tag(PlCoreBase):
+    tagType = models.ForeignKey(TagType, related_name="tags", help_text="The name of the tag")
     value = models.CharField(help_text="The value of this tag", max_length=1024)
 
     # The required fields to do a ObjectType lookup, and object_id assignment
@@ -20,5 +23,5 @@ class Tag(PlCoreBase):
     content_object = generic.GenericForeignKey('content_type', 'object_id')
 
     def __unicode__(self):
-        return self.name
+        return self.tagType.name