Exemplo n.º 1
0
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)
Exemplo n.º 2
0
  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 edit_supplier(request, object_id):
  context_vars = dict()
  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