summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWookey <wookey@wookware.org>2015-06-10 23:52:49 +0100
committerWookey <wookey@wookware.org>2015-06-10 23:52:49 +0100
commitcad8001bd04861ebbcfee6ccf5947cd90afac5ac (patch)
tree287a6f9abd6fe992593f3094326e73d222ace451
parentd1ffa6fa1fd8e5c9c04cd1ea16fa91159244f2b2 (diff)
downloadtroggle-cad8001bd04861ebbcfee6ccf5947cd90afac5ac.tar.gz
troggle-cad8001bd04861ebbcfee6ccf5947cd90afac5ac.tar.bz2
troggle-cad8001bd04861ebbcfee6ccf5947cd90afac5ac.zip
Use django-registration, not a local copy.
This old one is uses deprecated hashcompat.
-rw-r--r--registration/__init__.py0
-rw-r--r--registration/admin.py11
-rw-r--r--registration/forms.py133
-rw-r--r--registration/locale/ar/LC_MESSAGES/django.mobin2135 -> 0 bytes
-rw-r--r--registration/locale/ar/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/bg/LC_MESSAGES/django.mobin2302 -> 0 bytes
-rw-r--r--registration/locale/bg/LC_MESSAGES/django.po78
-rw-r--r--registration/locale/de/LC_MESSAGES/django.mobin1909 -> 0 bytes
-rw-r--r--registration/locale/de/LC_MESSAGES/django.po85
-rw-r--r--registration/locale/el/LC_MESSAGES/django.mobin2424 -> 0 bytes
-rw-r--r--registration/locale/el/LC_MESSAGES/django.po84
-rw-r--r--registration/locale/en/LC_MESSAGES/django.mobin367 -> 0 bytes
-rw-r--r--registration/locale/en/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/es/LC_MESSAGES/django.mobin1909 -> 0 bytes
-rw-r--r--registration/locale/es/LC_MESSAGES/django.po85
-rw-r--r--registration/locale/es_AR/LC_MESSAGES/django.mobin1849 -> 0 bytes
-rw-r--r--registration/locale/es_AR/LC_MESSAGES/django.po83
-rw-r--r--registration/locale/fr/LC_MESSAGES/django.mobin1883 -> 0 bytes
-rw-r--r--registration/locale/fr/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/he/LC_MESSAGES/django.mobin1896 -> 0 bytes
-rw-r--r--registration/locale/he/LC_MESSAGES/django.po86
-rw-r--r--registration/locale/it/LC_MESSAGES/django.mobin1864 -> 0 bytes
-rw-r--r--registration/locale/it/LC_MESSAGES/django.po82
-rw-r--r--registration/locale/ja/LC_MESSAGES/django.mobin2035 -> 0 bytes
-rw-r--r--registration/locale/ja/LC_MESSAGES/django.po78
-rw-r--r--registration/locale/nl/LC_MESSAGES/django.mobin1898 -> 0 bytes
-rw-r--r--registration/locale/nl/LC_MESSAGES/django.po77
-rw-r--r--registration/locale/pl/LC_MESSAGES/django.mobin1769 -> 0 bytes
-rw-r--r--registration/locale/pl/LC_MESSAGES/django.po84
-rw-r--r--registration/locale/pt_BR/LC_MESSAGES/django.mobin1796 -> 0 bytes
-rw-r--r--registration/locale/pt_BR/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/ru/LC_MESSAGES/django.mobin2360 -> 0 bytes
-rw-r--r--registration/locale/ru/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/sr/LC_MESSAGES/django.mobin1966 -> 0 bytes
-rw-r--r--registration/locale/sr/LC_MESSAGES/django.po80
-rw-r--r--registration/locale/sv/LC_MESSAGES/django.mobin1687 -> 0 bytes
-rw-r--r--registration/locale/sv/LC_MESSAGES/django.po81
-rw-r--r--registration/locale/zh_CN/LC_MESSAGES/django.mobin1669 -> 0 bytes
-rw-r--r--registration/locale/zh_CN/LC_MESSAGES/django.po77
-rw-r--r--registration/locale/zh_TW/LC_MESSAGES/django.mobin1669 -> 0 bytes
-rw-r--r--registration/locale/zh_TW/LC_MESSAGES/django.po77
-rw-r--r--registration/management/__init__.py0
-rw-r--r--registration/management/commands/__init__.py0
-rw-r--r--registration/management/commands/cleanupregistration.py19
-rw-r--r--registration/models.py262
-rw-r--r--registration/signals.py8
-rw-r--r--registration/tests.py335
-rw-r--r--registration/urls.py72
-rw-r--r--registration/views.py170
49 files changed, 0 insertions, 2552 deletions
diff --git a/registration/__init__.py b/registration/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/registration/__init__.py
+++ /dev/null
diff --git a/registration/admin.py b/registration/admin.py
deleted file mode 100644
index 3f36c18..0000000
--- a/registration/admin.py
+++ /dev/null
@@ -1,11 +0,0 @@
-from django.contrib import admin
-
-from registration.models import RegistrationProfile
-
-
-class RegistrationAdmin(admin.ModelAdmin):
- list_display = ('__unicode__', 'activation_key_expired')
- search_fields = ('user__username', 'user__first_name')
-
-
-admin.site.register(RegistrationProfile, RegistrationAdmin)
diff --git a/registration/forms.py b/registration/forms.py
deleted file mode 100644
index ad00187..0000000
--- a/registration/forms.py
+++ /dev/null
@@ -1,133 +0,0 @@
-"""
-Forms and validation code for user registration.
-
-"""
-
-
-from django.contrib.auth.models import User
-from django import forms
-from django.utils.translation import ugettext_lazy as _
-
-from registration.models import RegistrationProfile
-
-
-# I put this on all required fields, because it's easier to pick up
-# on them with CSS or JavaScript if they have a class of "required"
-# in the HTML. Your mileage may vary. If/when Django ticket #3515
-# lands in trunk, this will no longer be necessary.
-# This was fixed in 2007, so I guess we don't need this any more. [W]
-attrs_dict = { 'class': 'required' }
-
-
-class RegistrationForm(forms.Form):
- """
- Form for registering a new user account.
-
- Validates that the requested username is not already in use.
-
- Subclasses should feel free to add any additional validation they
- need, but should either preserve the base ``save()`` or implement
- a ``save()`` method which returns a ``User``.
-
- """
- username = forms.RegexField(regex=r'^\w+$',
- max_length=30,
- widget=forms.TextInput(attrs=attrs_dict),
- label=_(u'username'))
- email = forms.EmailField(widget=forms.TextInput(attrs=dict(attrs_dict,
- maxlength=75)),
- label=_(u'email address'))
- password1 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict, render_value=False),
- label=_(u'password'))
-
-
- def clean_username(self):
- """
- Validate that the username is alphanumeric and is not already
- in use.
-
- """
- try:
- user = User.objects.get(username__iexact=self.cleaned_data['username'])
- except User.DoesNotExist:
- return self.cleaned_data['username']
- raise forms.ValidationError(_(u'This username is already taken. Please choose another.'))
-
- def clean(self):
- """
- Verifiy that the values entered into the two password fields
- match. Note that an error here will end up in
- ``non_field_errors()`` because it doesn't apply to a single
- field.
-
- """
- if 'password1' in self.cleaned_data:
- if len(self.cleaned_data['password1']) < 6:
- raise forms.ValidationError(_(u'Your password must be at least 6 characters'))
- return self.cleaned_data
-
- def save(self):
- """
- Create the new ``User`` and ``RegistrationProfile``, and
- returns the ``User`` (by calling
- ``RegistrationProfile.objects.create_inactive_user()``).
-
- """
- new_user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'],
- password=self.cleaned_data['password1'],
- email=self.cleaned_data['email'])
- return new_user
-
-
-class RegistrationFormTermsOfService(RegistrationForm):
- """
- Subclass of ``RegistrationForm`` which adds a required checkbox
- for agreeing to a site's Terms of Service.
-
- """
- tos = forms.BooleanField(widget=forms.CheckboxInput(attrs=attrs_dict),
- label=_(u'I have read and agree to the Terms of Service'),
- error_messages={ 'required': u"You must agree to the terms to register" })
-
-
-class RegistrationFormUniqueEmail(RegistrationForm):
- """
- Subclass of ``RegistrationForm`` which enforces uniqueness of
- email addresses.
-
- """
- def clean_email(self):
- """
- Validate that the supplied email address is unique for the
- site.
-
- """
- if User.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']
-
-
-class RegistrationFormNoFreeEmail(RegistrationForm):
- """
- Subclass of ``RegistrationForm`` which disallows registration with
- email addresses from popular free webmail services; moderately
- useful for preventing automated spam registrations.
-
- To change the list of banned domains, subclass this form and
- override the attribute ``bad_domains``.
-
- """
- bad_domains = ['aim.com', 'aol.com', 'email.com', 'gmail.com',
- 'googlemail.com', 'hotmail.com', 'hushmail.com',
- 'msn.com', 'mail.ru', 'mailinator.com', 'live.com']
-
- def clean_email(self):
- """
- Check the supplied email address against a list of known free
- webmail domains.
-
- """
- email_domain = self.cleaned_data['email'].split('@')[1]
- if email_domain in self.bad_domains:
- raise forms.ValidationError(_(u'Registration using free email addresses is prohibited. Please supply a different email address.'))
- return self.cleaned_data['email']
diff --git a/registration/locale/ar/LC_MESSAGES/django.mo b/registration/locale/ar/LC_MESSAGES/django.mo
deleted file mode 100644
index 07bc79f..0000000
--- a/registration/locale/ar/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/ar/LC_MESSAGES/django.po b/registration/locale/ar/LC_MESSAGES/django.po
deleted file mode 100644
index dd61869..0000000
--- a/registration/locale/ar/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "اسم المستخدم"
-
-#: forms.py:41
-msgid "email address"
-msgstr "عنوان البريد الالكتروني"
-
-#: forms.py:43
-msgid "password"
-msgstr "كلمة المرور"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "تأكيد كلمة المرور"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "يمكن أن يحتوي اسم المستخدم على احرف، ارقام وشرطات سطرية فقط"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "اسم المستخدم مسجل مسبقا. يرجى اختيار اسم اخر."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "يجب ادخال كلمة المرور مطابقة كل مرة"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "أقر بقراءة والموافقة على شروط الخدمة"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "يجب الموافقة على الشروط للتسجيل"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "عنوان البريد الالكتروني مسجل مسبقا. يرجى تزويد عنوان بريد الكتروني مختلف."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "يمنع التسجيل باستخدام عناوين بريد الكترونية مجانية. يرجى تزويد عنوان بريد الكتروني مختلف."
-
-#: models.py:188
-msgid "user"
-msgstr "مستخدم"
-
-#: models.py:189
-msgid "activation key"
-msgstr "رمز التفعيل"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "ملف التسجيل الشخصي"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "ملفات التسجيل الشخصية"
diff --git a/registration/locale/bg/LC_MESSAGES/django.mo b/registration/locale/bg/LC_MESSAGES/django.mo
deleted file mode 100644
index be9adf4..0000000
--- a/registration/locale/bg/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/bg/LC_MESSAGES/django.po b/registration/locale/bg/LC_MESSAGES/django.po
deleted file mode 100644
index 5089ec1..0000000
--- a/registration/locale/bg/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,78 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2008-03-05 12:37+0200\n"
-"Last-Translator: Vladislav <vladislav.mitov@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Bookmarks: -1,-1,-1,-1,10,-1,-1,-1,-1,-1\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "Потребителско име "
-
-#: forms.py:41
-msgid "email address"
-msgstr "Електронна поща"
-
-#: forms.py:43
-msgid "password"
-msgstr "Парола"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "Парола (проверка)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Потребителските имена могат да съдържат букви, цифри и подчертавки"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Потребителското име е заето. Моля изберето друго."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Грешка при проверка на паролата."
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Прочел съм и съм съгласен с условията за експлоатация"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Трябва да сте съгласни с условията за да се регистрирате."
-
-#: forms.py:124
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "Адреса на електронната поща е използван. Моля въведете друг адрес."
-
-#: forms.py:149
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "Регистрациите с безплатни адреси е забранен. Моля въведете различен адрес за електронна поща"
-
-#: models.py:188
-msgid "user"
-msgstr "Потребител"
-
-#: models.py:189
-msgid "activation key"
-msgstr "Ключ за активация"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "регистрационен профил"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "регистрационни профили"
-
diff --git a/registration/locale/de/LC_MESSAGES/django.mo b/registration/locale/de/LC_MESSAGES/django.mo
deleted file mode 100644
index b9bc1fa..0000000
--- a/registration/locale/de/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/de/LC_MESSAGES/django.po b/registration/locale/de/LC_MESSAGES/django.po
deleted file mode 100644
index 96e00ee..0000000
--- a/registration/locale/de/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,85 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Jannis Leidel <jannis@leidel.info>, 2007.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: django-registration 0.3 \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2007-09-29 16:50+0200\n"
-"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
-"Language-Team: Deutsch <de@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "Benutzername"
-
-#: forms.py:41
-msgid "email address"
-msgstr "E-Mail-Adresse"
-
-#: forms.py:43
-msgid "password"
-msgstr "Passwort"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "Passwort (wiederholen)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Benutzernamen können nur Buchstaben, Zahlen und Unterstriche enthalten"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Dieser Benutzername ist schon vergeben. Bitte einen anderen wählen."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Bitte das gleiche Passwort zur Überprüfung nochmal eingeben"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Ich habe die Nutzungsvereinbarung gelesen und stimme ihr zu"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Sie müssen der Nutzungsvereinbarung zustimmen, um sich zu registrieren"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr ""
-"Diese E-Mail-Adresse wird schon genutzt. Bitte geben Sie eine andere "
-"E-Mail-Adresse an."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-"Die Registrierung mit einer kostenlosen E-Mail-Adresse ist untersagt. Bitte "
-"geben Sie eine andere E-Mail-Adresse an."
-
-#: models.py:188
-msgid "user"
-msgstr "Benutzer"
-
-#: models.py:189
-msgid "activation key"
-msgstr "Aktivierungsschlüssel"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "Registrierungsprofil"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "Registrierungsprofile"
diff --git a/registration/locale/el/LC_MESSAGES/django.mo b/registration/locale/el/LC_MESSAGES/django.mo
deleted file mode 100644
index acc9726..0000000
--- a/registration/locale/el/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/el/LC_MESSAGES/django.po b/registration/locale/el/LC_MESSAGES/django.po
deleted file mode 100644
index cd38eb1..0000000
--- a/registration/locale/el/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,84 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Panos Laganakos <panos.laganakos@gmail.com>, 2007.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2007-11-14 21:50+0200\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "όνομα χρήστη"
-
-#: forms.py:41
-msgid "email address"
-msgstr "διεύθυνση ηλεκτρονικού ταχυδρομείου"
-
-#: forms.py:43
-msgid "password"
-msgstr "συνθηματικό"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "συνθηματικό (ξανά)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Τα ονόματα χρηστών μπορούν να περιλαμβάνουν μόνο γράμματα, αριθμούς και υπογραμμίσεις"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Αυτό το όνομα χρήστη χρησιμοποίειται ήδη. Παρακαλώ διαλέξτε ένα άλλο."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Πρέπει να εισάγετε το ίδιο συνθηματικό κάθε φορά"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Διάβασα και συμφωνώ με τους Όρους της Υπηρεσίας"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Πρέπει να συμφωνείται με τους όρους για να εγγραφείτε"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr ""
-"Η συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου χρησιμοποιείται ήδη. "
-"Παρακαλώ δώστε κάποια άλλη."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-"Η εγγραφή μέσω δωρεάν διευθύνσεων ηλεκτρονικού ταχυδρομείου απαγορεύεται. ""Παρακαλώ δώστε κάποια άλλη."
-
-#: models.py:188
-msgid "user"
-msgstr "χρήστης"
-
-#: models.py:189
-msgid "activation key"
-msgstr "κλειδί ενεργοποίησης"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "προφίλ εγγραφής"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "προφίλ εγγραφών"
diff --git a/registration/locale/en/LC_MESSAGES/django.mo b/registration/locale/en/LC_MESSAGES/django.mo
deleted file mode 100644
index 4728fe0..0000000
--- a/registration/locale/en/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/en/LC_MESSAGES/django.po b/registration/locale/en/LC_MESSAGES/django.po
deleted file mode 100644
index 37bc9e2..0000000
--- a/registration/locale/en/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr ""
-
-#: forms.py:41
-msgid "email address"
-msgstr ""
-
-#: forms.py:43
-msgid "password"
-msgstr ""
-
-#: forms.py:45
-msgid "password (again)"
-msgstr ""
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr ""
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr ""
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr ""
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr ""
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr ""
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr ""
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-
-#: models.py:188
-msgid "user"
-msgstr ""
-
-#: models.py:189
-msgid "activation key"
-msgstr ""
-
-#: models.py:194
-msgid "registration profile"
-msgstr ""
-
-#: models.py:195
-msgid "registration profiles"
-msgstr ""
diff --git a/registration/locale/es/LC_MESSAGES/django.mo b/registration/locale/es/LC_MESSAGES/django.mo
deleted file mode 100644
index 3872adf..0000000
--- a/registration/locale/es/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/es/LC_MESSAGES/django.po b/registration/locale/es/LC_MESSAGES/django.po
deleted file mode 100644
index ba0384f..0000000
--- a/registration/locale/es/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,85 +0,0 @@
-# Spanish translation for django-registration.
-# Copyright (C) 2007, James Bennet
-# This file is distributed under the same license as the registration package.
-# Ernesto Rico Schmidt <e.rico.schmidt@gmail.com>, 2008.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: django-registration 0.3 \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-11 00:19-0400\n"
-"PO-Revision-Date: 2008-03-11 00:19-0400\n"
-"Last-Translator: Ernesto Rico Schmidt <e.rico.schmidt@gmail.com>\n"
-"Language-Team: Español <de@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "nombre de usuario"
-
-#: forms.py:41
-msgid "email address"
-msgstr "dirección de coreo electrónico"
-
-#: forms.py:43
-msgid "password"
-msgstr "contraseña"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "contraseña (otra vez)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Los nombres de usuarios sólo pueden contener letras, números y guiones bajos"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Este nombre de usuario ya está ocupado. Por favor escoge otro"
-
-#: forms.py:71
-msgid "You must type the same password each time"
-msgstr "Tienes que introducir la misma contraseña cada vez"
-
-#: forms.py:100
-msgid "I have read and agree to the Terms of Service"
-msgstr "He leído y acepto los términos de servicio"
-
-#: forms.py:109
-msgid "You must agree to the terms to register"
-msgstr "Tienes que aceptar los términos para registrarte"
-
-#: forms.py:128
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr ""
-"La dirección de correo electrónico ya está siendo usada. Por favor"
-"proporciona otra dirección."
-
-#: forms.py:153
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-"El registro usando una dirección de correo electrónico gratis está prohibido."
-"Por favor proporciona otra dirección."
-
-#: models.py:188
-msgid "user"
-msgstr "usuario"
-
-#: models.py:189
-msgid "activation key"
-msgstr "clave de activación"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "perfil de registro"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "perfiles de registro"
diff --git a/registration/locale/es_AR/LC_MESSAGES/django.mo b/registration/locale/es_AR/LC_MESSAGES/django.mo
deleted file mode 100644
index ce8b4e5..0000000
--- a/registration/locale/es_AR/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/es_AR/LC_MESSAGES/django.po b/registration/locale/es_AR/LC_MESSAGES/django.po
deleted file mode 100644
index fb746b5..0000000
--- a/registration/locale/es_AR/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,83 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) 2008 Leonardo Manuel Rocha
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <l e o m a r o at g m a i l dot c o m>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "nombre de usuario"
-
-#: forms.py:41
-msgid "email address"
-msgstr "dirección de e-mail"
-
-#: forms.py:43
-msgid "password"
-msgstr "contraseña"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "contraseña (nuevamente)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "El nombre de usuario solo puede contener letras, números y guiones bajos"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Ese nombre de usuario ya está asignado. Por favor elija otro."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Debe tipear la misma contraseña cada vez"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "He leído y estoy de acuerdo con las Condiciones de Servicio"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Debe estar de acuerdo con las Condiciones para poder registrarse"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Esa dirección de e-mail ya está en uso. Por favor provea otra "
-"dirección."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "La registración con un e-mail gratuito está prohibida. Por favor "
-"de una dirección de e-mail diferente."
-
-#: models.py:188
-msgid "user"
-msgstr "usuario"
-
-#: models.py:189
-msgid "activation key"
-msgstr "clave de activación"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "perfil de registro"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "perfiles de registro"
diff --git a/registration/locale/fr/LC_MESSAGES/django.mo b/registration/locale/fr/LC_MESSAGES/django.mo
deleted file mode 100644
index f8911c7..0000000
--- a/registration/locale/fr/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/fr/LC_MESSAGES/django.po b/registration/locale/fr/LC_MESSAGES/django.po
deleted file mode 100644
index 34b520b..0000000
--- a/registration/locale/fr/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Samuel Adam <samuel.adam@gmail.com>, 2007.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: django-registration 0.3 \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2007-09-20 10:30+0100\n"
-"Last-Translator: Samuel Adam <samuel.adam@gmail.com>\n"
-"Language-Team: Français <fr@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "pseudo"
-
-#: forms.py:41
-msgid "email address"
-msgstr "adresse email"
-
-#: forms.py:43
-msgid "password"
-msgstr "mot de passe"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "mot de passe (vérification)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Le pseudo ne peut contenir que des lettres, chiffres et le caractère souligné."
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Ce pseudo est déjà utilisé. Veuillez en choisir un autre."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Veuillez indiquer le même mot de passe dans les deux champs"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "J'ai lu et accepté les Conditions Générales d'Utilisation"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Vous devez accepter les conditions d'utilisation pour vous inscrire"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Cette adresse email est déjà utilisée. Veuillez en indiquer une autre."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "L'inscription avec une adresse email d'un compte gratuit est interdite. Veuillez en indiquer une autre."
-
-#: models.py:188
-msgid "user"
-msgstr "utilisateur"
-
-#: models.py:189
-msgid "activation key"
-msgstr "clé d'activation"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "profil d'inscription"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "profils d'inscription"
diff --git a/registration/locale/he/LC_MESSAGES/django.mo b/registration/locale/he/LC_MESSAGES/django.mo
deleted file mode 100644
index be93650..0000000
--- a/registration/locale/he/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/he/LC_MESSAGES/django.po b/registration/locale/he/LC_MESSAGES/django.po
deleted file mode 100644
index 5567e08..0000000
--- a/registration/locale/he/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,86 +0,0 @@
-# translation of registration.
-# Copyright (C) 2008 THE registration'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the registration package.
-# <>, 2008.
-# , fuzzy
-# <>, 2008.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: registration\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-10 02:01+0200\n"
-"PO-Revision-Date: 2008-02-10 02:05+0200\n"
-"Last-Translator: Meir Kriheli <meir@mksoft.co.il>\n"
-"Language-Team: Hebrew\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit"
-
-#: forms.py:38
-msgid "username"
-msgstr "שם משתמש"
-
-#: forms.py:41
-msgid "email address"
-msgstr "דואר אלקטרוני"
-
-#: forms.py:43
-msgid "password"
-msgstr "סיסמה"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "סיסמה (שוב)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "שמות משתמש יכולים להכיל רק אותיות, ספרות וקווים תחתונים"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "שם המשתמש תפוס כבר. נא לבחור אחר."
-
-#: forms.py:64
-msgid "You must type the same password each time"
-msgstr "יש להקליד את אותה הסיסמה פעמיים"
-
-#: forms.py:93
-msgid "I have read and agree to the Terms of Service"
-msgstr "קראתי והסכמתי לתנאי השימוש"
-
-#: forms.py:102
-msgid "You must agree to the terms to register"
-msgstr "עליך להסכים לתנאי השימוש"
-
-#: forms.py:121
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr ""
-"כתובת הדואר האלקטרוני תפוסה כבר. נא לספק כתובת דואר אחרת."
-
-#: forms.py:146
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-"הרישום בעזרת תיבת דואר אלקטרוני חינמית אסור. נא לספק כתובת אחרת."
-
-#: models.py:188
-msgid "user"
-msgstr "משתמש"
-
-#: models.py:189
-msgid "activation key"
-msgstr "מפתח הפעלה"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "פרופיל רישום"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "פרופילי רישום"
-
diff --git a/registration/locale/it/LC_MESSAGES/django.mo b/registration/locale/it/LC_MESSAGES/django.mo
deleted file mode 100644
index 83ec9dd..0000000
--- a/registration/locale/it/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/it/LC_MESSAGES/django.po b/registration/locale/it/LC_MESSAGES/django.po
deleted file mode 100644
index 00129b0..0000000
--- a/registration/locale/it/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,82 +0,0 @@
-# translation of django.po to Italiano
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Nicola Larosa <nico@tekNico.net>, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: django\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2008-05-27 15:05+0200\n"
-"Last-Translator: Nicola Larosa <nico@tekNico.net>\n"
-"Language-Team: Italiano\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "nome utente"
-
-#: forms.py:41
-msgid "email address"
-msgstr "indirizzo email"
-
-#: forms.py:43
-msgid "password"
-msgstr "password"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "password (di nuovo)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "I nomi utente possono contenere solo lettere, numeri e sottolineature"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Questo nome utente è già usato. Scegline un altro."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Bisogna inserire la stessa password ogni volta"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Dichiaro di aver letto e di approvare le Condizioni di Servizio"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Per registrarsi bisogna approvare le condizioni"
-
-#: forms.py:124
-msgid "This email address is already in use. Please supply a different email "
-"address."
-msgstr "Questo indirizzo email è già in uso. Inserisci un altro indirizzo email."
-
-#: forms.py:149
-msgid "Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "La registrazione con indirizzi email gratis non è permessa. "
-"Inserisci un altro indirizzo email."
-
-#: models.py:188
-msgid "user"
-msgstr "utente"
-
-#: models.py:189
-msgid "activation key"
-msgstr "chiave di attivazione"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "profilo di registrazione"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "profili di registrazione"
-
diff --git a/registration/locale/ja/LC_MESSAGES/django.mo b/registration/locale/ja/LC_MESSAGES/django.mo
deleted file mode 100644
index e0332b0..0000000
--- a/registration/locale/ja/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/ja/LC_MESSAGES/django.po b/registration/locale/ja/LC_MESSAGES/django.po
deleted file mode 100644
index afaaf94..0000000
--- a/registration/locale/ja/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,78 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Shinya Okano <xxshss@yahoo.co.jp>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: django-registration 0.4 \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2008-01-31 10:20+0900\n"
-"Last-Translator: Shinya Okano <xxshss@yahoo.co.jp>\n"
-"Language-Team: Japanese <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "ユーザ名"
-
-#: forms.py:41
-msgid "email address"
-msgstr "メールアドレス"
-
-#: forms.py:43
-msgid "password"
-msgstr "パスワード"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "パスワード (確認)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "ユーザ名には半角英数とアンダースコアのみが使用できます。"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "このユーザ名は既に使用されています。他のユーザ名を指定してください。"
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "同じパスワードを入力する必要があります。"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "サービス利用規約を読み、同意します。"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "登録するためには規約に同意する必要があります。"
-
-#: forms.py:124
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "このメールアドレスは既に使用されています。他のメールアドレスを指定して下さい。"
-
-#: forms.py:149
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "自由なメールアドレスを使用した登録は禁止されています。他のメールアドレスを指定してください。"
-
-#: models.py:188
-msgid "user"
-msgstr "ユーザ"
-
-#: models.py:189
-msgid "activation key"
-msgstr "アクティベーションキー"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "登録プロファイル"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "登録プロファイル"
-
diff --git a/registration/locale/nl/LC_MESSAGES/django.mo b/registration/locale/nl/LC_MESSAGES/django.mo
deleted file mode 100644
index 9e84eb3..0000000
--- a/registration/locale/nl/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/nl/LC_MESSAGES/django.po b/registration/locale/nl/LC_MESSAGES/django.po
deleted file mode 100644
index 03cb2e5..0000000
--- a/registration/locale/nl/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,77 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: registration\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-14 13:25+0200\n"
-"PO-Revision-Date: 2008-08-14 13:25+0200\n"
-"Last-Translator: Joost Cassee <joost@cassee.net>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "gebruikersnaam"
-
-#: forms.py:41
-msgid "email address"
-msgstr "e-mail adres"
-
-#: forms.py:43
-msgid "password"
-msgstr "wachtwoord"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "wachtwoord (opnieuw)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Gebruikersnamen kunnen alleen letters, nummer en liggende streepjes bevatten."
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Deze gebruikersnaam is reeds in gebruik. Kiest u alstublieft een andere gebruikersnaam."
-
-#: forms.py:71
-msgid "You must type the same password each time"
-msgstr "U moet twee maal hetzelfde wachtwoord typen."
-
-#: forms.py:100
-msgid "I have read and agree to the Terms of Service"
-msgstr "Ik heb de servicevoorwaarden gelezen en ga akkoord."
-
-#: forms.py:109
-msgid "You must agree to the terms to register"
-msgstr "U moet akkoord gaan met de servicevoorwaarden om u te registreren."
-
-#: forms.py:125
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "Dit e-mail adres is reeds in gebruik. Kiest u alstublieft een ander e-mail adres."
-
-#: forms.py:151
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "U kunt u niet registreren met een gratis e-mail adres. Kiest u alstublieft een ander e-mail adres."
-
-#: models.py:191
-msgid "user"
-msgstr "gebruiker"
-
-#: models.py:192
-msgid "activation key"
-msgstr "activatiecode"
-
-#: models.py:197
-msgid "registration profile"
-msgstr "registratieprofiel"
-
-#: models.py:198
-msgid "registration profiles"
-msgstr "registratieprofielen"
diff --git a/registration/locale/pl/LC_MESSAGES/django.mo b/registration/locale/pl/LC_MESSAGES/django.mo
deleted file mode 100644
index 1f2a228..0000000
--- a/registration/locale/pl/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/pl/LC_MESSAGES/django.po b/registration/locale/pl/LC_MESSAGES/django.po
deleted file mode 100644
index 498fd5b..0000000
--- a/registration/locale/pl/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,84 +0,0 @@
-# Polish translation for django-registration.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the django-registration package.
-# Jarek Zgoda <jarek.zgoda@gmail.com>, 2007.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: 0.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2007-12-15 12:45+0100\n"
-"Last-Translator: Jarek Zgoda <jarek.zgoda@gmail.com>\n"
-"Language-Team: Polish <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "nazwa użytkownika"
-
-#: forms.py:41
-msgid "email address"
-msgstr "adres email"
-
-#: forms.py:43
-msgid "password"
-msgstr "hasło"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "hasło (ponownie)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr ""
-"Nazwa użytkownika może zawierać tylko litery, cyfry i znaki podkreślenia"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Ta nazwa użytkownika jest już zajęta. Wybierz inną."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Musisz wpisać to samo hasło w obu polach"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Przeczytałem regulamin i akceptuję go"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Musisz zaakceptować regulamin, aby się zarejestrować"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Ten adres email jest już używany. Użyj innego adresu email."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr ""
-"Nie ma możliwości rejestracji przy użyciu darmowego adresu email. Użyj "
-"innego adresu email."
-
-#: models.py:188
-msgid "user"
-msgstr "użytkownik"
-
-#: models.py:189
-msgid "activation key"
-msgstr "klucz aktywacyjny"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "profil rejestracji"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "profile rejestracji"
diff --git a/registration/locale/pt_BR/LC_MESSAGES/django.mo b/registration/locale/pt_BR/LC_MESSAGES/django.mo
deleted file mode 100644
index e81b620..0000000
--- a/registration/locale/pt_BR/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/pt_BR/LC_MESSAGES/django.po b/registration/locale/pt_BR/LC_MESSAGES/django.po
deleted file mode 100644
index 9e8addb..0000000
--- a/registration/locale/pt_BR/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "usuário"
-
-#: forms.py:41
-msgid "email address"
-msgstr "endereço de email"
-
-#: forms.py:43
-msgid "password"
-msgstr ""
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "senha (novamente)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Nomes de usuário apenas podem conter letras, números, e underscore"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Este nome de usuário já existe. Por favor, escolha outro."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Você deve escrever a mesma senha nos dois campos"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Eu lí e concordo com os Termos de Uso do serviço"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Você deve concordar com os termos para registrar-se"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Este endereço de email já está em uso. Por favor, informe um endereço de email diferente."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "Registrar-se com contas de email gratuitos está proibido. Por favor, informe um endereço de email diferente."
-
-#: models.py:188
-msgid "user"
-msgstr "usuário"
-
-#: models.py:189
-msgid "activation key"
-msgstr "chave de ativação"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "profile de registro"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "profiles de registro"
diff --git a/registration/locale/ru/LC_MESSAGES/django.mo b/registration/locale/ru/LC_MESSAGES/django.mo
deleted file mode 100644
index b6eb3f1..0000000
--- a/registration/locale/ru/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/ru/LC_MESSAGES/django.po b/registration/locale/ru/LC_MESSAGES/django.po
deleted file mode 100644
index 8b0c309..0000000
--- a/registration/locale/ru/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "имя пользователя"
-
-#: forms.py:41
-msgid "email address"
-msgstr "адрес электронной почты"
-
-#: forms.py:43
-msgid "password"
-msgstr "пароль"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "пароль (верификация)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Имя пользователя может содержать только буквы, цифры и подчеркивания"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Такое имя пользователя уже есть. Пожалуйста, выберите другое."
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "Вы должны вводить один и тот же пароль каждый раз"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "Я прочитал и согласен с Правилами Использования"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "Вы должны согласиться с Правилами для регистрации"
-
-#: forms.py:124
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Этот адрес электронной почты уже используется. Пожалуйста, введите другой адрес."
-
-#: forms.py:149
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "Регистрация с использованием свободных почтовых серверов запрещена. Пожалуйста, введите другой адрес электронной почты."
-
-#: models.py:188
-msgid "user"
-msgstr "пользователь"
-
-#: models.py:189
-msgid "activation key"
-msgstr "ключ активации"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "профиль регистрации"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "профили регистрации"
diff --git a/registration/locale/sr/LC_MESSAGES/django.mo b/registration/locale/sr/LC_MESSAGES/django.mo
deleted file mode 100644
index 1699326..0000000
--- a/registration/locale/sr/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/sr/LC_MESSAGES/django.po b/registration/locale/sr/LC_MESSAGES/django.po
deleted file mode 100644
index 4fa699c..0000000
--- a/registration/locale/sr/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,80 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: django-registration trunk\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-04-05 13:51+0200\n"
-"PO-Revision-Date: 2008-04-05 14:00+0100\n"
-"Last-Translator: Nebojsa Djordjevic <djnesh@gmail.com>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Poedit-Language: Serbian\n"
-"X-Poedit-Country: YUGOSLAVIA\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "korisničko ime"
-
-#: forms.py:41
-msgid "email address"
-msgstr "email adresa"
-
-#: forms.py:43
-msgid "password"
-msgstr "šifra"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "šifra (ponovo)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Korisničko ime može da se sastoji samo od slova, brojeva i donje crte (\"_\")"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Korisničko ime je već zauzeto. Izaberite drugo."
-
-#: forms.py:71
-msgid "You must type the same password each time"
-msgstr "Unete šifre se ne slažu"
-
-#: forms.py:100
-msgid "I have read and agree to the Terms of Service"
-msgstr "Pročitao sam i slažem se sa uslovima korišćenja"
-
-#: forms.py:109
-msgid "You must agree to the terms to register"
-msgstr "Morate se složiti sa uslovima korišćenja da bi ste se registrovali"
-
-#: forms.py:128
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "Ova e-mail adresa je već u upotrebi. Morate koristiti drugu e-mail adresu."
-
-#: forms.py:153
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "Registracija korišćenjem besplatnig e-mail adresa je zabranjena. Morate uneti drugu e-mail adresu."
-
-#: models.py:188
-msgid "user"
-msgstr "korisnik"
-
-#: models.py:189
-msgid "activation key"
-msgstr "aktivacioni ključ"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "registracioni profil"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "registracioni profili"
-
diff --git a/registration/locale/sv/LC_MESSAGES/django.mo b/registration/locale/sv/LC_MESSAGES/django.mo
deleted file mode 100644
index 50eca67..0000000
--- a/registration/locale/sv/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/sv/LC_MESSAGES/django.po b/registration/locale/sv/LC_MESSAGES/django.po
deleted file mode 100644
index dec76e2..0000000
--- a/registration/locale/sv/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,81 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-23 18:59+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Emil Stenström <em@kth.se>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: .\forms.py:38
-msgid "username"
-msgstr "Användarnamn"
-
-#: .\forms.py:41
-msgid "email address"
-msgstr "E-postadress"
-
-#: .\forms.py:43
-msgid "password"
-msgstr "Lösenord"
-
-#: .\forms.py:45
-msgid "password (again)"
-msgstr "Lösenord (igen)"
-
-#: .\forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "Användarnamn får bara innehålla bokstäver, siffror och understreck"
-
-#: .\forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "Det användarnamnet är upptaget. Prova ett annat."
-
-#: .\forms.py:71
-msgid "You must type the same password each time"
-msgstr "Båda lösenord måste vara lika"
-
-#: .\forms.py:100
-msgid "I have read and agree to the Terms of Service"
-msgstr "Jag har läst och accepterar avtalet"
-
-#: .\forms.py:109
-msgid "You must agree to the terms to register"
-msgstr "Du måste acceptera avtalet för att registrera dig"
-
-#: .\forms.py:128
-msgid ""
-"This email address is already in use. Please supply a different email "
-"address."
-msgstr "Den e-postadressen är upptagen, använd an annan adress."
-
-#: .\forms.py:153
-msgid ""
-"Registration using free email addresses is prohibited. Please supply a "
-"different email address."
-msgstr "Gratis e-postadresser är inte tillåtna, använd en annan adress."
-
-#: .\models.py:188
-msgid "user"
-msgstr "Användare"
-
-#: .\models.py:189
-msgid "activation key"
-msgstr "Aktiveringsnyckel"
-
-#: .\models.py:194
-msgid "registration profile"
-msgstr "Profil"
-
-#: .\models.py:195
-msgid "registration profiles"
-msgstr "Profiler"
diff --git a/registration/locale/zh_CN/LC_MESSAGES/django.mo b/registration/locale/zh_CN/LC_MESSAGES/django.mo
deleted file mode 100644
index ece5cc9..0000000
--- a/registration/locale/zh_CN/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/zh_CN/LC_MESSAGES/django.po b/registration/locale/zh_CN/LC_MESSAGES/django.po
deleted file mode 100644
index 7c609c3..0000000
--- a/registration/locale/zh_CN/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,77 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2008-03-20 23:22+0800\n"
-"Last-Translator: hutuworm <hutuworm@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "用户名"
-
-#: forms.py:41
-msgid "email address"
-msgstr "Email 地址"
-
-#: forms.py:43
-msgid "password"
-msgstr "密码"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "密码(重复)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "用户名只能包含字母、数字和下划线"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "该用户名已被占用,请另选一个。"
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "您必须输入两遍同样的密码"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "我已阅读并同意该服务条款"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "您必须同意注册条款"
-
-#: forms.py:124
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "该 Email 地址已有人使用,请提供一个另外的 Email 地址。"
-
-#: forms.py:149
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "禁止使用免费 Email 地址注册,请提供一个另外的 Email 地址。"
-
-#: models.py:188
-msgid "user"
-msgstr "用户"
-
-#: models.py:189
-msgid "activation key"
-msgstr "激活密钥"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "注册信息"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "注册信息"
-
diff --git a/registration/locale/zh_TW/LC_MESSAGES/django.mo b/registration/locale/zh_TW/LC_MESSAGES/django.mo
deleted file mode 100644
index 24a3534..0000000
--- a/registration/locale/zh_TW/LC_MESSAGES/django.mo
+++ /dev/null
Binary files differ
diff --git a/registration/locale/zh_TW/LC_MESSAGES/django.po b/registration/locale/zh_TW/LC_MESSAGES/django.po
deleted file mode 100644
index 7cc090d..0000000
--- a/registration/locale/zh_TW/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,77 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-19 19:30-0500\n"
-"PO-Revision-Date: 2008-03-20 23:22+0800\n"
-"Last-Translator: hutuworm <hutuworm@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: forms.py:38
-msgid "username"
-msgstr "用戶名"
-
-#: forms.py:41
-msgid "email address"
-msgstr "Email 地址"
-
-#: forms.py:43
-msgid "password"
-msgstr "密碼"
-
-#: forms.py:45
-msgid "password (again)"
-msgstr "密碼(重復)"
-
-#: forms.py:54
-msgid "Usernames can only contain letters, numbers and underscores"
-msgstr "用戶名只能包含字母、數字和下劃線"
-
-#: forms.py:59
-msgid "This username is already taken. Please choose another."
-msgstr "該用戶名已被佔用,請另選一個。"
-
-#: forms.py:68
-msgid "You must type the same password each time"
-msgstr "您必須輸入兩遍同樣的密碼"
-
-#: forms.py:96
-msgid "I have read and agree to the Terms of Service"
-msgstr "我已閱讀並同意該服務條款"
-
-#: forms.py:105
-msgid "You must agree to the terms to register"
-msgstr "您必須同意注冊條款"
-
-#: forms.py:124
-msgid "This email address is already in use. Please supply a different email address."
-msgstr "該 Email 地址已有人使用,請提供一個另外的 Email 地址。"
-
-#: forms.py:149
-msgid "Registration using free email addresses is prohibited. Please supply a different email address."
-msgstr "禁止使用免費 Email 地址注冊,請提供一個另外的 Email 地址。"
-
-#: models.py:188
-msgid "user"
-msgstr "用戶"
-
-#: models.py:189
-msgid "activation key"
-msgstr "激活密鑰"
-
-#: models.py:194
-msgid "registration profile"
-msgstr "注冊信息"
-
-#: models.py:195
-msgid "registration profiles"
-msgstr "注冊信息"
-
diff --git a/registration/management/__init__.py b/registration/management/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/registration/management/__init__.py
+++ /dev/null
diff --git a/registration/management/commands/__init__.py b/registration/management/commands/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/registration/management/commands/__init__.py
+++ /dev/null
diff --git a/registration/management/commands/cleanupregistration.py b/registration/management/commands/cleanupregistration.py
deleted file mode 100644
index abec5ae..0000000
--- a/registration/management/commands/cleanupregistration.py
+++ /dev/null
@@ -1,19 +0,0 @@
-"""
-A management command which deletes expired accounts (e.g.,
-accounts which signed up but never activated) from the database.
-
-Calls ``RegistrationProfile.objects.delete_expired_users()``, which
-contains the actual logic for determining which accounts are deleted.
-
-"""
-
-from django.core.management.base import NoArgsCommand
-
-from registration.models import RegistrationProfile
-
-
-class Command(NoArgsCommand):
- help = "Delete expired user registrations from the database"
-
- def handle_noargs(self, **options):
- RegistrationProfile.objects.delete_expired_users()
diff --git a/registration/models.py b/registration/models.py
deleted file mode 100644
index cf0561b..0000000
--- a/registration/models.py
+++ /dev/null
@@ -1,262 +0,0 @@
-import datetime
-import random
-import re
-from django.utils.hashcompat import sha_constructor
-
-from django.conf import settings
-from django.contrib.auth.models import User
-from django.contrib.sites.models import Site
-from django.db import models
-from django.db import transaction
-from django.template.loader import render_to_string
-from django.utils.translation import ugettext_lazy as _
-
-
-SHA1_RE = re.compile('^[a-f0-9]{40}$')
-
-
-class RegistrationManager(models.Manager):
- """
- Custom manager for the ``RegistrationProfile`` model.
-
- The methods defined here provide shortcuts for account creation
- and activation (including generation and emailing of activation
- keys), and for cleaning out expired inactive accounts.
-
- """
- def activate_user(self, activation_key):
- """
- Validate an activation key and activate the corresponding
- ``User`` if valid.
-
- If the key is valid and has not expired, return the ``User``
- after activating.
-
- If the key is not valid or has expired, return ``False``.
-
- If the key is valid but the ``User`` is already active,
- return ``False``.
-
- To prevent reactivation of an account which has been
- deactivated by site administrators, the activation key is
- reset to the string constant ``RegistrationProfile.ACTIVATED``
- after successful activation.
-
- To execute customized logic when a ``User`` is activated,
- connect a function to the signal
- ``registration.signals.user_activated``; this signal will be
- sent (with the ``User`` as the value of the keyword argument
- ``user``) after a successful activation.
-
- """
- from registration.signals import user_activated
-
- # Make sure the key we're trying conforms to the pattern of a
- # SHA1 hash; if it doesn't, no point trying to look it up in
- # the database.
- if SHA1_RE.search(activation_key):
- try:
- profile = self.get(activation_key=activation_key)
- except self.model.DoesNotExist:
- return False
- if not profile.activation_key_expired():
- user = profile.user
- user.is_active = True
- user.save()
- profile.activation_key = self.model.ACTIVATED
- profile.save()
- user_activated.send(sender=self.model, user=user)
- return user
- return False
-
- def create_inactive_user(self, username, password, email,
- send_email=True):
- """
- Create a new, inactive ``User``, generate a
- ``RegistrationProfile`` and email its activation key to the
- ``User``, returning the new ``User``.
-
- To disable the email, call with ``send_email=False``.
-
- The activation email will make use of two templates:
-
- ``registration/activation_email_subject.txt``
- This template will be used for the subject line of the
- email. It receives one context variable, ``site``, which
- is the currently-active
- ``django.contrib.sites.models.Site`` instance. Because it
- is used as the subject line of an email, this template's
- output **must** be only a single line of text; output
- longer than one line will be forcibly joined into only a
- single line.
-
- ``registration/activation_email.txt``
- This template will be used for the body of the email. It
- will receive three context variables: ``activation_key``
- will be the user's activation key (for use in constructing
- a URL to activate the account), ``expiration_days`` will
- be the number of days for which the key will be valid and
- ``site`` will be the currently-active
- ``django.contrib.sites.models.Site`` instance.
-
- To execute customized logic once the new ``User`` has been
- created, connect a function to the signal
- ``registration.signals.user_registered``; this signal will be
- sent (with the new ``User`` as the value of the keyword
- argument ``user``) after the ``User`` and
- ``RegistrationProfile`` have been created, and the email (if
- any) has been sent..
-
- """
- from registration.signals import user_registered
-
- new_user = User.objects.create_user(username, email, password)
- new_user.is_active = False
- new_user.save()
-
- registration_profile = self.create_profile(new_user)
-
- if send_email:
- from django.core.mail import send_mail, EmailMultiAlternatives
-
- current_site = Site.objects.get_current()
-
- subject = render_to_string('registration/activation_email_subject.txt',
- { 'site': settings.URL_ROOT })
- # Email subject *must not* contain newlines
- subject = ''.join(subject.splitlines())
-
- text_content = render_to_string('registration/activation_email.txt',
- { 'activation_key': registration_profile.activation_key,
- 'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
- 'site': settings.URL_ROOT })
- html_content = render_to_string('registration/activation_email.html',
- { 'activation_key': registration_profile.activation_key,
- 'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
- 'site': settings.URL_ROOT })
- msg = EmailMultiAlternatives(subject, text_content, settings.DEFAULT_FROM_EMAIL, [new_user.email])
- msg.attach_alternative(html_content, "text/html")
- msg.send()
-# send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_user.email])
- user_registered.send(sender=self.model, user=new_user)
- return new_user
- create_inactive_user = transaction.commit_on_success(create_inactive_user)
-
- def create_profile(self, user):
- """
- Create a ``RegistrationProfile`` for a given
- ``User``, and return the ``RegistrationProfile``.
-
- The activation key for the ``RegistrationProfile`` will be a
- SHA1 hash, generated from a combination of the ``User``'s
- username and a random salt.
-
- """
- salt = sha_constructor(str(random.random())).hexdigest()[:5]
- activation_key = sha_constructor(salt+user.username).hexdigest()
- return self.create(user=user,
- activation_key=activation_key)
-
- def delete_expired_users(self):
- """
- Remove expired instances of ``RegistrationProfile`` and their
- associated ``User``s.
-
- Accounts to be deleted are identified by searching for
- instances of ``RegistrationProfile`` with expired activation
- keys, and then checking to see if their associated ``User``
- instances have the field ``is_active`` set to ``False``; any
- ``User`` who is both inactive and has an expired activation
- key will be deleted.
-
- It is recommended that this method be executed regularly as
- part of your routine site maintenance; this application
- provides a custom management command which will call this
- method, accessible as ``manage.py cleanupregistration``.
-
- Regularly clearing out accounts which have never been
- activated serves two useful purposes:
-
- 1. It alleviates the ocasional need to reset a
- ``RegistrationProfile`` and/or re-send an activation email
- when a user does not receive or does not act upon the
- initial activation email; since the account will be
- deleted, the user will be able to simply re-register and
- receive a new activation key.
-
- 2. It prevents the possibility of a malicious user registering
- one or more accounts and never activating them (thus
- denying the use of those usernames to anyone else); since
- those accounts will be deleted, the usernames will become
- available for use again.
-
- If you have a troublesome ``User`` and wish to disable their
- account while keeping it in the database, simply delete the
- associated ``RegistrationProfile``; an inactive ``User`` which
- does not have an associated ``RegistrationProfile`` will not
- be deleted.
-
- """
- for profile in self.all():
- if profile.activation_key_expired():
- user = profile.user
- if not user.is_active:
- user.delete()
-
-
-class RegistrationProfile(models.Model):
- """
- A simple profile which stores an activation key for use during
- user account registration.
-
- Generally, you will not want to interact directly with instances
- of this model; the provided manager includes methods
- for creating and activating new accounts, as well as for cleaning
- out accounts which have never been activated.
-
- While it is possible to use this model as the value of the
- ``AUTH_PROFILE_MODULE`` setting, it's not recommended that you do
- so. This model's sole purpose is to store data temporarily during
- account registration and activation.
-
- """
- ACTIVATED = u"ALREADY_ACTIVATED"
-
- user = models.ForeignKey(User, unique=True, verbose_name=_('user'))
- activation_key = models.CharField(_('activation key'), max_length=40)
-
- objects = RegistrationManager()
-
- class Meta:
- verbose_name = _('registration profile')
- verbose_name_plural = _('registration profiles')
-
- def __unicode__(self):
- return u"Registration information for %s" % self.user
-
- def activation_key_expired(self):
- """
- Determine whether this ``RegistrationProfile``'s activation
- key has expired, returning a boolean -- ``True`` if the key
- has expired.
-
- Key expiration is determined by a two-step process:
-
- 1. If the user has already activated, the key will have been
- reset to the string constant ``ACTIVATED``. Re-activating
- is not permitted, and so this method returns ``True`` in
- this case.
-
- 2. Otherwise, the date the user signed up is incremented by
- the number of days specified in the setting
- ``ACCOUNT_ACTIVATION_DAYS`` (which should be the number of
- days after signup during which a user is allowed to
- activate their account); if the result is less than or
- equal to the current date, the key has expired and this
- method returns ``True``.
-
- """
- expiration_date = datetime.timedelta(days=settings.ACCOUNT_ACTIVATION_DAYS)
- return self.activation_key == self.ACTIVATED or \
- (self.user.date_joined + expiration_date <= datetime.datetime.now())
- activation_key_expired.boolean = True
diff --git a/registration/signals.py b/registration/signals.py
deleted file mode 100644
index 2a6eed9..0000000
--- a/registration/signals.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from django.dispatch import Signal
-
-
-# A new user has registered.
-user_registered = Signal(providing_args=["user"])
-
-# A user has activated his or her account.
-user_activated = Signal(providing_args=["user"])
diff --git a/registration/tests.py b/registration/tests.py
deleted file mode 100644
index e6ac44c..0000000
--- a/registration/tests.py
+++ /dev/null
@@ -1,335 +0,0 @@
-"""
-Unit tests for django-registration.
-
-These tests assume that you've completed all the prerequisites for
-getting django-registration running in the default setup, to wit:
-
-1. You have ``registration`` in your ``INSTALLED_APPS`` setting.
-
-2. You have created all of the templates mentioned in this
- application's documentation.
-
-3. You have added the setting ``ACCOUNT_ACTIVATION_DAYS`` to your
- settings file.
-
-4. You have URL patterns pointing to the registration and activation
- views, with the names ``registration_register`` and
- ``registration_activate``, respectively, and a URL pattern named
- 'registration_complete'.
-
-"""
-
-import datetime
-from django.utils.hashcompat import sha_constructor
-
-from django.conf import settings
-from django.contrib.auth.models import User
-from django.core import mail
-from django.core import management
-from django.core.urlresolvers import reverse
-from django.test import TestCase
-
-from registration import forms
-from registration.models import RegistrationProfile
-from registration import signals
-
-
-class RegistrationTestCase(TestCase):
- """
- Base class for the test cases; this sets up two users -- one
- expired, one not -- which are used to exercise various parts of
- the application.
-
- """
- def setUp(self):
- self.sample_user = RegistrationProfile.objects.create_inactive_user(username='alice',
- password='secret',
- email='alice@example.com')
- self.expired_user = RegistrationProfile.objects.create_inactive_user(username='bob',
- password='swordfish',
- email='bob@example.com')
- self.expired_user.date_joined -= datetime.timedelta(days=settings.ACCOUNT_ACTIVATION_DAYS + 1)
- self.expired_user.save()
-
-
-class RegistrationModelTests(RegistrationTestCase):
- """
- Tests for the model-oriented functionality of django-registration,
- including ``RegistrationProfile`` and its custom manager.
-
- """
- def test_new_user_is_inactive(self):
- """
- Test that a newly-created user is inactive.
-
- """
- self.failIf(self.sample_user.is_active)
-
- def test_registration_profile_created(self):
- """
- Test that a ``RegistrationProfile`` is created for a new user.
-
- """
- self.assertEqual(RegistrationProfile.objects.count(), 2)
-
- def test_activation_email(self):
- """
- Test that user signup sends an activation email.
-
- """
- self.assertEqual(len(mail.outbox), 2)
-
- def test_activation_email_disable(self):
- """
- Test that activation email can be disabled.
-
- """
- RegistrationProfile.objects.create_inactive_user(username='noemail',
- password='foo',
- email='nobody@example.com',
- send_email=False)
- self.assertEqual(len(mail.outbox), 2)
-
- def test_activation(self):
- """
- Test that user activation actually activates the user and
- properly resets the activation key, and fails for an
- already-active or expired user, or an invalid key.
-
- """
- # Activating a valid user returns the user.
- self.failUnlessEqual(RegistrationProfile.objects.activate_user(RegistrationProfile.objects.get(user=self.sample_user).activation_key).pk,
- self.sample_user.pk)
-
- # The activated user must now be active.
- self.failUnless(User.objects.get(pk=self.sample_user.pk).is_active)
-
- # The activation key must now be reset to the "already activated" constant.
- self.failUnlessEqual(RegistrationProfile.objects.get(user=self.sample_user).activation_key,
- RegistrationProfile.ACTIVATED)
-
- # Activating an expired user returns False.
- self.failIf(RegistrationProfile.objects.activate_user(RegistrationProfile.objects.get(user=self.expired_user).activation_key))
-
- # Activating from a key that isn't a SHA1 hash returns False.
- self.failIf(RegistrationProfile.objects.activate_user('foo'))
-
- # Activating from a key that doesn't exist returns False.
- self.failIf(RegistrationProfile.objects.activate_user(sha_constructor('foo').hexdigest()))
-
- def test_account_expiration_condition(self):
- """
- Test that ``RegistrationProfile.activation_key_expired()``
- returns ``True`` for expired users and for active users, and
- ``False`` otherwise.
-
- """
- # Unexpired user returns False.
- self.failIf(RegistrationProfile.objects.get(user=self.sample_user).activation_key_expired())
-
- # Expired user returns True.
- self.failUnless(RegistrationProfile.objects.get(user=self.expired_user).activation_key_expired())
-
- # Activated user returns True.
- RegistrationProfile.objects.activate_user(RegistrationProfile.objects.get(user=self.sample_user).activation_key)
- self.failUnless(RegistrationProfile.objects.get(user=self.sample_user).activation_key_expired())
-
- def test_expired_user_deletion(self):
- """
- Test that
- ``RegistrationProfile.objects.delete_expired_users()`` deletes
- only inactive users whose activation window has expired.
-
- """
- RegistrationProfile.objects.delete_expired_users()
- self.assertEqual(RegistrationProfile.objects.count(), 1)
-
- def test_management_command(self):
- """
- Test that ``manage.py cleanupregistration`` functions
- correctly.
-
- """
- management.call_command('cleanupregistration')
- self.assertEqual(RegistrationProfile.objects.count(), 1)
-
- def test_signals(self):
- """
- Test that the ``user_registered`` and ``user_activated``
- signals are sent, and that they send the ``User`` as an
- argument.
-
- """
- def receiver(sender, **kwargs):
- self.assert_('user' in kwargs)
- self.assertEqual(kwargs['user'].username, u'signal_test')
- received_signals.append(kwargs.get('signal'))
-
- received_signals = []
- expected_signals = [signals.user_registered, signals.user_activated]
- for signal in expected_signals:
- signal.connect(receiver)
-
- RegistrationProfile.objects.create_inactive_user(username='signal_test',
- password='foo',
- email='nobody@example.com',
- send_email=False)
- RegistrationProfile.objects.activate_user(RegistrationProfile.objects.get(user__username='signal_test').activation_key)
-
- self.assertEqual(received_signals, expected_signals)
-
-
-class RegistrationFormTests(RegistrationTestCase):
- """
- Tests for the forms and custom validation logic included in
- django-registration.
-
- """
- def test_registration_form(self):
- """
- Test that ``RegistrationForm`` enforces username constraints
- and matching passwords.
-
- """
- invalid_data_dicts = [
- # Non-alphanumeric username.
- {
- 'data':
- { 'username': 'foo/bar',
- 'email': 'foo@example.com',
- 'password1': 'foo' },
- 'error':
- ('username', [u"Enter a valid value."])
- },
- # Already-existing username.
- {
- 'data':
- { 'username': 'alice',
- 'email': 'alice@example.com',
- 'password1': 'secret' },
- 'error':
- ('username', [u"This username is already taken. Please choose another."])
- },
- ]
-
- for invalid_dict in invalid_data_dicts:
- form = forms.RegistrationForm(data=invalid_dict['data'])
- self.failIf(form.is_valid())
- self.assertEqual(form.errors[invalid_dict['error'][0]], invalid_dict['error'][1])
-
- form = forms.RegistrationForm(data={ 'username': 'foo',
- 'email': 'foo@example.com',
- 'password1': 'foo' })
- self.failUnless(form.is_valid())
-
- def test_registration_form_tos(self):
- """
- Test that ``RegistrationFormTermsOfService`` requires
- agreement to the terms of service.
-
- """
- form = forms.RegistrationFormTermsOfService(data={ 'username': 'foo',
- 'email': 'foo@example.com',
- 'password1': 'foo' })
- self.failIf(form.is_valid())
- self.assertEqual(form.errors['tos'], [u"You must agree to the terms to register"])
-
- form = forms.RegistrationFormTermsOfService(data={ 'username': 'foo',
- 'email': 'foo@example.com',
- 'password1': 'foo',
- 'tos': 'on' })
- self.failUnless(form.is_valid())
-
- def test_registration_form_unique_email(self):
- """
- Test that ``RegistrationFormUniqueEmail`` validates uniqueness
- of email addresses.
-
- """
- form = forms.RegistrationFormUniqueEmail(data={ 'username': 'foo',
- 'email': 'alice@example.com',
- 'password1': 'foo' })
- self.failIf(form.is_valid())
- self.assertEqual(form.errors['email'], [u"This email address is already in use. Please supply a different email address."])
-
- form = forms.RegistrationFormUniqueEmail(data={ 'username': 'foo',
- 'email': 'foo@example.com',
- 'password1': 'foo' })
- self.failUnless(form.is_valid())
-
- def test_registration_form_no_free_email(self):
- """
- Test that ``RegistrationFormNoFreeEmail`` disallows
- registration with free email addresses.
-
- """
- base_data = { 'username': 'foo',
- 'password1': 'foo' }
- for domain in ('aim.com', 'aol.com', 'email.com', 'gmail.com',
- 'googlemail.com', 'hotmail.com', 'hushmail.com',
- 'msn.com', 'mail.ru', 'mailinator.com', 'live.com'):
- invalid_data = base_data.copy()
- invalid_data['email'] = u"foo@%s" % domain
- form = forms.RegistrationFormNoFreeEmail(data=invalid_data)
- self.failIf(form.is_valid())
- self.assertEqual(form.errors['email'], [u"Registration using free email addresses is prohibited. Please supply a different email address."])
-
- base_data['email'] = 'foo@example.com'
- form = forms.RegistrationFormNoFreeEmail(data=base_data)
- self.failUnless(form.is_valid())
-
-
-class RegistrationViewTests(RegistrationTestCase):
- """
- Tests for the views included in django-registration.
-
- """
- def test_registration_view(self):
- """
- Test that the registration view rejects invalid submissions,
- and creates a new user and redirects after a valid submission.
-
- """
- # Invalid data fails.
- response = self.client.post(reverse('registration_register'),
- data={ 'username': 'alice', # Will fail on username uniqueness.
- 'email': 'foo@example.com',
- 'password1': 'foo' })
- self.assertEqual(response.status_code, 200)
- self.failUnless(response.context['form'])
- self.failUnless(response.context['form'].errors)
-
- response = self.client.post(reverse('registration_register'),
- data={ 'username': 'foo',
- 'email': 'foo@example.com',
- 'password1': 'foo' })
- self.assertEqual(response.status_code, 302)
- self.assertEqual(response['Location'], 'http://testserver%s' % reverse('registration_complete'))
- self.assertEqual(RegistrationProfile.objects.count(), 3)
-
- def test_activation_view(self):
- """
- Test that the activation view activates the user from a valid
- key and fails if the key is invalid or has expired.
-
- """
- # Valid user puts the user account into the context.
- response = self.client.get(reverse('registration_activate',
- kwargs={ 'activation_key': RegistrationProfile.objects.get(user=self.sample_user).activation_key }))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.context['account'].pk, self.sample_user.pk)
-
- # Expired user sets the account to False.
- response = self.client.get(reverse('registration_activate',
- kwargs={ 'activation_key': RegistrationProfile.objects.get(user=self.expired_user).activation_key }))
- self.failIf(response.context['account'])
-
- # Invalid key gets to the view, but sets account to False.
- response = self.client.get(reverse('registration_activate',
- kwargs={ 'activation_key': 'foo' }))
- self.failIf(response.context['account'])
-
- # Nonexistent key sets the account to False.
- response = self.client.get(reverse('registration_activate',
- kwargs={ 'activation_key': sha_constructor('foo').hexdigest() }))
- self.failIf(response.context['account'])
diff --git a/registration/urls.py b/registration/urls.py
deleted file mode 100644
index 25cf2b0..0000000
--- a/registration/urls.py
+++ /dev/null
@@ -1,72 +0,0 @@
-"""
-URLConf for Django user registration and authentication.
-
-If the default behavior of the registration views is acceptable to
-you, simply use a line like this in your root URLConf to set up the
-default URLs for registration::
-
- (r'^accounts/', include('registration.urls')),
-
-This will also automatically set up the views in
-``django.contrib.auth`` at sensible default locations.
-
-But if you'd like to customize the behavior (e.g., by passing extra
-arguments to the various views) or split up the URLs, feel free to set
-up your own URL patterns for these views instead. If you do, it's a
-good idea to use the names ``registration_activate``,
-``registration_complete`` and ``registration_register`` for the
-various steps of the user-signup process.
-
-"""
-
-from django.conf import settings
-from django.conf.urls.defaults import *
-from django.views.generic.simple import direct_to_template
-from django.contrib.auth import views as auth_views
-
-from registration.views import activate
-from registration.views import register
-
-
-urlpatterns = patterns('',
- # Activation keys get matched by \w+ instead of the more specific
- # [a-fA-F0-9]{40} because a bad activation key should still get to the view;
- # that way it can return a sensible "invalid key" message instead of a
- # confusing 404.
- url(r'^activate/(?P<activation_key>\w+)/$',
- activate,
- name='registration_activate'),
- url(r'^login/$',
- auth_views.login,
- {'template_name': 'registration/login.html'},
- name='auth_login'),
- url(r'^logout/$',
- auth_views.logout,
- {'template_name': 'registration/logout.html'},
- name='auth_logout'),
- url(r'^password/change/$',
- auth_views.password_change,
- name='auth_password_change'),
- url(r'^password/change/done/$',
- auth_views.password_change_done,
- name='auth_password_change_done'),
- url(r'^password/reset/$',
- auth_views.password_reset,
- name='auth_password_reset'),
- url(r'^password/reset/confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
- auth_views.password_reset_confirm,
- name='auth_password_reset_confirm'),
- url(r'^password/reset/complete/$',
- auth_views.password_reset_complete,
- name='auth_password_reset_complete'),
- url(r'^password/reset/done/$',
- auth_views.password_reset_done,
- name='auth_password_reset_done'),
- url(r'^register/$',
- register,
- name='registration_register'),
- url(r'^register/complete/$',
- direct_to_template,
- {'template': 'registration/registration_complete.html','extra_context':{'settings':settings}},
- name='registration_complete'),
- )
diff --git a/registration/views.py b/registration/views.py
deleted file mode 100644
index d42c4c0..0000000
--- a/registration/views.py
+++ /dev/null
@@ -1,170 +0,0 @@
-"""
-Views which allow users to create and activate accounts.
-
-"""
-from django.contrib.auth import login
-from django.contrib.auth import authenticate
-
-from django.conf import settings
-from django.core.urlresolvers import reverse
-from django.core.context_processors import csrf
-from django.http import HttpResponseRedirect
-from django.shortcuts import render_to_response
-from django.template import RequestContext
-from django.contrib.auth import login
-
-from registration.forms import RegistrationForm
-from registration.models import RegistrationProfile
-
-
-def activate(request, activation_key,
- template_name='registration/activate.html',
- extra_context=None):
- """
- Activate a ``User``'s account from an activation key, if their key
- is valid and hasn't expired.
-
- By default, use the template ``registration/activate.html``; to
- change this, pass the name of a template as the keyword argument
- ``template_name``.
-
- **Required arguments**
-
- ``activation_key``
- The activation key to validate and use for activating the
- ``User``.
-
- **Optional arguments**
-
- ``extra_context``
- A dictionary of variables to add to the template context. Any
- callable object in this dictionary will be called to produce
- the end result which appears in the context.
-
- ``template_name``
- A custom template to use.
-
- **Context:**
-
- ``account``
- The ``User`` object corresponding to the account, if the
- activation was successful. ``False`` if the activation was not
- successful.
-
- ``expiration_days``
- The number of days for which activation keys stay valid after
- registration.
-
- Any extra variables supplied in the ``extra_context`` argument
- (see above).
-
- **Template:**
-
- registration/activate.html or ``template_name`` keyword argument.
-
- """
-
- # Generate CSRF token
- c = {}
- c.update(csrf(request))
-
- activation_key = activation_key.lower() # Normalize before trying anything with it.
- account = RegistrationProfile.objects.activate_user(activation_key)
- try:
- print account
- except:
- pass
- if extra_context is None:
- extra_context = {}
- context = RequestContext(request)
- for key, value in extra_context.items():
- context[key] = callable(value) and value() or value
- return render_to_response(template_name,
- c.update({ 'account': account,
- 'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS, 'settings': settings, }),
- context_instance=context,)
-
-
-def register(request, success_url=None,
- form_class=RegistrationForm,
- template_name='registration/registration_form.html',
- extra_context=None):
- """
- Allow a new user to register an account.
-
- Following successful registration, issue a redirect; by default,
- this will be whatever URL corresponds to the named URL pattern
- ``registration_complete``, which will be
- ``/accounts/register/complete/`` if using the included URLConf. To
- change this, point that named pattern at another URL, or pass your
- preferred URL as the keyword argument ``success_url``.
-
- By default, ``registration.forms.RegistrationForm`` will be used
- as the registration form; to change this, pass a different form
- class as the ``form_class`` keyword argument. The form class you
- specify must have a method ``save`` which will create and return
- the new ``User``.
-
- By default, use the template
- ``registration/registration_form.html``; to change this, pass the
- name of a template as the keyword argument ``template_name``.
-
- **Required arguments**
-
- None.
-
- **Optional arguments**
-
- ``form_class``
- The form class to use for registration.
-
- ``extra_context``
- A dictionary of variables to add to the template context. Any
- callable object in this dictionary will be called to produce
- the end result which appears in the context.
-
- ``success_url``
- The URL to redirect to on successful registration.
-
- ``template_name``
- A custom template to use.
-
- **Context:**
-
- ``form``
- The registration form.
-
- Any extra variables supplied in the ``extra_context`` argument
- (see above).
-
- **Template:**
-
- registration/registration_form.html or ``template_name`` keyword
- argument.
-
- """
- # Generate CSRF token
- c = {}
- c.update(csrf(request))
-
- if request.method == 'POST':
- form = form_class(data=request.POST, files=request.FILES)
- if form.is_valid():
- new_user = form.save()
- # success_url needs to be dynamically generated here; setting a
- # a default value using reverse() will cause circular-import
- # problems with the default URLConf for this application, which
- # imports this file.
-
- return HttpResponseRedirect(success_url or reverse('registration_complete'))
- else:
- form = form_class()
-
- if extra_context is None:
- extra_context = {}
- context = RequestContext(request)
- for key, value in extra_context.items():
- context[key] = callable(value) and value() or value
- return render_to_response(template_name,
- c.update({ 'form': form, 'settings': settings, }),
- context_instance=context)