added rbac for viewing objects
[plstackapi.git] / planetstack / core / models / tag.py
index 7c957a1..ef746da 100644 (file)
@@ -1,7 +1,7 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
-from core.models import Project
+from core.models import Service
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 
@@ -9,7 +9,7 @@ from django.contrib.contenttypes import generic
 
 class Tag(PlCoreBase):
 
-    project = models.ForeignKey(Project, related_name='tags', help_text="The Project this Tag is associated with")
+    service = models.ForeignKey(Service, related_name='tags', help_text="The Service this Tag is associated with")
 
     name = models.SlugField(help_text="The name of this tag", max_length=128)
     value = models.CharField(help_text="The value of this tag", max_length=1024)
@@ -22,3 +22,16 @@ class Tag(PlCoreBase):
     def __unicode__(self):
         return self.name
 
+
+    def can_update(self, user):
+        if user.is_admin:
+            return True
+        return False
+
+    def save_by_user(self, user, *args, **kwds):
+        if self.can_update(user):
+            super(Tag, self).save(*args, **kwds)
+
+    @staticmethod
+    def select_by_user(user):
+        return Tag.objects.all()