summaryrefslogtreecommitdiff
path: root/django/contrib/auth/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/auth/models.py')
-rw-r--r--django/contrib/auth/models.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index 2fc889ec79..5856840ddd 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -73,9 +73,11 @@ class RowLevelPermissionManager(models.Manager):
return ret_dict
class RowLevelPermission(models.Model):
- """ Similiar to permissions but works on instances of objects instead of types.
+ """
+ Similiar to permissions but works on instances of objects instead of types.
This uses generic relations to minimize the number of tables, and connects to the
permissions table using a many to one relation.
+
"""
model_id = models.PositiveIntegerField("'Model' ID")
model_ct = models.ForeignKey(ContentType, verbose_name="'Model' content type", related_name="model_ct")
@@ -93,7 +95,9 @@ class RowLevelPermission(models.Model):
verbose_name = _('row level permission')
verbose_name_plural = _('row level permissions')
unique_together = (('model_ct', 'model_id', 'owner_id', 'owner_ct', 'permission'),)
-
+
+ class Admin:
+ hidden = True
def __str__(self):
return "%s | %s:%s | %s:%s" % (self.permission, self.owner_ct, self.owner, self.model_ct, self.model)
@@ -319,6 +323,7 @@ class User(models.Model):
if self.is_superuser:
return True
if object and object._meta.row_level_permissions:
+ #Since we use the content type for row level perms, we don't need the application name
permission_str = perm[perm.index('.')+1:]
row_level_permission = self.check_row_level_permission(permission_str, object)
if row_level_permission is not None: