Added document action to clear all the document's page transformations
This commit is contained in:
@@ -47,6 +47,7 @@ document_preview = {'text':_('preview'), 'class':'fancybox', 'view':'document_pr
|
||||
document_download = {'text':_('download'), 'view':'document_download', 'args':'object.id', 'famfam':'page_save', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_DOWNLOAD]}}
|
||||
document_find_duplicates = {'text':_('find duplicates'), 'view':'document_find_duplicates', 'args':'object.id', 'famfam':'page_refresh', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_VIEW]}}
|
||||
document_find_all_duplicates = {'text':_('find all duplicates'), 'view':'document_find_all_duplicates', 'famfam':'page_refresh', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_VIEW]}}
|
||||
document_clear_transformations = {'text':_('clear all transformations'), 'view':'document_clear_transformations', 'args':'object.id', 'famfam':'page_paintbrush', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_TRANSFORM]}}
|
||||
|
||||
document_page_transformation_create = {'text':_('create new transformation'), 'view':'document_page_transformation_create', 'args':'object.id', 'famfam':'pencil_add', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_TRANSFORM]}}
|
||||
document_page_transformation_edit = {'text':_('edit'), 'view':'document_page_transformation_edit', 'args':'object.id', 'famfam':'pencil_go', 'permissions':{'namespace':'documents', 'permissions':[PERMISSION_DOCUMENT_TRANSFORM]}}
|
||||
@@ -58,7 +59,7 @@ document_page_go_back = {'text':_('return to document'), 'view':'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'}
|
||||
|
||||
register_links(Document, [document_view, document_edit, document_edit_metadata, document_delete, document_download, document_find_duplicates], menu_name='sidebar')
|
||||
register_links(Document, [document_view, document_edit, document_edit_metadata, document_delete, document_download, document_find_duplicates, document_clear_transformations], menu_name='sidebar')
|
||||
register_links(Document, [document_list, document_create, document_create_multiple, document_create_sibling], menu_name='sidebar')
|
||||
|
||||
if ENABLE_SINGLE_DOCUMENT_UPLOAD:
|
||||
|
||||
@@ -28,6 +28,7 @@ urlpatterns = patterns('documents.views',
|
||||
url(r'^document/(?P<document_id>\d+)/download/$', 'document_download', (), 'document_download'),
|
||||
url(r'^document/(?P<document_id>\d+)/create/siblings/$', 'document_create_sibling', {'multiple':True if ENABLE_SINGLE_DOCUMENT_UPLOAD == False else False}, 'document_create_sibling'),
|
||||
url(r'^document/(?P<document_id>\d+)/find_duplicates/$', 'document_find_duplicates', (), 'document_find_duplicates'),
|
||||
url(r'^document/(?P<document_id>\d+)/clear_transformations/$', 'document_clear_transformations', (), 'document_clear_transformations'),
|
||||
url(r'^duplicates/$', 'document_find_all_duplicates', (), 'document_find_all_duplicates'),
|
||||
|
||||
url(r'^staging_file/(?P<staging_file_id>\w+)/preview/$', 'staging_file_preview', (), 'staging_file_preview'),
|
||||
|
||||
@@ -764,3 +764,32 @@ def document_find_all_duplicates(request):
|
||||
raise Http404(e)
|
||||
|
||||
return _find_duplicate_list(request, include_source=True)
|
||||
|
||||
|
||||
def document_clear_transformations(request, document_id):
|
||||
permissions = [PERMISSION_DOCUMENT_TRANSFORM]
|
||||
try:
|
||||
check_permissions(request.user, 'documents', permissions)
|
||||
except Unauthorized, e:
|
||||
raise Http404(e)
|
||||
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
|
||||
|
||||
document = get_object_or_404(Document, pk=document_id)
|
||||
|
||||
if request.method == 'POST':
|
||||
for document_page in document.documentpage_set.all():
|
||||
for transformation in document_page.documentpagetransformation_set.all():
|
||||
transformation.delete()
|
||||
|
||||
messages.success(request, _(u'All the page transformations for document: %s, have been deleted successfully.') % document)
|
||||
return HttpResponseRedirect(reverse('document_view', args=[document.pk]))
|
||||
|
||||
|
||||
return render_to_response('generic_confirm.html', {
|
||||
'object_name':_(u'document transformation'),
|
||||
'delete_view':True,
|
||||
'object':document,
|
||||
'title':_(u'Are you sure you with to clear all the page transformations for document: %s?') % document,
|
||||
'previous':previous,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
Reference in New Issue
Block a user