def handleGezinPersoonAdd(request, gezinId): # Default mode is "view" formState = "ADD" # On cancel redirect to list cancelRedirect = "../" # Check if form has been submitted if (request.method == "POST"): # A form bound to the POST data persoonForm = PersoonForm(request.POST) # Check if validations pass if (persoonForm.is_valid()): # Form is valid persoonForm.save() # Update gezin name if persoon is family head persoon = persoonForm.instance if (persoon.idgezinsrol == GezinsRol.GEZINSHOOFD): persoon.idgezin.txtgezinsnaam = Gezin.create_gezins_naam(persoon) persoon.idgezin.save() return HttpResponseRedirect("../../persoon/%d/" % (persoonForm.instance.idpersoon)) else: formState = "MODIFY" # Remember the selected tab selectedTab = request.POST["selectedTab"] else: # No POST data persoon = Persoon() # Retrieve gezin persoon.idgezin = Gezin.objects.get(idgezin=gezinId) # Find head of family try: # Found, prefill new person's last name head = Persoon.objects.get(idgezin=gezinId, idgezinsrol=GezinsRol.objects.get(pk=1)) persoon.txtachternaam = head.txtachternaam persoon.txttussenvoegsels = head.txttussenvoegsels except: # Head not present, use gezin name persoon.txtachternaam = persoon.idgezin.txtgezinsnaam persoonForm = PersoonForm(instance=persoon) # Default to first tab selectedTab = 0 persoonList = Persoon.objects.filter(idgezin=gezinId).order_by("idgezinsrol", "dtmgeboortedatum") return render_to_response("KB/persoonDetails.html", {"persoonForm": persoonForm, "selectedTab": selectedTab, "persoonList": persoonList, "formState": formState, "cancelRedirect": cancelRedirect}, context_instance=RequestContext(request))
def handlePersoonDetails(request, persoonId): persoon = Persoon.objects.get(idpersoon=persoonId) # Check if form state is passed try: formState = request.GET["state"] except: # Default mode is "view" formState = "VIEW" # If user came in modify mode, redirect goes back if (formState == "MODIFY"): # On cancel redirect back cancelRedirect = request.META.get("HTTP_REFERER") else: #Otherwise redirect stays on page cancelRedirect = "" # Check if form has been submitted if (request.method == "POST"): # Check whether the form contains an existing person persoon = None persoonId = eval(request.POST["idpersoon"]) if (persoonId): persoon = Persoon.objects.get(idpersoon=persoonId) # A form bound to the POST data persoonForm = PersoonForm(request.POST, instance=persoon) # Check if validations pass if (persoonForm.is_valid()): # Form is valid persoonForm.save() persoon = persoonForm.instance # Update gezin name if persoon is family head if (persoon.idgezinsrol.pk == GezinsRol.GEZINSHOOFD): persoon.idgezin.txtgezinsnaam = Gezin.create_gezins_naam(persoon) persoon.idgezin.save() formState = "VIEW" else: formState = "MODIFY" # Remember the selected tab selectedTab = request.POST["selectedTab"] else: # No POST data persoonForm = PersoonForm(instance=persoon) selectedTab = 0 # Create membership description membership = persoon.membership() persoonList = Persoon.objects.filter(idgezin=persoon.idgezin.idgezin).order_by("idgezinsrol", "dtmgeboortedatum") return render_to_response("KB/persoonDetails.html", {"persoonForm": persoonForm, "selectedTab": selectedTab, "membership": membership, "persoonList": persoonList, "formState": formState, "cancelRedirect": cancelRedirect}, context_instance=RequestContext(request))