Example #1
0
def new_atm_doc(request):
    "Creates a new ATM Document"
    
    DocForm = form_for_model(AtmDocument)
    
    if request.method == "POST":
        doc_form = DocForm(request.POST)
        if doc_form.is_valid():
            # сохраняем новый документ
            doc = doc_form.save(True)
            
            # теперь распарсим строки документа
            i = 1
            while True:
                if request.has_key("card_name%i" % i):
                    card_name = request.POST["card_name%i" % i]
                    if card_name=="":
                        break
                    card_number = request.POST["card_number%i" % i]
                    arrival_date = request.POST["arrival_date%i" % i]
                    delivery_date = request.POST["delivery_date%i" % i]
                    card_note = request.POST["card_note%i" % i]
                    
                    # сохраняем карточку
                    new_item = AtmCardItem(name=card_name, number=card_number, delivery_date=delivery_date, arrival_date=arrival_date, note=card_note, doc=doc)
                    new_item.save()
                    
                    # индекс следующей строки
                    i=i+1
            
        return HttpResponseRedirect("/edit_docs_atm/%s/" % doc.id)
    else:
        doc_form = DocForm()
    
    return default_renderer(request, "atm_doc", {'doc_form':doc_form})
Example #2
0
def edit_atm_doc(request, doc_id):
    "Edit ATM Document"
    doc = AtmDocument.objects.get(pk=doc_id)
    DocForm = form_for_instance(doc)
    if request.method == "POST":
        doc_form = DocForm(request.POST)
        if doc_form.is_valid():
            # сохраняем новый документ
            doc = doc_form.save(True)
            save_instance(doc_form, doc, True)
            
            # теперь распарсим строки документа
            i = 1
            while True:
                if request.has_key("card_name%i" % i):
                    card_name = request.POST["card_name%i" % i]
                    if card_name=="":
                        break
                    card_number = request.POST["card_number%i" % i]
                    arrival_date = request.POST["arrival_date%i" % i]
                    delivery_date = request.POST["delivery_date%i" % i]
                    card_note = request.POST["card_note%i" % i]
                    
                    if request.has_key("card_id%i" % i):
                        card_id = request.POST["card_id%i" % i]
                        item = AtmCardItem.objects.get(pk=card_id)
                        item.name = card_name
                        item.number = card_number
                        item.arrival_date = arrival_date
                        item.delivery_date = delivery_date
                        item.note=card_note
                        item.save()
                    else:
                        # сохраняем новую карточку
                        new_item = AtmCardItem(name=card_name, number=card_number, delivery_date=delivery_date, arrival_date=arrival_date, note=card_note, doc=doc)
                        new_item.save()
                    
                    # индекс следующей строки
                    i=i+1
            
        return HttpResponseRedirect("/edit_docs_atm/%s/" % doc.id)
    else:
        doc_form = DocForm()
        items = AtmCardItem.objects.filter(doc=doc).order_by("id")
    
    content = {
               "doc": doc,
               "doc_form": doc_form,
               "items": items,
               }
    
    return default_renderer(request, "atm_edit", content)