Remove remaining usage of django.contrib.auth.model.User. GitLab issue #225.

This commit is contained in:
Roberto Rosario
2016-03-08 02:21:03 -04:00
parent 5d8dd19895
commit 927c0bf657
11 changed files with 38 additions and 25 deletions

View File

@@ -4,7 +4,7 @@ import os
from django import forms
from django.conf import settings
from django.contrib.auth.models import User
from django.contrib.auth import get_user_model
from django.db import models
from django.utils.html import escape
from django.utils.translation import ugettext_lazy as _
@@ -148,7 +148,7 @@ class UserForm(forms.ModelForm):
"""
class Meta:
model = User
model = get_user_model()
fields = ('username', 'first_name', 'last_name', 'email')
@@ -158,7 +158,7 @@ class UserForm_view(DetailForm):
"""
class Meta:
model = User
model = get_user_model()
fields = (
'username', 'first_name', 'last_name', 'email', 'is_staff',
'is_superuser', 'last_login', 'date_joined', 'groups'

View File

@@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from django.http import HttpResponseRedirect
from django.utils.translation import ugettext_lazy as _
@@ -43,10 +42,7 @@ class AssignRemoveView(ExtraContextMixin, ViewPermissionCheckMixin, ObjectPermis
results = []
for choice in choices:
ct = ContentType.objects.get_for_model(choice)
if isinstance(choice, User):
label = choice.get_full_name() if choice.get_full_name() else choice
else:
label = unicode(choice)
label = unicode(choice)
results.append(('%s,%s' % (ct.model, choice.pk), '%s' % (label)))

View File

@@ -2,7 +2,7 @@ from __future__ import unicode_literals
import logging
from django.contrib.auth.models import User
from django.conf import settings
from django.core.urlresolvers import reverse
from django.db import IntegrityError, models
from django.utils.encoding import python_2_unicode_compatible
@@ -186,7 +186,7 @@ class WorkflowInstanceLogEntry(models.Model):
transition = models.ForeignKey(
WorkflowTransition, verbose_name=_('Transition')
)
user = models.ForeignKey(User, verbose_name=_('User'))
user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('User'))
comment = models.TextField(blank=True, verbose_name=_('Comment'))
def __str__(self):

View File

@@ -5,7 +5,7 @@ import hashlib
import logging
import uuid
from django.contrib.auth.models import User
from django.conf import settings
from django.core.exceptions import PermissionDenied
from django.core.files import File
from django.core.urlresolvers import reverse
@@ -799,7 +799,7 @@ class RecentDocument(models.Model):
a given user
"""
user = models.ForeignKey(
User, db_index=True, editable=False, verbose_name=_('User')
settings.AUTH_USER_MODEL, db_index=True, editable=False, verbose_name=_('User')
)
document = models.ForeignKey(
Document, editable=False, verbose_name=_('Document')
@@ -815,7 +815,7 @@ class RecentDocument(models.Model):
def natural_key(self):
return self.document.natural_key() + self.user.natural_key()
natural_key.dependencies = ['documents.Document', 'auth.User']
natural_key.dependencies = ['documents.Document', settings.AUTH_USER_MODEL]
class Meta:
ordering = ('-datetime_accessed',)

View File

@@ -3,7 +3,7 @@ from __future__ import unicode_literals
import urllib
import urlparse
from django.contrib.auth.models import User
from django.conf import settings
from django.core.urlresolvers import reverse
from django.db import models
from django.utils.encoding import (
@@ -20,7 +20,9 @@ class RecentSearch(models.Model):
Keeps a list of the [n] most recent search keywords for a given user
"""
user = models.ForeignKey(User, editable=False, verbose_name=_('User'))
user = models.ForeignKey(
settings.AUTH_USER_MODEL, editable=False, verbose_name=_('User')
)
query = models.TextField(editable=False, verbose_name=_('Query'))
datetime_created = models.DateTimeField(
auto_now=True, db_index=True, verbose_name=_('Datetime created')

View File

@@ -8,7 +8,6 @@ from django.utils.translation import ugettext_lazy as _
from documents.models import Document
from documents.serializers import DocumentSerializer
from user_management.serializers import UserSerializer
from .models import Folder

View File

@@ -50,6 +50,6 @@ class TagMultipleSelectionForm(forms.Form):
self.fields['tags'] = forms.MultipleChoiceField(
label=_('Tags'), choices=queryset.values_list('id', 'label'),
help_text=_('Tags to attach to the document.'),required=False,
help_text=_('Tags to attach to the document.'), required=False,
widget=forms.CheckboxSelectMultiple
)

View File

@@ -1,7 +1,7 @@
from __future__ import unicode_literals
from django.contrib.auth import get_user_model
from django.contrib.auth.models import User, Group
from django.contrib.auth.models import Group
from django.utils.translation import ugettext_lazy as _
from actstream import registry
@@ -31,6 +31,8 @@ class UserManagementApp(MayanAppConfig):
def ready(self):
super(UserManagementApp, self).ready()
User = get_user_model()
APIEndPoint(app=self, version_string='1')
MetadataLookup(
@@ -39,7 +41,7 @@ class UserManagementApp(MayanAppConfig):
)
MetadataLookup(
description=_('All the users.'), name='users',
value=get_user_model().objects.all()
value=User.objects.all()
)
SourceColumn(

View File

@@ -1,13 +1,13 @@
from __future__ import unicode_literals
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth import get_user_model
from django.utils.translation import ugettext_lazy as _
class UserForm(forms.ModelForm):
class Meta:
model = User
model = get_user_model()
fields = ('username', 'first_name', 'last_name', 'email', 'is_active',)

View File

@@ -1,6 +1,7 @@
from __future__ import unicode_literals
from django.contrib.auth.models import Group, User
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from rest_framework import serializers
@@ -31,7 +32,7 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
'is_active', 'is_superuser', 'last_login', 'last_name',
'password', 'url', 'username',
)
model = User
model = get_user_model()
read_only_fields = ('last_login', 'date_joined')
write_only_fields = ('password',)

View File

@@ -4,6 +4,7 @@ from django.conf import settings
from django.contrib import messages
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse, reverse_lazy
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render_to_response
@@ -72,6 +73,18 @@ class GroupMembersView(AssignRemoveView):
right_list_title = _('Members of groups')
view_permission = permission_group_edit
@staticmethod
def generate_choices(choices):
results = []
for choice in choices:
ct = ContentType.objects.get_for_model(choice)
label = choice.get_full_name() if choice.get_full_name() else choice
results.append(('%s,%s' % (ct.model, choice.pk), '%s' % (label)))
# Sort results by the label not the key value
return sorted(results, key=lambda x: x[1])
def add(self, item):
self.get_object().user_set.add(item)
@@ -85,14 +98,14 @@ class GroupMembersView(AssignRemoveView):
return get_object_or_404(Group, pk=self.kwargs['pk'])
def left_list(self):
return AssignRemoveView.generate_choices(
return GroupMembersView.generate_choices(
get_user_model().objects.exclude(
groups=self.get_object()
).exclude(is_staff=True).exclude(is_superuser=True)
)
def right_list(self):
return AssignRemoveView.generate_choices(
return GroupMembersView.generate_choices(
self.get_object().user_set.all()
)