mirror of
https://github.com/Tivix/django-rest-auth.git
synced 2024-11-25 18:43:44 +03:00
move definition of registration view and user profile model to runtest script
This commit is contained in:
parent
6e86871f58
commit
1cf6052a31
|
@ -6,6 +6,48 @@ sys.path.insert(0, test_dir)
|
||||||
|
|
||||||
from django.test.utils import get_runner
|
from django.test.utils import get_runner
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from django.contrib.sites.models import RequestSite
|
||||||
|
from django.contrib.sites.models import Site
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
from registration.models import RegistrationProfile
|
||||||
|
from registration.backends.default.views import RegistrationView as BaseRegistrationView
|
||||||
|
from registration import signals
|
||||||
|
|
||||||
|
"""
|
||||||
|
create user profile model
|
||||||
|
"""
|
||||||
|
class UserProfile(models.Model):
|
||||||
|
user = models.ForeignKey(User, unique=True)
|
||||||
|
newsletter_subscribe = models.BooleanField(default=False)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
app_label = 'rest_auth'
|
||||||
|
|
||||||
|
settings.REST_PROFILE_MODULE = UserProfile
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
overwrite register to avoid sending email
|
||||||
|
"""
|
||||||
|
class RegistrationView(BaseRegistrationView):
|
||||||
|
def register(self, request, **cleaned_data):
|
||||||
|
username, email, password = cleaned_data['username'], cleaned_data['email'], cleaned_data['password1']
|
||||||
|
if Site._meta.installed:
|
||||||
|
site = Site.objects.get_current()
|
||||||
|
else:
|
||||||
|
site = RequestSite(request)
|
||||||
|
new_user = RegistrationProfile.objects.create_inactive_user(username, email,
|
||||||
|
password, site, send_email=False)
|
||||||
|
signals.user_registered.send(sender=self.__class__,
|
||||||
|
user=new_user,
|
||||||
|
request=request)
|
||||||
|
return new_user
|
||||||
|
|
||||||
|
settings.REST_REGISTRATION_BACKEND = 'rest_auth.runtests.RegistrationView'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def runtests():
|
def runtests():
|
||||||
TestRunner = get_runner(settings)
|
TestRunner = get_runner(settings)
|
||||||
|
|
|
@ -13,49 +13,11 @@ from django.test.client import Client, MULTIPART_CONTENT
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.sites.models import RequestSite
|
|
||||||
from django.contrib.sites.models import Site
|
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
from registration.models import RegistrationProfile
|
from registration.models import RegistrationProfile
|
||||||
from registration.backends.default.views import RegistrationView as BaseRegistrationView
|
|
||||||
from registration import signals
|
|
||||||
from rest_framework.serializers import _resolve_model
|
from rest_framework.serializers import _resolve_model
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
create user profile model
|
|
||||||
"""
|
|
||||||
class UserProfile(models.Model):
|
|
||||||
user = models.ForeignKey(User, unique=True)
|
|
||||||
newsletter_subscribe = models.BooleanField(default=False)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
app_label = 'rest_auth'
|
|
||||||
|
|
||||||
settings.REST_PROFILE_MODULE = UserProfile
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
overwrite register to avoid sending email
|
|
||||||
"""
|
|
||||||
class RegistrationView(BaseRegistrationView):
|
|
||||||
def register(self, request, **cleaned_data):
|
|
||||||
username, email, password = cleaned_data['username'], cleaned_data['email'], cleaned_data['password1']
|
|
||||||
if Site._meta.installed:
|
|
||||||
site = Site.objects.get_current()
|
|
||||||
else:
|
|
||||||
site = RequestSite(request)
|
|
||||||
new_user = RegistrationProfile.objects.create_inactive_user(username, email,
|
|
||||||
password, site, send_email=False)
|
|
||||||
signals.user_registered.send(sender=self.__class__,
|
|
||||||
user=new_user,
|
|
||||||
request=request)
|
|
||||||
return new_user
|
|
||||||
|
|
||||||
settings.REST_REGISTRATION_BACKEND = 'rest_auth.tests.RegistrationView'
|
|
||||||
|
|
||||||
|
|
||||||
class APIClient(Client):
|
class APIClient(Client):
|
||||||
|
|
||||||
def patch(self, path, data='', content_type=MULTIPART_CONTENT, follow=False, **extra):
|
def patch(self, path, data='', content_type=MULTIPART_CONTENT, follow=False, **extra):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user