OCR errors are deleted at the next successfull retry, remove redundant option to delete OCR log entries.
This commit is contained in:
@@ -27,8 +27,7 @@ from .handlers import initialize_new_ocr_settings, post_version_upload_ocr
|
|||||||
from .links import (
|
from .links import (
|
||||||
link_document_content, link_document_submit, link_document_submit_all,
|
link_document_content, link_document_submit, link_document_submit_all,
|
||||||
link_document_submit_multiple, link_document_type_ocr_settings,
|
link_document_submit_multiple, link_document_type_ocr_settings,
|
||||||
link_document_type_submit, link_entry_delete, link_entry_delete_multiple,
|
link_document_type_submit, link_entry_list
|
||||||
link_entry_list
|
|
||||||
)
|
)
|
||||||
from .models import DocumentVersionOCRError
|
from .models import DocumentVersionOCRError
|
||||||
from .permissions import permission_ocr_document, permission_ocr_content_view
|
from .permissions import permission_ocr_document, permission_ocr_content_view
|
||||||
@@ -107,16 +106,9 @@ class OCRApp(MayanAppConfig):
|
|||||||
menu_multi_item.bind_links(
|
menu_multi_item.bind_links(
|
||||||
links=(link_document_submit_multiple,), sources=(Document,)
|
links=(link_document_submit_multiple,), sources=(Document,)
|
||||||
)
|
)
|
||||||
menu_multi_item.bind_links(
|
|
||||||
links=(link_entry_delete_multiple,),
|
|
||||||
sources=(DocumentVersionOCRError,)
|
|
||||||
)
|
|
||||||
menu_object.bind_links(
|
menu_object.bind_links(
|
||||||
links=(link_document_submit,), sources=(Document,)
|
links=(link_document_submit,), sources=(Document,)
|
||||||
)
|
)
|
||||||
menu_object.bind_links(
|
|
||||||
links=(link_entry_delete,), sources=(DocumentVersionOCRError,)
|
|
||||||
)
|
|
||||||
menu_object.bind_links(
|
menu_object.bind_links(
|
||||||
links=(link_document_type_ocr_settings,), sources=(DocumentType,)
|
links=(link_document_type_ocr_settings,), sources=(DocumentType,)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from navigation import Link
|
|||||||
|
|
||||||
from .permissions import (
|
from .permissions import (
|
||||||
permission_ocr_content_view, permission_ocr_document,
|
permission_ocr_content_view, permission_ocr_document,
|
||||||
permission_ocr_document_delete, permission_document_type_ocr_setup
|
permission_document_type_ocr_setup
|
||||||
)
|
)
|
||||||
|
|
||||||
link_document_content = Link(
|
link_document_content = Link(
|
||||||
@@ -32,13 +32,6 @@ link_document_type_submit = Link(
|
|||||||
icon='fa fa-font', permissions=(permission_ocr_document,),
|
icon='fa fa-font', permissions=(permission_ocr_document,),
|
||||||
text=_('OCR documents per type'), view='ocr:document_type_submit'
|
text=_('OCR documents per type'), view='ocr:document_type_submit'
|
||||||
)
|
)
|
||||||
link_entry_delete = Link(
|
|
||||||
permissions=(permission_ocr_document_delete,), text=_('Delete'),
|
|
||||||
view='ocr:entry_delete', args='object.id'
|
|
||||||
)
|
|
||||||
link_entry_delete_multiple = Link(
|
|
||||||
text=_('Delete'), view='ocr:entry_delete_multiple'
|
|
||||||
)
|
|
||||||
link_entry_list = Link(
|
link_entry_list = Link(
|
||||||
icon='fa fa-file-text-o', permissions=(permission_ocr_document,),
|
icon='fa fa-file-text-o', permissions=(permission_ocr_document,),
|
||||||
text=_('OCR errors'), view='ocr:entry_list'
|
text=_('OCR errors'), view='ocr:entry_list'
|
||||||
|
|||||||
@@ -9,9 +9,6 @@ namespace = PermissionNamespace('ocr', _('OCR'))
|
|||||||
permission_ocr_document = namespace.add_permission(
|
permission_ocr_document = namespace.add_permission(
|
||||||
name='ocr_document', label=_('Submit documents for OCR')
|
name='ocr_document', label=_('Submit documents for OCR')
|
||||||
)
|
)
|
||||||
permission_ocr_document_delete = namespace.add_permission(
|
|
||||||
name='ocr_document_delete', label=_('Delete documents from OCR queue')
|
|
||||||
)
|
|
||||||
permission_ocr_content_view = namespace.add_permission(
|
permission_ocr_content_view = namespace.add_permission(
|
||||||
name='ocr_content_view',
|
name='ocr_content_view',
|
||||||
label=_('View the transcribed text from document')
|
label=_('View the transcribed text from document')
|
||||||
|
|||||||
@@ -39,11 +39,6 @@ urlpatterns = patterns(
|
|||||||
),
|
),
|
||||||
|
|
||||||
url(r'^all/$', EntryListView.as_view(), name='entry_list'),
|
url(r'^all/$', EntryListView.as_view(), name='entry_list'),
|
||||||
url(r'^(?P<pk>\d+)/delete/$', 'entry_delete', name='entry_delete'),
|
|
||||||
url(
|
|
||||||
r'^multiple/delete/$', 'entry_delete_multiple',
|
|
||||||
name='entry_delete_multiple'
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
api_urls = patterns(
|
api_urls = patterns(
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from .forms import DocumentContentForm, DocumentTypeSelectForm
|
|||||||
from .models import DocumentVersionOCRError
|
from .models import DocumentVersionOCRError
|
||||||
from .permissions import (
|
from .permissions import (
|
||||||
permission_ocr_content_view, permission_ocr_document,
|
permission_ocr_content_view, permission_ocr_document,
|
||||||
permission_ocr_document_delete, permission_document_type_ocr_setup
|
permission_document_type_ocr_setup
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -170,70 +170,3 @@ class EntryListView(SingleObjectListView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return DocumentVersionOCRError.objects.all()
|
return DocumentVersionOCRError.objects.all()
|
||||||
|
|
||||||
|
|
||||||
def entry_delete(request, pk=None, pk_list=None):
|
|
||||||
Permission.check_permissions(
|
|
||||||
request.user, (permission_ocr_document_delete,)
|
|
||||||
)
|
|
||||||
|
|
||||||
if pk:
|
|
||||||
entries = [get_object_or_404(DocumentVersionOCRError, pk=pk)]
|
|
||||||
elif pk_list:
|
|
||||||
entries = [
|
|
||||||
get_object_or_404(
|
|
||||||
DocumentVersionOCRError, pk=pk
|
|
||||||
) for pk in pk_list.split(',')
|
|
||||||
]
|
|
||||||
else:
|
|
||||||
messages.error(request, _('Make at least one selection.'))
|
|
||||||
return HttpResponseRedirect(
|
|
||||||
request.META.get(
|
|
||||||
'HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
|
|
||||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
for entry in entries:
|
|
||||||
try:
|
|
||||||
entry.delete()
|
|
||||||
messages.success(
|
|
||||||
request, _('Entry: %(entry)s deleted successfully.') % {
|
|
||||||
'entry': entry
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
except Exception as exception:
|
|
||||||
messages.error(
|
|
||||||
request, _('Error entry: %(entry)s; %(error)s') % {
|
|
||||||
'entry': entry, 'error': exception
|
|
||||||
}
|
|
||||||
)
|
|
||||||
return HttpResponseRedirect(next)
|
|
||||||
|
|
||||||
context = {
|
|
||||||
'next': next,
|
|
||||||
'previous': previous,
|
|
||||||
'delete_view': True,
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(entries) == 1:
|
|
||||||
context['object'] = entries[0]
|
|
||||||
|
|
||||||
context['title'] = ungettext(
|
|
||||||
'Delete the selected entry?',
|
|
||||||
'Delete the selected entries?',
|
|
||||||
len(entries)
|
|
||||||
)
|
|
||||||
|
|
||||||
return render_to_response(
|
|
||||||
'appearance/generic_confirm.html', context,
|
|
||||||
context_instance=RequestContext(request)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def entry_delete_multiple(request):
|
|
||||||
return entry_delete(request, pk_list=request.GET.get('id_list', ''))
|
|
||||||
|
|||||||
Reference in New Issue
Block a user