Vereinfachung Membership ist nun ein custom login model, keine Abhängikeiten mehr zu auth.User.
absofort können alle Benutzer ins Ranking eingetragen werden und nicht mehr nur "zahlende Mitglieder".
This commit is contained in:
committed by
Christian Berg
parent
b96b485b61
commit
bafbf38612
@@ -7,7 +7,8 @@ import hashlib
|
||||
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib import auth
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext as _
|
||||
@@ -32,7 +33,7 @@ def get_upload_path(instance, filename):
|
||||
@param filename: the filename of the uploaded image
|
||||
"""
|
||||
extension = path.splitext(filename)[1]
|
||||
return 'membership/%s%s' % (instance.user.username, extension)
|
||||
return 'membership/%s%s' % (instance.username, extension)
|
||||
|
||||
|
||||
class ActivationManager(models.Manager):
|
||||
@@ -139,7 +140,7 @@ class ActivationRequest(models.Model):
|
||||
def username(self):
|
||||
return self.user.username
|
||||
|
||||
|
||||
'''
|
||||
class MembershipManager(models.Manager):
|
||||
def get(self, user=None, username=None, **kwargs):
|
||||
"""
|
||||
@@ -150,7 +151,7 @@ class MembershipManager(models.Manager):
|
||||
"""
|
||||
try:
|
||||
if username and not user:
|
||||
user = get_user_model().objects.get(username=username)
|
||||
user = auth.get_user_model().objects.get(username=username)
|
||||
return super(MembershipManager, self).get(user=user)
|
||||
except Membership.DoesNotExist:
|
||||
membership = Membership(
|
||||
@@ -162,19 +163,19 @@ class MembershipManager(models.Manager):
|
||||
)
|
||||
membership.save()
|
||||
return membership
|
||||
'''
|
||||
|
||||
|
||||
class Membership(models.Model):
|
||||
user = models.OneToOneField(settings.AUTH_USER_MODEL)
|
||||
nickname = models.SlugField(_('Nickname'), unique=True)
|
||||
class Membership(AbstractUser):
|
||||
# user = models.OneToOneField(settings.AUTH_USER_MODEL)
|
||||
# nickname = models.SlugField(_('Nickname'), unique=True)
|
||||
gender = models.CharField(
|
||||
_("Gender"),
|
||||
max_length=1,
|
||||
choices=GENDER_CHOICES
|
||||
)
|
||||
first_name = models.CharField(_("Given Name"), max_length=30)
|
||||
last_name = models.CharField(_("Last Name"), max_length=30)
|
||||
email = models.EmailField(_('Email'), unique=True)
|
||||
# first_name = models.CharField(_("Given Name"), max_length=30)
|
||||
# last_name = models.CharField(_("Last Name"), max_length=30)
|
||||
# email = models.EmailField(_('Email'), unique=True)
|
||||
website = models.URLField(blank=True)
|
||||
avatar = models.ImageField(
|
||||
upload_to=get_upload_path,
|
||||
@@ -226,7 +227,7 @@ class Membership(models.Model):
|
||||
help_text=_('This person has paid the membership fee.')
|
||||
)
|
||||
comment = models.TextField(blank=True)
|
||||
objects = MembershipManager()
|
||||
# objects = MembershipManager()
|
||||
|
||||
thumbnail = ImageSpecField(
|
||||
processors=[SmartResize(width=60, height=60)],
|
||||
@@ -242,15 +243,17 @@ class Membership(models.Model):
|
||||
|
||||
class Meta(object):
|
||||
ordering = ('last_name', 'first_name',)
|
||||
swappable = 'AUTH_USER_MODEL'
|
||||
verbose_name = _('Membership')
|
||||
verbose_name_plural = _('Memberships')
|
||||
|
||||
def __unicode__(self):
|
||||
return _('Userprofile for %s' % self.user.username)
|
||||
return self.username
|
||||
|
||||
def clean(self):
|
||||
|
||||
# Update the Profile Info from the User Object
|
||||
'''
|
||||
if not self.nickname:
|
||||
self.nickname = self.user.username
|
||||
if not self.first_name:
|
||||
@@ -259,23 +262,24 @@ class Membership(models.Model):
|
||||
self.last_name = self.user.last_name
|
||||
if not self.email:
|
||||
self.email = self.user.email
|
||||
'''
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse(
|
||||
'membership-details',
|
||||
kwargs={'username': self.user.username}
|
||||
kwargs={'username': self.username}
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super(Membership, self).save(*args, **kwargs)
|
||||
'''
|
||||
self.user.username = self.nickname
|
||||
self.user.first_name = self.first_name
|
||||
self.user.last_name = self.last_name
|
||||
self.user.email = self.email
|
||||
'''
|
||||
|
||||
if self.confirmed:
|
||||
self.user.groups.add(PAID_MEMBERSHIP_GROUP)
|
||||
self.groups.add(PAID_MEMBERSHIP_GROUP)
|
||||
else:
|
||||
self.user.groups.remove(PAID_MEMBERSHIP_GROUP)
|
||||
|
||||
self.user.save()
|
||||
self.groups.remove(PAID_MEMBERSHIP_GROUP)
|
||||
|
||||
Reference in New Issue
Block a user