mirror of
https://github.com/jazzband/django-authority.git
synced 2026-03-16 22:20:28 +00:00
Updates to handle custom user model change from Django 1.5
This commit is contained in:
parent
9d8594117d
commit
5a2ea092e6
6 changed files with 33 additions and 5 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -2,3 +2,4 @@
|
|||
*.egg-info
|
||||
*.sql
|
||||
docs/build/*
|
||||
.DS_Store
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib.auth.models import Group
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from authority import permissions, get_choices_for
|
||||
from authority.models import Permission
|
||||
from authority.utils import get_user_class
|
||||
|
||||
|
||||
User = get_user_class()
|
||||
|
||||
|
||||
class BasePermissionForm(forms.ModelForm):
|
||||
codename = forms.CharField(label=_('Permission'))
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
from datetime import datetime
|
||||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.contenttypes import generic
|
||||
|
|
@ -7,6 +8,10 @@ from django.utils.translation import ugettext_lazy as _
|
|||
|
||||
from authority.managers import PermissionManager
|
||||
|
||||
|
||||
USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')
|
||||
|
||||
|
||||
class Permission(models.Model):
|
||||
"""
|
||||
A granular permission model, per-object permission in other words.
|
||||
|
|
@ -18,9 +23,9 @@ class Permission(models.Model):
|
|||
object_id = models.PositiveIntegerField()
|
||||
content_object = generic.GenericForeignKey('content_type', 'object_id')
|
||||
|
||||
user = models.ForeignKey(User, null=True, blank=True, related_name='granted_permissions')
|
||||
user = models.ForeignKey(USER_MODEL, null=True, blank=True, related_name='granted_permissions')
|
||||
group = models.ForeignKey(Group, null=True, blank=True)
|
||||
creator = models.ForeignKey(User, null=True, blank=True, related_name='created_permissions')
|
||||
creator = models.ForeignKey(USER_MODEL, null=True, blank=True, related_name='created_permissions')
|
||||
|
||||
approved = models.BooleanField(_('approved'), default=False, help_text=_("Designates whether the permission has been approved and treated as active. Unselect this instead of deleting permissions."))
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,21 @@
|
|||
from django import template
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.contrib.auth.models import User, AnonymousUser
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from authority import get_check
|
||||
from authority import permissions
|
||||
from authority.models import Permission
|
||||
from authority.forms import UserPermissionForm
|
||||
from authority.utils import get_user_class
|
||||
|
||||
|
||||
register = template.Library()
|
||||
|
||||
User = get_user_class()
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def url_for_obj(view_name, obj):
|
||||
return reverse(view_name, kwargs={
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from django.conf import settings
|
||||
from django.contrib.auth.models import Permission as DjangoPermission
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib.auth.models import Group
|
||||
from django.test import TestCase
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
|
|
@ -8,6 +8,10 @@ import authority
|
|||
from authority import permissions
|
||||
from authority.models import Permission
|
||||
from authority.exceptions import NotAModel, UnsavedModelInstance
|
||||
from authority.utils import get_user_class
|
||||
|
||||
|
||||
User = get_user_class()
|
||||
|
||||
|
||||
class UserPermission(permissions.BasePermission):
|
||||
|
|
|
|||
8
authority/utils.py
Normal file
8
authority/utils.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
from django.contrib import auth
|
||||
|
||||
|
||||
def get_user_class():
|
||||
if hasattr(auth, "get_user_model"):
|
||||
return auth.get_user_model()
|
||||
else:
|
||||
return auth.models.User
|
||||
Loading…
Reference in a new issue