Exemplo n.º 1
0
def edit_document(request, pk):
    """ Edit a document """
    label_options = {'labels': {'item_type': 'Document type'}}
    document = Document.objects.get(pk=pk)
    eform = EditDocumentForm(instance=document)
#    rform = ReferenceForm(instance=document.reference)
    tag_formset = get_tag_formset(document, **label_options)
    if request.method == 'POST':
#        rform = ReferenceForm(request.POST, instance=document.reference)
        eform = EditDocumentForm(request.POST, instance=document)
        tag_formset = get_tag_formset(document, data=request.POST, **label_options)
        #this avoids ignoring the evaluation of the form to show the errors
#        rf_is_valid = rform.is_valid()
        rf_is_valid = True
        ef_is_valid = eform.is_valid()
        if rf_is_valid and ef_is_valid and tag_formset.is_valid():
#            rform.save()
#            eform.instance.reference = rform.instance
            eform.save()
            tag_formset.save()
            return HttpResponseRedirect(reverse('documents.views.list_documents'))

    return render_to_response('edit_document.html', {
        'document': document,
        'rform': None,
        'dform': eform,
        'formset': tag_formset,
    }, context_instance=RequestContext(request))
Exemplo n.º 2
0
def edit_document(request, pk):
    """ Edit a document """
    document = Document.objects.get(pk=pk)
    eform = EditDocumentForm(instance=document)
    rform = ReferenceForm(instance=document.reference)
    if request.method == 'POST':
        rform = ReferenceForm(request.POST, instance=document.reference)
        eform = EditDocumentForm(request.POST, instance=document)
        #this avoids ignoring the evaluation of the form to show the errors
        rf_is_valid = rform.is_valid()
        ef_is_valid = eform.is_valid()
        if rf_is_valid and ef_is_valid:
            rform.save()
            eform.instance.reference = rform.instance
            eform.save()
            return HttpResponseRedirect(reverse('documents.views.list_documents'))

    return render_to_response('edit_document.html', {
        'document': document,
        'rform': rform,
        'eform': eform,
    }, context_instance=RequestContext(request))