Added a new diagnostics tab under the tools menu
This commit is contained in:
@@ -6,13 +6,12 @@ from django.core.urlresolvers import reverse
|
||||
from common.api import register_links, register_menu, \
|
||||
register_model_list_columns, register_multi_item_links
|
||||
from common.utils import pretty_size
|
||||
|
||||
from common.conf import settings as common_settings
|
||||
from main.api import register_diagnostic
|
||||
from permissions.api import register_permissions
|
||||
|
||||
from models import Document, DocumentPage, DocumentPageTransformation
|
||||
from staging import StagingFile
|
||||
|
||||
from common.conf import settings as common_settings
|
||||
from conf.settings import ENABLE_SINGLE_DOCUMENT_UPLOAD
|
||||
|
||||
PERMISSION_DOCUMENT_CREATE = 'document_create'
|
||||
@@ -59,6 +58,8 @@ document_page_transformation_go_back = {'text':_('return to document'), 'view':'
|
||||
|
||||
document_page_go_back = {'text':_('return to document'), 'view':'document_view', 'args':'object.document.id', 'famfam':'page_go', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_VIEW]}}
|
||||
|
||||
document_missing_list = {'text':_('Find missing document files'), 'url':reverse('document_missing_list'), 'famfam':'folder_page', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_VIEW]}}
|
||||
|
||||
staging_file_preview = {'text':_('preview'), 'class':'fancybox-noscaling', 'view':'staging_file_preview', 'args':'object.id', 'famfam':'drive_magnify'}
|
||||
staging_file_delete = {'text':_('delete'), 'view':'staging_file_delete', 'args':'object.id', 'famfam':'drive_delete'}
|
||||
|
||||
@@ -79,6 +80,7 @@ register_links(['document_page_view', 'document_page_transformation_edit', 'docu
|
||||
|
||||
register_links(StagingFile, [staging_file_preview, staging_file_delete])
|
||||
|
||||
register_diagnostic('documents', _(u'Documents'), document_missing_list)
|
||||
|
||||
|
||||
def document_exists(document):
|
||||
|
||||
@@ -45,4 +45,6 @@ urlpatterns = patterns('documents.views',
|
||||
url(r'^document/page/(?P<document_page_id>\d+)/transformation/create/$', 'document_page_transformation_create', (), 'document_page_transformation_create'),
|
||||
url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/edit/$', 'document_page_transformation_edit', (), 'document_page_transformation_edit'),
|
||||
url(r'^document/page/transformation/(?P<document_page_transformation_id>\d+)/delete/$', 'document_page_transformation_delete', (), 'document_page_transformation_delete'),
|
||||
|
||||
url(r'^document/missing/list/$', 'document_missing_list', (), 'document_missing_list'),
|
||||
)
|
||||
|
||||
@@ -38,6 +38,7 @@ from documents.conf.settings import DEFAULT_TRANSFORMATIONS
|
||||
from documents.conf.settings import AUTOMATIC_OCR
|
||||
from documents.conf.settings import UNCOMPRESS_COMPRESSED_LOCAL_FILES
|
||||
from documents.conf.settings import UNCOMPRESS_COMPRESSED_STAGING_FILES
|
||||
from documents.conf.settings import STORAGE_BACKEND
|
||||
|
||||
from documents import PERMISSION_DOCUMENT_CREATE, \
|
||||
PERMISSION_DOCUMENT_CREATE, PERMISSION_DOCUMENT_PROPERTIES_EDIT, \
|
||||
@@ -879,3 +880,17 @@ def document_view_simple(request, document_id):
|
||||
'subtemplates_dict':subtemplates_dict,
|
||||
'sidebar_subtemplates_dict':sidebar_groups,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def document_missing_list(request):
|
||||
check_permissions(request.user, 'documents', [PERMISSION_DOCUMENT_VIEW])
|
||||
|
||||
missing_id_list = []
|
||||
for document in Document.objects.only('id',):
|
||||
if not STORAGE_BACKEND().exists(document.file):
|
||||
missing_id_list.append(document.pk)
|
||||
|
||||
return render_to_response('generic_list.html', {
|
||||
'object_list':Document.objects.in_bulk(missing_id_list).values(),
|
||||
'title':_(u'missing documents'),
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
Reference in New Issue
Block a user