From e012c4c5920abd44c149f7ccbe8b6df67f2247ac Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 17 Feb 2011 23:42:12 -0400 Subject: [PATCH] Added link to remove document from the OCR queue --- apps/ocr/__init__.py | 7 ++++++- apps/ocr/urls.py | 1 + apps/ocr/views.py | 24 +++++++++++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/apps/ocr/__init__.py b/apps/ocr/__init__.py index 09ec87e8ac..ae1b1ec4bc 100755 --- a/apps/ocr/__init__.py +++ b/apps/ocr/__init__.py @@ -9,7 +9,7 @@ from permissions.api import register_permissions from documents.models import Document -from models import DocumentQueue +from models import DocumentQueue, QueueDocument from literals import QUEUEDOCUMENT_STATE_PROCESSING, \ QUEUEDOCUMENT_STATE_PENDING, DOCUMENTQUEUE_STATE_STOPPED, \ DOCUMENTQUEUE_STATE_ACTIVE @@ -23,6 +23,10 @@ register_permissions('ocr', [ #Links submit_document = {'text':_('submit to OCR queue'), 'view':'submit_document', 'args':'object.id', 'famfam':'page_lightning', 'permissions':{'namespace':'ocr', 'permissions':[PERMISSION_OCR_DOCUMENT]}} register_links(Document, [submit_document], menu_name='sidebar') +queue_document_delete = {'text':_(u'delete'), 'view':'queue_document_delete', 'args':'object.id', 'famfam':'hourglass_delete', 'permissions':{'namespace':'ocr', 'permissions':[PERMISSION_OCR_DOCUMENT]}} + +register_links(QueueDocument, [queue_document_delete]) + #Menus register_menu([ @@ -30,6 +34,7 @@ register_menu([ #ocr_queue ],'famfam':'hourglass','position':4}]) + try: default_queue, created = DocumentQueue.objects.get_or_create(name='default') if created: diff --git a/apps/ocr/urls.py b/apps/ocr/urls.py index 9f9ec49011..32b8f492c6 100755 --- a/apps/ocr/urls.py +++ b/apps/ocr/urls.py @@ -4,4 +4,5 @@ from django.utils.translation import ugettext_lazy as _ urlpatterns = patterns('ocr.views', url(r'^(?P\d+)/submit/$', 'submit_document', (), 'submit_document'), url(r'^ocr/queue/document/list/$', 'queue_document_list', (), 'queue_document_list'), + url(r'^ocr/queue/document/(?P\d+)/delete/$', 'queue_document_delete', (), 'queue_document_delete'), ) diff --git a/apps/ocr/views.py b/apps/ocr/views.py index e5476fb9e6..031aae9b47 100755 --- a/apps/ocr/views.py +++ b/apps/ocr/views.py @@ -4,7 +4,7 @@ from django.template import RequestContext from django.contrib import messages from django.views.generic.list_detail import object_detail, object_list from django.core.urlresolvers import reverse -#from django.views.generic.create_update import create_object, delete_object, update_object +from django.views.generic.create_update import create_object, delete_object, update_object from django.conf import settings from django.utils.translation import ugettext as _ @@ -43,6 +43,28 @@ def queue_document_list(request, queue_name='default'): }, ) + +def queue_document_delete(request, queue_document_id): + permissions = [PERMISSION_OCR_DOCUMENT] + try: + check_permissions(request.user, 'ocr', permissions) + except Unauthorized, e: + raise Http404(e) + + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', None))) + previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None))) + + return delete_object(request, model=QueueDocument, object_id=queue_document_id, + template_name='generic_confirm.html', + post_delete_redirect=reverse('queue_document_list'), + extra_context={ + 'delete_view':True, + 'next':next, + 'previous':previous, + 'object_name':_(u'queued document'), + }) + + def submit_document(request, document_id, queue_name='default'): permissions = [PERMISSION_OCR_DOCUMENT]