You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

47 lines
1.4 KiB

# -*- coding: utf-8 -*-
import simplejson as json
from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponseBadRequest, HttpResponse
from django.core import serializers
from django.db.models import get_model
from django.views.decorators.csrf import csrf_protect
from ..models import Invoice
def get_pair(request, model, param1, val1, param2):
if not request.is_ajax():
return HttpResponseBadRequest()
kwargs = {param1: val1}
try:
q_model = get_model('docs', model)
val2 = getattr(q_model.objects.get(**kwargs), param2)
except:
val2 = None
data = {
'val': val2,
}
return HttpResponse(json.dumps(data), mimetype='application/json')
def get_invoices(request, client_id):
if not request.is_ajax():
return HttpResponseBadRequest()
invoices = Invoice.objects.filter(client__id=client_id)
invoices = {invoice.id: '%s от %s' % (invoice.doc_num, invoice.doc_date) for invoice in invoices}
return HttpResponse(json.dumps(invoices), mimetype='application/json')
def get_tbl_items(request, invoice_id):
if not request.is_ajax():
return HttpResponseBadRequest()
invoice = Invoice.objects.get(pk=invoice_id)
data = serializers.serialize('json', invoice.invoice_items.all())
return HttpResponse(json.dumps(data), mimetype='application/json')