def contact(request, pk=None): if pk: contact = get_object_or_404(Contact, pk=pk) else: contact = Contact() contact_form = ContactForm(instance=contact) connection_formset = ConnectionFormSet(instance=contact) if request.method == 'POST': data = {} for key in request.POST: val = request.POST[key] if isinstance(val, basestring): data[key] = val else: try: data[key] = val[0] except (IndexError, TypeError): data[key] = val # print repr(data) del data if pk: if request.POST["submit"] == "Delete Contact": contact.delete() messages.add_message(request, messages.INFO, "Deleted contact") return HttpResponseRedirect(reverse(registration)) contact_form = ContactForm(request.POST, instance=contact) else: contact_form = ContactForm(request.POST) if contact_form.is_valid(): contact = contact_form.save(commit=False) connection_formset = ConnectionFormSet(request.POST, instance=contact) if connection_formset.is_valid(): contact.save() connection_formset.save() messages.add_message(request, messages.INFO, "Added contact") return HttpResponseRedirect(reverse(registration)) return render( request, 'registration/contact_form.html', { "contact": contact, "contact_form": contact_form, "connection_formset": connection_formset, })
def contact(request, pk=None): if pk: contact = get_object_or_404(Contact, pk=pk) else: contact = Contact() contact_form = ContactForm(instance=contact) connection_formset = ConnectionFormSet(instance=contact) if request.method == 'POST': data = {} for key in request.POST: val = request.POST[key] if isinstance(val, basestring): data[key] = val else: try: data[key] = val[0] except (IndexError, TypeError): data[key] = val # print repr(data) del data if pk: if request.POST["submit"] == "Delete Contact": contact.delete() messages.add_message(request, messages.INFO, "Deleted contact") return HttpResponseRedirect(reverse(registration)) contact_form = ContactForm(request.POST, instance=contact) else: contact_form = ContactForm(request.POST) if contact_form.is_valid(): contact = contact_form.save(commit=False) connection_formset = ConnectionFormSet(request.POST, instance=contact) if connection_formset.is_valid(): contact.save() connection_formset.save() messages.add_message(request, messages.INFO, "Added contact") return HttpResponseRedirect(reverse(registration)) return render(request, 'registration/contact_form.html', { "contact": contact, "contact_form": contact_form, "connection_formset": connection_formset, })
def if_exists_delete_contact(name): try: contact = Contact.objects.get(name=name) Contact.delete(contact) except Contact.DoesNotExist: pass