Paginator der besser ins Design passt.
This commit is contained in:
@@ -5,10 +5,11 @@ Created on 19.09.2011
|
||||
"""
|
||||
# import stuff we need from django
|
||||
from django.contrib import admin
|
||||
from membership.models import Membership, ActivationRequest
|
||||
from django.utils.translation import ugettext as _
|
||||
from imagekit.admin import AdminThumbnail
|
||||
|
||||
from membership.models import Membership, ActivationRequest
|
||||
|
||||
|
||||
def activate_user(modeladmin, request, queryset):
|
||||
for activation in queryset:
|
||||
@@ -45,7 +46,8 @@ class MembershipAdmin(admin.ModelAdmin):
|
||||
list_display_links = ('nickname',)
|
||||
fieldsets = (
|
||||
(None, {
|
||||
'fields': ('gender', ('first_name', 'last_name'), ('email', 'website'))
|
||||
'fields': (
|
||||
'gender', ('first_name', 'last_name'), ('email', 'website'))
|
||||
}),
|
||||
(_('Membership'), {
|
||||
'classes': ('collapse',),
|
||||
|
||||
@@ -3,11 +3,12 @@ Created on 03.10.2011
|
||||
|
||||
@author: Christian
|
||||
"""
|
||||
from . import models
|
||||
from django.conf import settings
|
||||
from django.contrib import auth
|
||||
from django.contrib.sites.models import Site
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from . import models
|
||||
from utils.html5 import forms
|
||||
from utils.massmailer import MassMailer
|
||||
|
||||
@@ -26,25 +27,29 @@ class MembershipForm(forms.ModelForm):
|
||||
)
|
||||
|
||||
def clean_birthday(self):
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data['birthday']:
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data[
|
||||
'birthday']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['birthday']
|
||||
|
||||
def clean_telephone(self):
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data['telephone']:
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data[
|
||||
'telephone']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['telephone']
|
||||
|
||||
def clean_street_name(self):
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data['street_name']:
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data[
|
||||
'street_name']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['street_name']
|
||||
|
||||
def clean_post_code(self):
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data['post_code']:
|
||||
if self.cleaned_data['membership'] and not self.cleaned_data[
|
||||
'post_code']:
|
||||
raise forms.ValidationError(_('For your membership, we need this. \
|
||||
Please fill out this field yet.'))
|
||||
return self.cleaned_data['post_code']
|
||||
@@ -103,7 +108,8 @@ class RegistrationForm(forms.ModelForm):
|
||||
"""
|
||||
Validate that the supplied email address is unique for the site.
|
||||
"""
|
||||
if auth.get_user_model().objects.filter(email__iexact=self.cleaned_data['email']):
|
||||
if auth.get_user_model().objects.filter(
|
||||
email__iexact=self.cleaned_data['email']):
|
||||
raise forms.ValidationError(_(u'This email address is already in \
|
||||
use. Please supply a different email address.'))
|
||||
return self.cleaned_data['email']
|
||||
@@ -139,6 +145,7 @@ class RegistrationForm(forms.ModelForm):
|
||||
user.is_active = False
|
||||
if commit:
|
||||
user.save()
|
||||
activation = models.ActivationRequest.objects.create_pending_registration(user)
|
||||
activation = models.ActivationRequest.objects.create_pending_registration(
|
||||
user)
|
||||
self.send_email(activation)
|
||||
return user
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
from membership.models import ActivationRequest
|
||||
|
||||
|
||||
|
||||
@@ -8,11 +8,12 @@ It might help your debugging to know or you might want to contact the user to
|
||||
tell them you have fixed the problem.
|
||||
"""
|
||||
|
||||
from optparse import make_option
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib import auth
|
||||
from django.contrib.sessions.models import Session
|
||||
from django.core.management.base import BaseCommand
|
||||
from optparse import make_option
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
@@ -45,7 +46,8 @@ class Command(BaseCommand):
|
||||
self.stderr.write('Session "%s" does not exist' % session_key)
|
||||
continue
|
||||
except settings.AUTH_USER_MODEL.DoesNotExist:
|
||||
self.stderr.write('Session "%s" has no registed User' % session_key)
|
||||
self.stderr.write(
|
||||
'Session "%s" has no registed User' % session_key)
|
||||
continue
|
||||
if options['delete']:
|
||||
self.stdout.write('deleting %s' % user.username)
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
from . import PAID_MEMBERSHIP_GROUP
|
||||
from datetime import timedelta
|
||||
from os import path
|
||||
import random
|
||||
import hashlib
|
||||
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
@@ -10,10 +13,10 @@ from django.db import models
|
||||
from django.utils.translation import ugettext as _
|
||||
from imagekit.models import ImageSpecField
|
||||
from imagekit.processors import SmartResize
|
||||
from os import path
|
||||
|
||||
from . import PAID_MEMBERSHIP_GROUP
|
||||
from utils import OverwriteStorage
|
||||
import random
|
||||
import hashlib
|
||||
|
||||
|
||||
GENDER_CHOICES = (
|
||||
('m', _('Male')),
|
||||
@@ -150,7 +153,8 @@ class MembershipManager(models.Manager):
|
||||
if user:
|
||||
return super(MembershipManager, self).get(user=user)
|
||||
elif username:
|
||||
return super(MembershipManager, self).get(user__username=username)
|
||||
return super(MembershipManager, self).get(
|
||||
user__username=username)
|
||||
except Membership.DoesNotExist:
|
||||
if username:
|
||||
user = get_user_model().objects.get(username=username)
|
||||
|
||||
@@ -6,14 +6,13 @@
|
||||
{% block teaser %}<h2>{% trans 'profile for' %} {{membership.user.username|title}}</h2>{% endblock %}
|
||||
|
||||
{% block navigation %}
|
||||
{% if kyu_dan_ranking %}
|
||||
<ul id="navigation">
|
||||
<li><a href="{% url 'player-ladder-score' membership.user.username %}">{% trans "Ladder Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-kyu-score' membership.user.username %}">{% trans "Kyu Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-dan-score' membership.user.username %}">{% trans "Dan Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'player-invalid-score' membership.user.username %}">{% trans "Invalid Hanchans" %}</a></li>
|
||||
<li><a href="{% url 'maistar-player-games' membership.user.username %}">{% trans "Mai-Star Games" %}</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block maincontent %}
|
||||
|
||||
@@ -1,28 +1,39 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
{% load i18n fieldset_extras %}
|
||||
{% load url from future %}
|
||||
|
||||
{% block title %}{% trans "Registration"%}{% endblock %}
|
||||
{% block teaser%}
|
||||
<h1>{% trans "Registration"%}</h1>
|
||||
<div id="teaser_text">
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block maincontent %}
|
||||
<div class="grid_5">
|
||||
<h2>{% trans "Registration" %}</h2>
|
||||
<p>{% blocktrans %}
|
||||
After you've provided your account data, you'll receive an email asking you to verify your email address.
|
||||
You have to click on the link in this verification email to confirm your email address, otherwise your can't login.
|
||||
{% endblocktrans %}</p>
|
||||
</div>
|
||||
<form method="post" action="{% url 'membership-register' %}">
|
||||
{% csrf_token %}
|
||||
<fieldset class="grid_5">
|
||||
<legend>{% trans "Name"%}</legend>
|
||||
{% get_fieldset "first_name, last_name, username" from form as form1 %}
|
||||
{% with form1 as form %}{% include "form.html" %}{% endwith %}
|
||||
</fieldset>
|
||||
<fieldset class="grid_7">
|
||||
<legend>{% trans "Security"%}</legend>
|
||||
{% get_fieldset "email, password1, password2, recaptcha" from form as form2 %}
|
||||
{% with form2 as form %}{% include "form.html" %}{% endwith %}
|
||||
</fieldset>
|
||||
|
||||
<form method="post" action="{% url 'membership-register' %}" class="grid_7">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
<legend>{% trans "Registration"%}</legend>
|
||||
{% include "form.html" %}
|
||||
<p class="buttonbar">
|
||||
<button type="reset"><img src="{{STATIC_URL}}icons/arrow_undo.png" alt="{% trans 'reset' %}" /> {% trans 'reset' %}</button>
|
||||
<button type="submit"><img src="{{STATIC_URL}}icons/user_add.png" alt="{% trans 'register' %}" /> {% trans 'register' %}</button>
|
||||
</p>
|
||||
</fieldset>
|
||||
<div class="grid_12">
|
||||
<p>{% blocktrans %}After you've provided your account data, you'll
|
||||
receive an email asking you to verify your email address.
|
||||
You have to click on the link in this verification email to
|
||||
confirm your email address, otherwise your can't login.
|
||||
{% endblocktrans %}</p>
|
||||
<p class="buttonbar">
|
||||
<button type="reset"><img src="{{STATIC_URL}}icons/arrow_undo.png" alt="{% trans 'reset' %}" /> {% trans 'reset' %}</button>
|
||||
<button type="submit"><img src="{{STATIC_URL}}icons/user_add.png" alt="{% trans 'register' %}" /> {% trans 'register' %}</button>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -27,21 +27,4 @@ urlpatterns = patterns(
|
||||
url(r'^(?P<username>[\-\.\d\w]+)/edit/$',
|
||||
views.EditMembership.as_view(),
|
||||
name="membership-edit")
|
||||
)
|
||||
"""
|
||||
urlpatterns += patterns('social_auth.views',
|
||||
url(r'^login/(?P<backend>[^/]+)/$', 'auth',
|
||||
name='socialauth_begin'),
|
||||
url(r'^complete/(?P<backend>[^/]+)/$', 'complete',
|
||||
name='socialauth_complete'),
|
||||
url(r'^associate/(?P<backend>[^/]+)/$', 'auth',
|
||||
name='socialauth_associate_begin'),
|
||||
url(r'^associate/complete/(?P<backend>[^/]+)/$', 'complete',
|
||||
name='socialauth_associate_complete'),
|
||||
url(r'^disconnect/(?P<backend>[^/]+)/$', 'disconnect',
|
||||
name='socialauth_disconnect'),
|
||||
url(r'^disconnect/(?P<backend>[^/]+)/(?P<association_id>[^/]+)/$',
|
||||
'disconnect',
|
||||
name='socialauth_disconnect_individual'),
|
||||
)
|
||||
"""
|
||||
)
|
||||
@@ -9,7 +9,6 @@ from django.contrib.auth import get_user_model
|
||||
|
||||
from mahjong_ranking.models import KyuDanRanking, LadderRanking, LadderSeason
|
||||
from utils import mixins
|
||||
|
||||
from . import forms, models
|
||||
|
||||
|
||||
@@ -49,7 +48,8 @@ class ActivateRegistration(generic.DetailView):
|
||||
|
||||
def login(self, user):
|
||||
backend = auth.get_backends()[0]
|
||||
user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__) # @IgnorePep8
|
||||
user.backend = "%s.%s" % (
|
||||
backend.__module__, backend.__class__.__name__) # @IgnorePep8
|
||||
auth.login(self.request, user)
|
||||
messages.success(self.request, _('Activation successful. \
|
||||
You can now login anytime with you username and password.'))
|
||||
@@ -81,7 +81,8 @@ class MembershipDetail(mixins.LoginRequiredMixin, generic.DetailView):
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
if self.kwargs.get('username'):
|
||||
user = get_object_or_404(get_user_model(), username=self.kwargs['username'])
|
||||
user = get_object_or_404(get_user_model(),
|
||||
username=self.kwargs['username'])
|
||||
return models.Membership.objects.get_or_create(user=user)[0]
|
||||
elif self.request.user.is_authenticated():
|
||||
return models.Membership.objects.get(user=self.request.user)
|
||||
|
||||
Reference in New Issue
Block a user