def add_supplier(request): context_vars = dict() context_vars['header'] = capfirst(_('add new supplier')) supplier_form = SupplierForm() address_form = AddressForm(prefix='address') postal_address_form = AddressForm(prefix='post_address') if request.method == "POST": supplier_form = SupplierForm(request.POST, request.FILES) address_form = AddressForm(request.POST, request.FILES, prefix='address') postal_address_form = AddressForm(request.POST, request.FILES, prefix='post_address') try: if supplier_form.is_valid() and address_form.is_valid() and postal_address_form.is_valid(): supplier = supplier_form.save() address_form = AddressForm(request.POST, request.FILES, prefix='address', instance=supplier.address) if not address_form.is_valid(): raise InvalidForm() address_form.save() postal_address_form = AddressForm(request.POST, request.FILES, prefix='post_address', instance=supplier.postal_address) if postal_address_form.is_valid(): postal_address_form.save() else: supplier.postal_address.postcode = supplier.address.postcode supplier.postal_address.address = supplier.address.address supplier.postal_address.city = supplier.address.city supplier.postal_address.county = supplier.address.county supplier.postal_address.country = supplier.address.country supplier.postal_address.latitude = supplier.address.latitude supplier.postal_address.longitude = supplier.address.longitude supplier.postal_address.save() if settings.WORKFLOWMAX_APIKEY and settings.WORKFLOWMAX_ACCOUNTKEY: supplier.wm_sync() return HttpResponseRedirect(reverse('supplier-view', args=[supplier.id])) except InvalidForm: pass context_vars['supplier_form'] = supplier_form context_vars['address_form'] = address_form context_vars['postal_address_form'] = postal_address_form return direct_to_template(request, template='supplier/form.html', extra_context=context_vars)
try: object_id = int(object_id) supplier = Supplier.objects.get(id=object_id) except ValueError, ObjectDoesNotExist: return HttpResponseRedirect(reverse('supplier-list')) context_vars['header'] = capfirst(_('edit supplier %s') % supplier.name) supplier_form = SupplierForm(instance=supplier) address_form = AddressForm(prefix='address', instance=supplier.address) postal_address_form = AddressForm(prefix='post_address', instance=supplier.postal_address) if request.method == "POST": supplier_form = SupplierForm(request.POST, request.FILES, instance=supplier) address_form = AddressForm(request.POST, request.FILES, prefix='address', instance=supplier.address) postal_address_form = AddressForm(request.POST, request.FILES, prefix='post_address', instance=supplier.postal_address) if supplier_form.is_valid() and address_form.is_valid() and postal_address_form.is_valid(): supplier = supplier_form.save() address_form.save() postal_address_form.save() if settings.WORKFLOWMAX_APIKEY and settings.WORKFLOWMAX_ACCOUNTKEY: supplier.wm_sync() return HttpResponseRedirect(reverse('supplier-view', args=[supplier.id])) context_vars['supplier_form'] = supplier_form context_vars['address_form'] = address_form context_vars['postal_address_form'] = postal_address_form return direct_to_template(request, template='supplier/form.html', extra_context=context_vars) @login_required def delete_supplier(request, object_id): context_vars = dict() try: