Kai Diefenbach avatar Kai Diefenbach committed b0dc083

Cleaned up ObjectPermission.

Comments (0)

Files changed (1)

permissions/models.py

         return "%s (%s)" % (self.name, self.codename)
 
 class ObjectPermission(models.Model):
-    """Grants permission for specific user/group and object.
+    """Grants permission for a role and an content object (optional).
 
     **Attributes:**
 
     content = generic.GenericForeignKey(ct_field="content_type", fk_field="content_id")
 
     def __unicode__(self):
-        if self.role:
-            principal = self.role
-        else:
-            principal = self.user
-
-        return "%s / %s / %s - %s" % (self.permission.name, principal, self.content_type, self.content_id)
-
-    def get_principal(self):
-        """Returns the principal.
-        """
-        return self.user or self.group
-
-    def set_principal(self, principal):
-        """Sets the principal.
-        """
-        if isinstance(principal, User):
-            self.user = principal
-        else:
-            self.group = principal
-
-    principal = property(get_principal, set_principal)
+        return "%s / %s / %s - %s" % (self.permission.name, self.role, self.content_type, self.content_id)
 
 class ObjectPermissionInheritanceBlock(models.Model):
     """Blocks the inheritance for specific permission and object.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.