def create_item(request): """ @param request: @param id: @return: JSON for account for added Inventory Item """ item = Item(purchase_account=Account.objects.get(name='Purchase', company=request.company), sales_account=Account.objects.get(name='Sales', company=request.company), purchase_tax_scheme=TaxScheme.objects.get(name='No Tax', company=request.company), sales_tax_scheme=TaxScheme.objects.get(name='No Tax', company=request.company)) scenario = 'Create' for query in request.GET: setattr(item, query, request.GET[query]) if request.POST: form = ItemForm(data=request.POST, instance=item, company=request.company) if form.is_valid(): item = form.save(commit=False) item.company = request.company item.save() if request.is_ajax(): return render(request, 'callback.html', {'obj': InventoryAccountSerializer(item.account).data}) return redirect('/inventory/items/') else: form = ItemForm(instance=item, company=request.company) form.hide_field(request) if request.is_ajax(): base_template = 'modal.html' else: base_template = 'dashboard.html' return render(request, 'item_form.html', { 'scenario': scenario, 'form': form, 'base_template': base_template, })
def item_form(request, id=None): if id: item = get_object_or_404(Item, id=id, company=request.company) scenario = 'Update' else: item = Item(purchase_account=Account.objects.get(name='Purchase', company=request.company), sales_account=Account.objects.get(name='Sales', company=request.company), purchase_tax_scheme=TaxScheme.objects.get(name='No Tax', company=request.company), sales_tax_scheme=TaxScheme.objects.get(name='No Tax', company=request.company)) scenario = 'Create' if request.POST: form = ItemForm(data=request.POST, instance=item, company=request.company) if form.is_valid(): item = form.save(commit=False) item.company = request.company item.save() if request.is_ajax(): return render(request, 'callback.html', {'obj': ItemSerializer(item).data}) return redirect('/inventory/items/') else: form = ItemForm(instance=item, company=request.company) if request.is_ajax(): base_template = 'modal.html' else: base_template = 'dashboard.html' return render(request, 'item_form.html', { 'scenario': scenario, 'form': form, 'base_template': base_template, })