Update document OCR submit views to CBV views

This commit is contained in:
Roberto Rosario
2015-06-19 19:07:44 -04:00
parent 92ba52720a
commit ad7a5d8244
2 changed files with 59 additions and 25 deletions

View File

@@ -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])