From 38d0137e2d1efc98e8b9ad45f4d3cc3f18d089b0 Mon Sep 17 00:00:00 2001 From: Stephen Newey Date: Sun, 16 Feb 2014 16:15:37 +0000 Subject: [PATCH] Decouple from Django default user model to allow custom user models. --- runtests.py | 1 - wagtail/wagtailcore/models.py | 5 +++-- wagtail/wagtaildocs/models.py | 3 ++- wagtail/wagtailimages/models.py | 3 ++- wagtail/wagtailusers/views/users.py | 4 +++- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/runtests.py b/runtests.py index 17319cee91..e0789170d2 100755 --- a/runtests.py +++ b/runtests.py @@ -13,7 +13,6 @@ if not settings.configured: 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'wagtaildemo', - 'USER': 'postgres', } }, ROOT_URLCONF='wagtail.tests.urls', diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index aaeceea255..6665433a80 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -10,6 +10,7 @@ from django.shortcuts import render from django.core.cache import cache from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import Group +from django.conf import settings from wagtail.wagtailcore.util import camelcase_to_underscore @@ -164,7 +165,7 @@ class Page(MP_Node, ClusterableModel, Indexed): live = models.BooleanField(default=True, editable=False) has_unpublished_changes = models.BooleanField(default=False, editable=False) url_path = models.CharField(max_length=255, blank=True, editable=False) - owner = models.ForeignKey('auth.User', null=True, blank=True, editable=False, related_name='owned_pages') + owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, editable=False, related_name='owned_pages') seo_title = models.CharField("Page title", max_length=255, blank=True, help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.") show_in_menus = models.BooleanField(default=False, help_text="Whether a link to this page will appear in automatically generated menus") @@ -543,7 +544,7 @@ class PageRevision(models.Model): page = models.ForeignKey('Page', related_name='revisions') submitted_for_moderation = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) - user = models.ForeignKey('auth.User', null=True, blank=True) + user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True) content_json = models.TextField() objects = models.Manager() diff --git a/wagtail/wagtaildocs/models.py b/wagtail/wagtaildocs/models.py index 8d69ad14ae..1938961f90 100644 --- a/wagtail/wagtaildocs/models.py +++ b/wagtail/wagtaildocs/models.py @@ -6,6 +6,7 @@ from django.db import models from django.db.models.signals import pre_delete from django.dispatch.dispatcher import receiver from django.core.urlresolvers import reverse +from django.conf import settings from wagtail.wagtailadmin.taggable import TagSearchable @@ -14,7 +15,7 @@ class Document(models.Model, TagSearchable): title = models.CharField(max_length=255) file = models.FileField(upload_to='documents') created_at = models.DateTimeField(auto_now_add=True) - uploaded_by_user = models.ForeignKey('auth.User', null=True, blank=True, editable=False) + uploaded_by_user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, editable=False) tags = TaggableManager(help_text=None, blank=True) diff --git a/wagtail/wagtailimages/models.py b/wagtail/wagtailimages/models.py index af28b40336..96972b6a6f 100644 --- a/wagtail/wagtailimages/models.py +++ b/wagtail/wagtailimages/models.py @@ -11,6 +11,7 @@ from django.db.models.signals import pre_delete from django.dispatch.dispatcher import receiver from django.utils.safestring import mark_safe from django.utils.html import escape +from django.conf import settings from wagtail.wagtailadmin.taggable import TagSearchable from wagtail.wagtailimages import image_ops @@ -40,7 +41,7 @@ class AbstractImage(models.Model, TagSearchable): width = models.IntegerField(editable=False) height = models.IntegerField(editable=False) created_at = models.DateTimeField(auto_now_add=True) - uploaded_by_user = models.ForeignKey('auth.User', null=True, blank=True, editable=False) + uploaded_by_user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, editable=False) tags = TaggableManager(help_text=None, blank=True) diff --git a/wagtail/wagtailusers/views/users.py b/wagtail/wagtailusers/views/users.py index b871b14e3a..374f380c31 100644 --- a/wagtail/wagtailusers/views/users.py +++ b/wagtail/wagtailusers/views/users.py @@ -1,5 +1,5 @@ from django.shortcuts import render, redirect, get_object_or_404 -from django.contrib.auth.models import User +from django.contrib.auth import get_user_model from django.contrib.auth.decorators import permission_required from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.contrib import messages @@ -8,6 +8,8 @@ from django.db.models import Q from wagtail.wagtailadmin.forms import SearchForm from wagtail.wagtailusers.forms import UserCreationForm, UserEditForm +User = get_user_model() + @permission_required('auth.change_user') def index(request): q = None