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())
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)
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())
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)
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)