def sign_up(request): view = RegistrationView() form = RegistrationFormUniqueEmail(request.POST) if form.is_valid(): user = view.register(request, form) response_data = { 'result': 'success', 'username': user.username, 'guest': False } return Response(data=response_data, status=status.HTTP_200_OK) else: errors = [] if 'username' not in form.cleaned_data: errors.append("Username is invalid or already in use") if 'password1' not in form.cleaned_data: errors.append("Password must be specified") if 'password2' not in form.cleaned_data or \ form.cleaned_data['password1'] != form.cleaned_data['password2']: errors.append("Passwords do not match") if 'email' not in form.cleaned_data: errors.append("Email is invalid or already in use") if len(errors) == 0: errors.append("Invalid data submitted") response_data = {"errors": errors} return Response(data=response_data, status=status.HTTP_400_BAD_REQUEST)
def registration(request, form, auth_form): if request.user.is_authenticated(): return HttpResponseRedirect("/") if request.POST.get('Register', None): form = RegistrationFormUniqueEmail(request.POST) if form.is_valid() and request.POST.get('tos', None): cleaned = form.cleaned_data reg_view = RegistrationView() try: reg_view.register(request, **cleaned) return render_to_response("registration/registration_complete.html", locals()) except ValueError: return render_to_response("registration/registration_closed.html") else: if not request.POST.get('tos', None): form.errors.update({"rules": _("Agreement with terms is required")}) if request.POST.get('Login', None): auth_form = AuthenticationForm(request, data=request.POST) if auth_form.is_valid(): user = authenticate(email=request.POST.get("username", ""), password=request.POST.get("password", "")) login(request, user) try: cabinet = Cabinet.objects.get(user=user.pk) except ObjectDoesNotExist: cabinet = Cabinet(user=user, create_user=user) cabinet.save() return HttpResponseRedirect(request.GET.get('next', '/')) return render_to_response("centerpokupok/Registr/registr.html", locals(), context_instance=RequestContext(request))
class RegistrationResource(Resource): """ Registration resource. Uses ``registration_view`` to perform registration. The registration form must be set as ``form_class`` for ``validation``. Read about it here: https://django-registration.readthedocs.org/en/latest/forms.html and here: http://django-tastypie.readthedocs.org/en/latest/validation.html """ registration_view = RegistrationView() class Meta: object_class = RegistrationProfile authorization = Authorization() allowed_methods = ['post'] validation = FormValidation(form_class=RegistrationFormUniqueEmail) def obj_create(self, bundle, **kwargs): self.is_valid(bundle) if bundle.errors: raise ImmediateHttpResponse( response=self.error_response(bundle.request, bundle.errors)) self.registration_view.register(bundle.request, **bundle.data) return bundle def detail_uri_kwargs(self, bundle_or_obj): return {}
def sign_up(request): view = RegistrationView() form = RegistrationFormUniqueEmail(request.POST) if form.is_valid(): from_beekeepers = ('app.beescape.org' in request.get_host() or 'beekeepers' in request.GET) user = view.register(request, form) origin_app = \ UserProfile.BEEKEEPERS if from_beekeepers else \ UserProfile.POLLINATION UserProfile.objects.create( user=user, origin_app=origin_app ) response_data = {'result': 'success', 'username': user.username, 'guest': False} return Response(data=response_data, status=status.HTTP_200_OK) else: errors = [] if 'username' not in form.cleaned_data: errors.append("Username is invalid or already in use") if 'password1' not in form.cleaned_data: errors.append("Password must be specified") if 'password2' not in form.cleaned_data or \ form.cleaned_data['password1'] != form.cleaned_data['password2']: errors.append("Passwords do not match") if 'email' not in form.cleaned_data: errors.append("Email is invalid or already in use") if len(errors) == 0: errors.append("Invalid data submitted") response_data = {"errors": errors} return Response(data=response_data, status=status.HTTP_400_BAD_REQUEST)