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/")
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)
def test_PersonForm_valid(self): form = PersonForm( data={ 'email': "*****@*****.**", 'fullname': "user", 'password1': "User123456", 'password2': "User123456", 'username': "******", 'bio': "fwegwe", 'postal_code': "0976", 'city': "Trondheim", 'street_address': "Gløs 11 B", 'country': "Norway" }) self.assertTrue(form.is_valid())
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})
def create(request): if request.method == 'POST': form = PersonForm(request.POST) if form.is_valid(): return HttpResponseRedirect('/create')