コード例 #1
0
ファイル: views.py プロジェクト: strogo/mayan
def document_edit_metadata(request, document_id):
    check_permissions(request.user, "documents", [PERMISSION_DOCUMENT_METADATA_EDIT])

    document = get_object_or_404(Document, pk=document_id)

    initial = []
    for item in DocumentTypeMetadataType.objects.filter(document_type=document.document_type):
        initial.append(
            {
                "metadata_type": item.metadata_type,
                "document_type": document.document_type,
                "value": document.documentmetadata_set.get(metadata_type=item.metadata_type).value
                if document.documentmetadata_set.filter(metadata_type=item.metadata_type)
                else None,
            }
        )
    # for metadata in document.documentmetadata_set.all():
    #    initial.append({
    #        'metadata_type':metadata.metadata_type,
    #        'document_type':document.document_type,
    #        'value':metadata.value,
    #    })

    formset = MetadataFormSet(initial=initial)
    if request.method == "POST":
        formset = MetadataFormSet(request.POST)
        if formset.is_valid():
            save_metadata_list(formset.cleaned_data, document)
            try:
                document_delete_fs_links(document)
            except Exception, e:
                messages.error(request, e)
                return HttpResponseRedirect(reverse("document_list"))

            messages.success(request, _(u"Metadata for document %s edited successfully.") % document)

            try:
                warnings = document_create_fs_links(document)

                if request.user.is_staff or request.user.is_superuser:
                    for warning in warnings:
                        messages.warning(request, warning)

                messages.success(request, _(u"Document filesystem links updated successfully."))
            except Exception, e:
                messages.error(request, e)
                return HttpResponseRedirect(document.get_absolute_url())

            return HttpResponseRedirect(document.get_absolute_url())
コード例 #2
0
ファイル: views.py プロジェクト: coulix/mayan
def _handle_save_document(request, document, form=None):
    if AUTOMATIC_OCR:
        document_queue = add_document_to_queue(document)
        messages.success(request, _(u'Document: %(document)s was added to the OCR queue: %(queue)s.') % {
            'document':document, 'queue':document_queue.label})
    
    if form and 'document_type_available_filenames' in form.cleaned_data:
        if form.cleaned_data['document_type_available_filenames']:
            document.file_filename = form.cleaned_data['document_type_available_filenames'].filename
            document.save()

    save_metadata_list(decode_metadata_from_url(request.GET), document)
    try:
        document_create_fs_links(document)
    except Exception, e:
        messages.error(request, e)
コード例 #3
0
def document_edit_metadata(request, document_id):
    check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_METADATA_EDIT])
            
    document = get_object_or_404(Document, pk=document_id)

    initial=[]
    for item in DocumentTypeMetadataType.objects.filter(document_type=document.document_type):
        initial.append({
            'metadata_type':item.metadata_type,
            'document_type':document.document_type,
            'value':document.documentmetadata_set.get(metadata_type=item.metadata_type).value if document.documentmetadata_set.filter(metadata_type=item.metadata_type) else None
        })
    #for metadata in document.documentmetadata_set.all():
    #    initial.append({
    #        'metadata_type':metadata.metadata_type,
    #        'document_type':document.document_type,
    #        'value':metadata.value,
    #    })    

    formset = MetadataFormSet(initial=initial)
    if request.method == 'POST':
        formset = MetadataFormSet(request.POST)
        if formset.is_valid():
            save_metadata_list(formset.cleaned_data, document)
            try:
                document_delete_fs_links(document)
            except Exception, e:
                messages.error(request, e)
                return HttpResponseRedirect(reverse('document_list'))
           
            messages.success(request, _(u'Metadata for document %s edited successfully.') % document)
            
            try:
                warnings = document_create_fs_links(document)

                if request.user.is_staff or request.user.is_superuser:
                    for warning in warnings:
                        messages.warning(request, warning)                

                messages.success(request, _(u'Document filesystem links updated successfully.'))                
            except Exception, e:
                messages.error(request, e)
                return HttpResponseRedirect(document.get_absolute_url())
                
            return HttpResponseRedirect(document.get_absolute_url())
コード例 #4
0
ファイル: views.py プロジェクト: strogo/mayan
def _handle_save_document(request, document, form=None):
    # TODO: move this to OCR app as a post_save signal on create==True
    if AUTOMATIC_OCR:
        submit_document_to_queue(request, document)

    if form and "document_type_available_filenames" in form.cleaned_data:
        if form.cleaned_data["document_type_available_filenames"]:
            document.file_filename = form.cleaned_data["document_type_available_filenames"].filename
            document.save()

    save_metadata_list(decode_metadata_from_url(request.GET), document)
    try:
        warnings = document_create_fs_links(document)
        if request.user.is_staff or request.user.is_superuser:
            for warning in warnings:
                messages.warning(request, warning)
    except Exception, e:
        messages.error(request, e)
コード例 #5
0
def _handle_save_document(request, document, form=None):
    #TODO: move this to OCR app as a post_save signal on create==True
    if AUTOMATIC_OCR:
        submit_document_to_queue(request, document)
    
    if form and 'document_type_available_filenames' in form.cleaned_data:
        if form.cleaned_data['document_type_available_filenames']:
            document.file_filename = form.cleaned_data['document_type_available_filenames'].filename
            document.save()

    save_metadata_list(decode_metadata_from_url(request.GET), document)
    try:
        warnings = document_create_fs_links(document)
        if request.user.is_staff or request.user.is_superuser:
            for warning in warnings:
                messages.warning(request, warning)        
    except Exception, e:
        messages.error(request, e)