diff options
| author | Christopher Long <indirecthit@gmail.com> | 2006-07-24 23:29:35 +0000 |
|---|---|---|
| committer | Christopher Long <indirecthit@gmail.com> | 2006-07-24 23:29:35 +0000 |
| commit | 8e48efbbd09685f04856bf448d37c4b7a84e8548 (patch) | |
| tree | dc88eb77a4a82685dfc727722de635f5ac0f1a93 | |
| parent | 71dad9e3057f088a6baa97fcec088f55455f5476 (diff) | |
[per-object-permissions] django.db.models.base now adds the row level permission relation when enabled using the meta class
[per-object-permissions] django.db.models.options contains the row level permission option for the meta class, by default the option is false (not enabled)
git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3441 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/db/models/base.py | 5 | ||||
| -rw-r--r-- | django/db/models/options.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index c89033c491..2ea7f65ab2 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -62,6 +62,11 @@ class ModelBase(type): except FieldDoesNotExist: field.contribute_to_class(new_class, field.name) + if getattr(new_class._meta, 'row_level_permissions', None): + from django.contrib.auth.models import RowLevelPermission + gen_rel = django.db.models.GenericRelation(RowLevelPermission, object_id_field="type_id", content_type_field="type_ct") + new_class.add_to_class("row_level_permissions", gen_rel) + new_class._prepare() register_models(new_class._meta.app_label, new_class) diff --git a/django/db/models/options.py b/django/db/models/options.py index ff0d112d16..e96afac16a 100644 --- a/django/db/models/options.py +++ b/django/db/models/options.py @@ -13,7 +13,7 @@ get_verbose_name = lambda class_name: re.sub('(((?<=[a-z])[A-Z])|([A-Z](?![A-Z]| DEFAULT_NAMES = ('verbose_name', 'db_table', 'ordering', 'unique_together', 'permissions', 'get_latest_by', - 'order_with_respect_to', 'app_label') + 'order_with_respect_to', 'app_label', 'row_level_permissions') class Options(object): def __init__(self, meta): @@ -33,6 +33,7 @@ class Options(object): self.has_auto_field = False self.one_to_one_field = None self.parents = [] + self.row_level_permissions = False def contribute_to_class(self, cls, name): cls._meta = self |
