def process_request(self, request): request.user_profile = None if request.user.is_staff or request.user.is_superuser: return ignore = [reverse('edit_user_profile'), reverse("auth_logout")] if request.user.is_authenticated() and not request.path in ignore: try: request.user_profile = get_profile(request.user) except ObjectDoesNotExist: return HttpResponseRedirect(reverse('edit_user_profile')) if get_user_type() == "C" and (request.user_profile.first_name == "" or request.user_profile.last_name == ""): return HttpResponseRedirect(reverse('edit_user_profile'))
def process_request(self, request): request.user_profile = None if request.user.is_staff or request.user.is_superuser: return ignore = [reverse('edit_user_profile'), reverse("auth_logout")] if request.user.is_authenticated() and not request.path in ignore: try: request.user_profile = get_profile(request.user) except ObjectDoesNotExist: return HttpResponseRedirect(reverse('edit_user_profile')) if get_user_type() == "C" and ( request.user_profile.first_name == "" or request.user_profile.last_name == ""): return HttpResponseRedirect(reverse('edit_user_profile'))
def clean(self): cleaned_data = super().clean() email = cleaned_data.get("email").lower().strip() if email: user_type = get_user_type() username = "******" % (user_type, email) cleaned_data['username'] = username try: user = User.objects.get(username = username) except ObjectDoesNotExist: return cleaned_data raise forms.ValidationError("A User with that email already exists") return cleaned_data
def clean(self): cleaned_data = super().clean() email = cleaned_data.get("email").lower().strip() if email: user_type = get_user_type() username = "******" % (user_type, email) cleaned_data['username'] = username try: user = User.objects.get(username=username) except ObjectDoesNotExist: return cleaned_data raise forms.ValidationError( "A User with that email already exists") return cleaned_data
def get_username(strategy, details, user=None, is_new=False, *args, **kwargs): if is_new and details.get('email'): final_username = "******" % (get_user_type(), details.get("email")) return {'username': final_username}
from django.conf.urls import patterns, include, url from registration.backends.default.views import RegistrationView from django.contrib import admin from django.contrib.auth.views import login from auth.forms import UserRegistrationForm, LoginForm from auth.views import edit_user_profile, require_email, validation_sent, home from auth.utils import get_user_type admin.autodiscover() urlpatterns = patterns( '', url(r'^$', home, name="home"), url(r'^admin/', include(admin.site.urls)), url(r'^email/$', require_email, name='require_email'), url(r'^email-sent/', validation_sent), url(r'^accounts/register/$', RegistrationView.as_view(form_class=UserRegistrationForm), name='registration_register'), url(r'^accounts/login/$', login, {'authentication_form': LoginForm}), url(r'^accounts/profile/edit/$', edit_user_profile, name='edit_user_profile'), (r'^accounts/', include('registration.backends.default.urls')), ) if get_user_type() == "C": urlpatterns.append( url('^accounts/', include('social.apps.django_app.urls', namespace='social')))
def clean(self): email = self.cleaned_data.get("email").lower().strip() user_type = get_user_type() self.cleaned_data['username'] = "******" % (user_type, email) return super().clean()
try: user = User.objects.get(username = username) except ObjectDoesNotExist: return cleaned_data raise forms.ValidationError("A User with that email already exists") return cleaned_data class LoginForm(AuthenticationForm): username = forms.CharField(widget=forms.HiddenInput, required=False) email = forms.EmailField() password = forms.CharField(widget=forms.PasswordInput) def clean(self): email = self.cleaned_data.get("email").lower().strip() user_type = get_user_type() self.cleaned_data['username'] = "******" % (user_type, email) return super().clean() class CustomerProfileForm(forms.ModelForm): class Meta: model = CustomerProfile exclude = ["user"] class BusinessProfileForm(forms.ModelForm): class Meta: model = BusinessProfile exclude = ["user"] PROFILE_FORM = BusinessProfileForm if get_user_type() == "B" else CustomerProfileForm
from django.conf.urls import patterns, include, url from registration.backends.default.views import RegistrationView from django.contrib import admin from django.contrib.auth.views import login from auth.forms import UserRegistrationForm, LoginForm from auth.views import edit_user_profile, require_email, validation_sent, home from auth.utils import get_user_type admin.autodiscover() urlpatterns = patterns('', url(r'^$', home, name="home"), url(r'^admin/', include(admin.site.urls)), url(r'^email/$', require_email, name='require_email'), url(r'^email-sent/', validation_sent), url(r'^accounts/register/$', RegistrationView.as_view(form_class=UserRegistrationForm), name='registration_register'), url(r'^accounts/login/$', login, {'authentication_form': LoginForm}), url(r'^accounts/profile/edit/$', edit_user_profile, name='edit_user_profile'), (r'^accounts/', include('registration.backends.default.urls')), ) if get_user_type() == "C": urlpatterns.append(url('^accounts/', include('social.apps.django_app.urls', namespace='social')))
return cleaned_data class LoginForm(AuthenticationForm): username = forms.CharField(widget=forms.HiddenInput, required=False) email = forms.EmailField() password = forms.CharField(widget=forms.PasswordInput) def clean(self): email = self.cleaned_data.get("email").lower().strip() user_type = get_user_type() self.cleaned_data['username'] = "******" % (user_type, email) return super().clean() class CustomerProfileForm(forms.ModelForm): class Meta: model = CustomerProfile exclude = ["user"] class BusinessProfileForm(forms.ModelForm): class Meta: model = BusinessProfile exclude = ["user"] PROFILE_FORM = BusinessProfileForm if get_user_type( ) == "B" else CustomerProfileForm
from django.db import models from django.contrib.auth.models import User from auth.utils import get_user_type class CustomerProfile(models.Model): GENDER_CHOICES = (('F', 'Female'), ('M', 'Male')) user = models.OneToOneField(User, related_name="customer_profile") first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) gender = models.CharField(max_length=1, choices=GENDER_CHOICES) class BusinessProfile(models.Model): user = models.OneToOneField(User, related_name="business_profile") company_name = models.CharField(max_length=60) PROFILE_CLASS = BusinessProfile if get_user_type() == "B" else CustomerProfile
from django.db import models from django.contrib.auth.models import User from auth.utils import get_user_type class CustomerProfile(models.Model): GENDER_CHOICES = (('F', 'Female'),('M', 'Male')) user = models.OneToOneField(User, related_name="customer_profile") first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) gender = models.CharField(max_length=1, choices=GENDER_CHOICES) class BusinessProfile(models.Model): user = models.OneToOneField(User, related_name="business_profile") company_name = models.CharField(max_length=60) PROFILE_CLASS = BusinessProfile if get_user_type() == "B" else CustomerProfile