예제 #1
0
파일: views.py 프로젝트: kahihia/project
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))
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
파일: auth.py 프로젝트: zhoupeiling/Colibri
 def register(self, request, **kwargs):
     while True:
         username = random_string(8)  # 62^8 ~= 2E14
         if not User.objects.filter(username__iexact=username).exists():
             break
     kwargs['username'] = username
     return RegistrationView.register(self, request, **kwargs)
예제 #5
0
파일: views.py 프로젝트: kershner/gifcache
def check_username(request):
    if request.method == 'POST':
        username = request.POST['username']
        if User.objects.filter(username=username).exists():
            logging.debug('Username exists!')
            form = SignupForm(request.POST)
            error = 'The username %s is already taken, please try another!' % username
            context = {
                'form': form,
                'error': error
            }
            return render(request, 'registration/registration_form.html', context)
        else:
            logging.debug('Unique Username!')
            form = SignupForm(request.POST)
            if form.is_valid():
                new_registration = RegistrationView()
                new_registration.register(request, form)
                return render(request, 'registration/registration_complete.html')
    else:
        context = {
            'form': SignupForm()
        }
        return render(request, 'registration/registration_form.html', context)
예제 #6
0
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)
예제 #7
0
파일: auth.py 프로젝트: zhoupeiling/Colibri
 def register(self, request, **kwargs):
     while True:
         username = random_string(8)  # 62^8 ~= 2E14
         if not User.objects.filter(username__iexact=username).exists(): break
     kwargs['username'] = username
     return RegistrationView.register(self, request, **kwargs)
예제 #8
0
 def action(self, request, **cleaned_data):
     _n = NormalRegistrationView()
     new_user = _n.register(request, **cleaned_data)
     return new_user