Esempio n. 1
0
def new(request):
    if request.method == "POST":
        form = NewUserForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("./")
    else:
        form = NewUserForm()

    return render_to_response("account/new.html",
                            {"form": form,},
                            context_instance=RequestContext(request))
Esempio n. 2
0
def registerPage(request):
    if request.method == "POST":
        form = NewUserForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            messages.success(request, "Registration successful.")
            return redirect("index")
        messages.error(request,
                       "Unsuccessful registration. Invalid information.")
    form = NewUserForm
    return render(request=request,
                  template_name="register.html",
                  context={"form": form})
Esempio n. 3
0
def test_NewUserForm_save(register_valid_post_request, db_w_group):
    from account.forms import NewUserForm
    from account.templatetags import user_utils

    request = register_valid_post_request
    form = NewUserForm(request.POST)
    form.save()

    user = User.objects.get(pk=1)

    assert user.username == request.POST.get('username')
    assert user.email == request.POST.get('email')
    assert user_utils.has_group(user, 'basic_web_user')
    assert user_utils.has_permission(user, 'do stuff')
Esempio n. 4
0
def signup(request):
    if request.user.is_authenticated():
        messages.add_message(request, messages.ERROR,
                _('You are currently logged in, you cannot signup.'))
        return HttpResponseRedirect("/")
    form = UserLoginForm()
    signup_form = NewUserForm(request.POST)
    if signup_form.is_valid():
        user, password = AccountManager.create_user(**signup_form.cleaned_data)
        AccountManager(user).send_confirmation_mail(password=password)
        messages.add_message(request, messages.SUCCESS,
                _('Please check your emails for a mail from us with a confirmation link.'))
        return HttpResponseRedirect("/")
    return render(request, 'account/login.html',
            {"form": form,
            "signup_form": signup_form,
            "custom_base": "base.html",
            "simple": False}, status=400)
Esempio n. 5
0
def newUser(request):
    if request.method == 'POST':
        form = NewUserForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('/account/home')
    else:
        form = NewUserForm()
    args = {'form': form}
    return render(request, 'account/new-user.html', args)
Esempio n. 6
0
def new(request):
    if request.method == "POST":
        form = NewUserForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("./")
    else:
        form = NewUserForm()

    return render_to_response("account/new.html", {
        "form": form,
    },
                              context_instance=RequestContext(request))
Esempio n. 7
0
def submit_request(request, public_body=None):
    error = False
    foilaw = None
    if public_body is not None:
        public_body = get_object_or_404(PublicBody,
                slug=public_body)
        all_laws = FoiLaw.objects.filter(jurisdiction=public_body.jurisdiction)
    else:
        all_laws = FoiLaw.objects.all()
    context = {"public_body": public_body}

    request_form = RequestForm(all_laws, FoiLaw.get_default_law(public_body),
            True, request.POST)
    context['request_form'] = request_form
    context['public_body_form'] = PublicBodyForm()
    if public_body is None and \
                request.POST.get('public_body') == "new":
            pb_form = PublicBodyForm(request.POST)
            context["public_body_form"] = pb_form
            if pb_form.is_valid():
                data = pb_form.cleaned_data
                data['confirmed'] = False
                public_body = PublicBody(**data)
            else:
                error = True

    if not request_form.is_valid():
        error = True
    else:
        if public_body is None and \
                request_form.cleaned_data['public_body'] != '' and \
                request_form.cleaned_data['public_body'] != 'new':
            public_body = request_form.public_body_object

    context['user_form'] = None
    user = None
    if not request.user.is_authenticated():
        user_form = NewUserForm(request.POST)
        context['user_form'] = user_form
        if not user_form.is_valid():
            error = True
    else:
        user = request.user

    if not error:
        password = None
        if user is None:
            user, password = AccountManager.create_user(**user_form.cleaned_data)
        sent_to_pb = 1
        if public_body is not None and public_body.pk is None:
            public_body._created_by = user
            public_body.save()
            sent_to_pb = 2
        elif public_body is None:
            sent_to_pb = 0

        if foilaw is None:
            foilaw = request_form.foi_law

        foi_request = FoiRequest.from_request_form(user, public_body,
                foilaw, form_data=request_form.cleaned_data, post_data=request.POST)
        if user.is_active:
            if sent_to_pb == 0:
                messages.add_message(request, messages.INFO,
                    _('Others can now suggest the Public Bodies for your request.'))
            elif sent_to_pb == 2:
                messages.add_message(request, messages.INFO,
                    _('Your request will be sent as soon as the newly created Public Body was confirmed by an administrator.'))

            else:
                messages.add_message(request, messages.INFO,
                    _('Your request has been sent.'))
            return HttpResponseRedirect(foi_request.get_absolute_url())
        else:
            AccountManager(user).send_confirmation_mail(request_id=foi_request.pk,
                    password=password)
            messages.add_message(request, messages.INFO,
                    _('Please check your inbox for mail from us to confirm your mail address.'))
            # user cannot access the request yet!
            return HttpResponseRedirect("/")
    messages.add_message(request, messages.ERROR,
        _('There were errors in your form submission. Please review and submit again.'))
    return render(request, 'foirequest/request.html', context, status=400)