コード例 #1
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)
コード例 #2
0
ファイル: views.py プロジェクト: ciclocidade/andy
def register(request):
    if request.method == "POST":
        username = request.POST["email"].replace(".", "").replace("_", "").replace("-", "").split("@")[0]
        while True:
            try:
                User.objects.get(username=username)
                username += str(random.randint(0, 9))
            except User.DoesNotExist:
                break
        d = {
            "username": username,
            "email": request.POST["email"],
            "csrfmiddlewaretoken": request.POST["csrfmiddlewaretoken"],
            "password1": request.POST["password1"],
            "password2": request.POST["password2"],
        }
        form = RegistrationFormUniqueEmail(data=d)
        if form.is_valid():
            new_user = form.save()
            messages.add_message(
                request,
                messages.SUCCESS,
                "Registro feito com sucesso, por favor verifique seu email para continuar com o processo de associação.",
            )
            return HttpResponseRedirect("/")
    else:
        form = RegistrationFormUniqueEmail()
    return render_to_response("register.html", {"form": form}, context_instance=RequestContext(request))
コード例 #3
0
ファイル: user.py プロジェクト: syaiful6/shopie
def create_endpoint(request):
    form = RegistrationFormUniqueEmail(request.data)
    if form.is_valid():
        if Site._meta.installed:
            site = Site.objects.get_current()
        else:
            site = RequestSite(request)

        new_user_instance = form.save()

        new_user = RegistrationProfile.objects.create_inactive_user(
            new_user=new_user_instance,
            site=site,
            send_email=SEND_ACTIVATION_EMAIL,
            request=request,
        )
        signals.user_registered.send(sender=form.__class__,
                                     user=new_user,
                                     request=request)
        serializer = UserSerializer(new_user, many=False)

        try:
            headers = {'Location': serializer.data[api_settings.URL_FIELD_NAME]}
        except (TypeError, KeyError):
            headers = {}

        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
    else:
        return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #4
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))
コード例 #5
0
ファイル: views.py プロジェクト: maurizi/model-my-watershed
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)
コード例 #6
0
ファイル: views.py プロジェクト: sergij/roach
def register(request):
    form = RegistrationFormUniqueEmail(request.POST or None)
    if form.is_valid():
        reg_backend = RegistrationBackend()
        new_user = reg_backend.register(request, **form.cleaned_data)
        new_user.is_active = True
        new_user.save()
        # login
        new_user.backend = 'django.contrib.auth.backends.ModelBackend'
        auth.login(request, new_user)
        next_page = request.GET.get(REDIRECT_FIELD_NAME,
                                    settings.LOGIN_REDIRECT_URL)
        return redirect(next_page)

    if request.is_ajax():
        return render_popup(
            request, 'account/register.html', {
                'base': 'base_form.html',
                'form_url': reverse('account_register'),
                'form': form
            })
    else:
        return render(request, 'account/register.html', {
            'base': 'base.html',
            'form': form
        })
コード例 #7
0
ファイル: views.py プロジェクト: brunogola/andy
def register(request):
    if request.method == 'POST':
        form = RegistrationFormUniqueEmail(data=request.POST, files=request.FILES)
        if form.is_valid():
            new_user = form.save()
            messages.add_message(request, messages.SUCCESS, 'Registro feito com sucesso, por favor verifique seu email para continuar com o processo de associação.')
            return HttpResponseRedirect('/')
    else: 
        form = RegistrationFormUniqueEmail()
    return render_to_response('register.html', {'form': form}, context_instance=RequestContext(request))
コード例 #8
0
ファイル: views.py プロジェクト: kwm4385/autodj
def register_home(request):
    loginform = AuthenticationForm()
    if request.method == "POST":  # If the form registration has been submitted
        form = RegistrationFormUniqueEmail(request.POST)
        if form.is_valid():
            usr, em, pw = form.cleaned_data["username"], form.cleaned_data["email"], form.cleaned_data["password1"]
            user = RegistrationView.register(RegistrationView, request=request, username=usr, email=em, password1=pw)
            return HttpResponseRedirect("/playlist")
        else:
            return render(request, "home.html", {"regform": form, "anchor": "register", "loginform": loginform})
    else:
        form = RegistrationFormUniqueEmail()
        return render(request, "home.html", {"regform": form, "loginform": loginform})
コード例 #9
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)
コード例 #10
0
ファイル: views.py プロジェクト: sergij/roach
def register(request):
    form = RegistrationFormUniqueEmail(request.POST or None)
    if form.is_valid():
        reg_backend = RegistrationBackend()
        new_user = reg_backend.register(request, **form.cleaned_data)
        new_user.is_active = True
        new_user.save()
        # login
        new_user.backend='django.contrib.auth.backends.ModelBackend'
        auth.login(request, new_user)
        next_page = request.GET.get(REDIRECT_FIELD_NAME, settings.LOGIN_REDIRECT_URL)
        return redirect(next_page)

    if request.is_ajax():
        return render_popup(request, 'account/register.html', {
            'base': 'base_form.html',
            'form_url': reverse('account_register'),
            'form': form
        })
    else:
        return render(request, 'account/register.html', {
            'base': 'base.html',
            'form': form
        })
コード例 #11
0
ファイル: views.py プロジェクト: mnishihan/busylissy
def response(request, invite_key, answer='y'):
    """ When an invite is accepted or declined """
    invite = get_object_or_404(Invite, sha=invite_key, response=1)
    invite.response = 2 if answer == "y" else 3
    invite.sha = "ALREADY_USED"
    invite.save()
    # Accepted
    if answer == 'y':
        # User is authenticated, and the user that is asked, than redirect to project
        if request.user.is_authenticated(
        ) and request.user == invite.created_for_user:
            invite.project.members.add(request.user)
            request.user.message_set.create(
                message=_('You have been added to %(project)s.' %
                          {'project': invite.project.name}))
            return HttpResponseRedirect(reverse('project-list'))
        # User is authenticated as a different user
        elif request.user.is_authenticated() and invite.created_for_user:
            invite.project.members.add(invite.created_for_user)
            request.user.message_set.create(message=_(
                '%(username)s has been added to %(project)s. \
                                                      Login as him to go to this project.'
                % {
                    'username': invite.created_for_user.username,
                    'project': invite.project.name
                }))
            logout(request)
            return HttpResponseRedirect(reverse('user_signin'))
        # User is registered but not authenticated
        elif invite.created_for_user:
            invite.project.members.add(invite.created_for_user)
            return HttpResponseRedirect(
                reverse('user_signin') + '?next=%(project_url)s' % {
                    'project_url':
                    reverse('project-detail',
                            kwargs={'slug': invite.project.slug})
                })
        # User is not registered and not authenticated
        else:
            form = RegistrationFormUniqueEmail(
                initial={'email': invite.created_for_email})
            return direct_to_template(request,
                                      template='blinvite/pos_response.html',
                                      extra_context={
                                          'form': form,
                                          'project': invite.project
                                      })

    # User doesn't want to join the project.
    if answer == 'n':
        # User is registered.
        if invite.created_for_user:
            if request.user.is_authenticated():
                request.user.message_set.create(message=_(
                    'You have declined the invitation to %(project)s.' %
                    {'project': invite.project.name}))
                return HttpResponseRedirect(reverse('project-list'))
            else:
                return direct_to_template(
                    request, template='blinvite/neg_reg_response.html')
        # User is not registered.
        else:
            return direct_to_template(
                request, template='blinvite/neg_anon_response.html')