Esempio n. 1
0
def edit_person(request):
    user = request.user
    group = user.groups.first()
    if str(group) == "Person":
        person = get_object_or_404(Person, user_id=user.id)
        address = person.address
        if request.method == 'POST':
            user_form = UpdateForm(
                request.POST,
                instance=user,
                initial={'fullname': user.first_name + " " + user.last_name})
            address_form = AddressForm(request.POST, instance=address)
            person_form = PersonForm(request.POST,
                                     request.FILES,
                                     instance=person)
            if user_form.is_valid() and address_form.is_valid(
            ) and person_form.is_valid():
                user_form.save()
                address_form.save()
                person_form.save()
                return HttpResponseRedirect("/profile/" + str(user.id) + "/")
        else:
            user_form = UpdateForm(
                instance=user,
                initial={'fullname': user.first_name + " " + user.last_name})
            address_form = AddressForm(instance=address)
            person_form = PersonForm(instance=person)
        context = {
            'user_form': user_form,
            'address_form': address_form,
            'person_form': person_form,
        }
        return render(request, 'edit_person.html', context)
    else:
        return HttpResponseRedirect("/index/")
Esempio n. 2
0
def register_person(request):
    if request.user.is_authenticated:
        HttpResponseRedirect('/profile/' + str(request.user.id))
    user_form = RegisterForm(request.POST)
    address_form = AddressForm(request.POST)
    person_form = PersonForm(request.POST, request.FILES)
    context = {
        'user_form': user_form,
        'address_form': address_form,
        'person_form': person_form,
    }
    if request.method == 'POST':
        if user_form.is_valid() and address_form.is_valid(
        ) and person_form.is_valid():
            user_form.save()
            temp = person_form.save(commit=False)
            temp.user = User.objects.latest('date_joined')
            Group.objects.get(name='Person').user_set.add(temp.user)
            cleaned_info = address_form.cleaned_data
            go = form_address_exists(cleaned_info)
            if go == None:
                address_form.save()
                temp.address = Address.objects.all().order_by("-id")[0]
            else:
                temp.address = go
            temp.save()
            user = authenticate(username=user_form.cleaned_data["username"],
                                password=user_form.cleaned_data["password1"])
            auth_login(request, user)
            return HttpResponseRedirect('/profile/' + str(temp.user.id))
    return render(request, 'register_person.html', context)
Esempio n. 3
0
def person_form(
    request: WSGIRequest
) -> Union[HttpResponse, HttpResponseRedirect, HttpResponsePermanentRedirect]:
    """
    View to display and save Person form
    :param request: WSGI request
    :return:
    """
    if request.method == 'GET':
        form = PersonForm(error_class=BootstrapError)
        return render(request, 'homepage.html', {'form': form})
    if request.method == 'POST':
        form = PersonForm(request.POST, error_class=BootstrapError)
        if form.is_valid():
            form.save()
            return redirect('person_form')
        return render(request, 'homepage.html', {'form': form})