Add link to show a document's OCR errors. GitLab issue #291.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-06-21 15:57:53 -04:00
parent 538b66b238
commit b5858ad6f8
6 changed files with 41 additions and 7 deletions
+1
View File
@@ -12,6 +12,7 @@ XX (2017-XX-XX)
- Fix index rebuilding for multi value first levels. GitLab issue #391.
- Truncate views titles via the APPEARANCE_MAXIMUM_TITLE_LENGTH setting. GitLab issue #217.
- Add background task manager app. GitLab issue #132.
- Add link to show a document's OCR errors. GitLab issue #291.
2.3 (2017-06-08)
================
+10 -3
View File
@@ -23,9 +23,10 @@ from rest_api.classes import APIEndPoint
from .handlers import initialize_new_ocr_settings, post_version_upload_ocr
from .links import (
link_document_content, link_document_submit, link_document_submit_all,
link_document_submit_multiple, link_document_type_ocr_settings,
link_document_type_submit, link_entry_list
link_document_content, link_document_ocr_erros_list, link_document_submit,
link_document_submit_all, link_document_submit_multiple,
link_document_type_ocr_settings, link_document_type_submit,
link_entry_list
)
from .permissions import permission_ocr_document, permission_ocr_content_view
from .queues import * # NOQA
@@ -128,6 +129,12 @@ class OCRApp(MayanAppConfig):
menu_object.bind_links(
links=(link_document_type_ocr_settings,), sources=(DocumentType,)
)
menu_secondary.bind_links(
links=(link_document_content, link_document_ocr_erros_list,),
sources=(
'ocr:document_content', 'ocr:document_ocr_error_list'
)
)
menu_secondary.bind_links(
links=(link_entry_list,),
sources=(
+5
View File
@@ -36,3 +36,8 @@ link_entry_list = Link(
icon='fa fa-file-text-o', permissions=(permission_ocr_document,),
text=_('OCR errors'), view='ocr:entry_list'
)
link_document_ocr_erros_list = Link(
args='resolved_object.id', icon='fa fa-file-text-o',
permissions=(permission_ocr_content_view,), text=_('OCR errors'),
view='ocr:document_ocr_error_list'
)
+2 -1
View File
@@ -28,7 +28,8 @@ class DocumentTypeSettings(models.Model):
@python_2_unicode_compatible
class DocumentVersionOCRError(models.Model):
document_version = models.ForeignKey(
DocumentVersion, verbose_name=_('Document version')
DocumentVersion, related_name='ocr_errors',
verbose_name=_('Document version')
)
datetime_submitted = models.DateTimeField(
auto_now=True, db_index=True, verbose_name=_('Date time submitted')
+6 -3
View File
@@ -6,8 +6,8 @@ from .api_views import (
APIDocumentOCRView, APIDocumentPageContentView, APIDocumentVersionOCRView
)
from .views import (
DocumentAllSubmitView, DocumentOCRContent, DocumentSubmitView,
DocumentSubmitManyView, DocumentTypeSettingsEditView,
DocumentAllSubmitView, DocumentOCRContent, DocumentOCRErrorsListView,
DocumentSubmitView, DocumentSubmitManyView, DocumentTypeSettingsEditView,
DocumentTypeSubmitView, EntryListView
)
@@ -37,7 +37,10 @@ urlpatterns = [
DocumentTypeSettingsEditView.as_view(),
name='document_type_ocr_settings'
),
url(
r'^documents/(?P<pk>\d+)/ocr/errors/$',
DocumentOCRErrorsListView.as_view(), name='document_ocr_error_list'
),
url(r'^all/$', EntryListView.as_view(), name='entry_list'),
]
+17
View File
@@ -157,3 +157,20 @@ class EntryListView(SingleObjectListView):
def get_queryset(self):
return DocumentVersionOCRError.objects.all()
class DocumentOCRErrorsListView(SingleObjectListView):
view_permission = permission_ocr_document
def get_document(self):
return get_object_or_404(Document, pk=self.kwargs['pk'])
def get_extra_context(self):
return {
'hide_object': True,
'object': self.get_document(),
'title': _('OCR errors for document: %s') % self.get_document(),
}
def get_queryset(self):
return self.get_document().latest_version.ocr_errors.all()