Update document OCR submit views to CBV views
This commit is contained in:
@@ -3,12 +3,13 @@ from __future__ import unicode_literals
|
||||
from django.conf.urls import patterns, url
|
||||
|
||||
from .api_views import DocumentVersionOCRView
|
||||
from .views import DocumentSubmitView, DocumentManySubmitView
|
||||
|
||||
urlpatterns = patterns(
|
||||
'ocr.views',
|
||||
url(r'^(?P<document_id>\d+)/content/$', 'document_content', name='document_content'),
|
||||
url(r'^document/(?P<pk>\d+)/submit/$', 'document_submit', name='document_submit'),
|
||||
url(r'^document/multiple/submit/$', 'document_submit_multiple', name='document_submit_multiple'),
|
||||
url(r'^document/(?P<pk>\d+)/submit/$', DocumentSubmitView.as_view(), name='document_submit'),
|
||||
url(r'^document/multiple/submit/$', DocumentManySubmitView.as_view(), name='document_submit_multiple'),
|
||||
|
||||
url(r'^all/$', 'entry_list', name='entry_list'),
|
||||
url(r'^(?P<pk>\d+)/delete/$', 'entry_delete', name='entry_delete'),
|
||||
|
||||
@@ -10,6 +10,7 @@ from django.template import RequestContext
|
||||
from django.utils.translation import ugettext_lazy as _, ungettext
|
||||
|
||||
from acls.models import AccessEntry
|
||||
from common.views import ConfirmView
|
||||
from documents.models import Document, DocumentVersion
|
||||
from permissions.models import Permission
|
||||
|
||||
@@ -21,6 +22,61 @@ from .permissions import (
|
||||
)
|
||||
|
||||
|
||||
class DocumentSubmitView(ConfirmView):
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(DocumentSubmitView, self).get_context_data(**kwargs)
|
||||
|
||||
context.update(
|
||||
{
|
||||
'title': _('Are you sure you wish to submit the selected document for OCR?')
|
||||
}
|
||||
)
|
||||
|
||||
return context
|
||||
|
||||
def object_action(self, request, obj):
|
||||
document = obj
|
||||
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_OCR_DOCUMENT])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_OCR_DOCUMENT, request.user, document)
|
||||
|
||||
document.submit_for_ocr()
|
||||
messages.success(request, _('Document: %(document)s was added to the OCR queue.') % {
|
||||
'document': document}
|
||||
)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
document = get_object_or_404(Document, pk=self.kwargs['pk'])
|
||||
self.object_action(request=request, obj=document)
|
||||
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
|
||||
|
||||
class DocumentManySubmitView(DocumentSubmitView):
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(DocumentSubmitView, self).get_context_data(**kwargs)
|
||||
|
||||
context.update(
|
||||
{
|
||||
'title': _('Are you sure you wish to submit the selected documents for OCR?')
|
||||
}
|
||||
)
|
||||
|
||||
return context
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
for pk in request.GET.get('id_list', '').split(','):
|
||||
document = get_object_or_404(Document, pk=pk)
|
||||
try:
|
||||
self.object_action(request=request, obj=document)
|
||||
except PermissionDenied:
|
||||
pass
|
||||
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
|
||||
|
||||
def document_content(request, document_id):
|
||||
document = get_object_or_404(Document, pk=document_id)
|
||||
|
||||
@@ -43,29 +99,6 @@ def document_content(request, document_id):
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def document_submit(request, pk):
|
||||
document = get_object_or_404(Document, pk=pk)
|
||||
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_OCR_DOCUMENT])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_OCR_DOCUMENT, request.user, document)
|
||||
|
||||
document.submit_for_ocr()
|
||||
messages.success(request, _('Document: %(document)s was added to the OCR queue.') % {
|
||||
'document': document}
|
||||
)
|
||||
|
||||
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
|
||||
|
||||
|
||||
def document_submit_multiple(request):
|
||||
for item_id in request.GET.get('id_list', '').split(','):
|
||||
document_submit(request, item_id)
|
||||
|
||||
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL)))
|
||||
|
||||
|
||||
def entry_list(request):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_OCR_DOCUMENT])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user