mirror of
				https://github.com/Tivix/django-rest-auth.git
				synced 2025-11-04 09:37:35 +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