diff --git a/apps/common/templates/generic_confirm.html b/apps/common/templates/generic_confirm.html index 35f0bd6242..c67ecb3fd5 100755 --- a/apps/common/templates/generic_confirm.html +++ b/apps/common/templates/generic_confirm.html @@ -1,6 +1,6 @@ -{% extends 'base.html' %} +{% extends "base.html" %} {% load i18n %} -{% block title %} :: {% trans 'Confirm' %} {{ title }}{% endblock %} +{% block title %} :: {% trans "Confirm" %} {{ title }}{% endblock %} {% block sidebar %} {% for subtemplate in subtemplates %} @@ -12,37 +12,36 @@
{% if delete_view %} -

{% trans 'Confirm delete' %}

+

{% trans "Confirm delete" %}

{% else %} -

{% trans 'Confirm' %}

+

{% trans "Confirm" %}

{% endif %} diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index cb670874f2..bf98678ed6 100755 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -24,12 +24,13 @@ document_preview = {'text':_('preview'), 'class':'fancybox', 'view':'document_pr document_download = {'text':_('download'), 'view':'document_download', 'args':'object.id', 'famfam':'page_save'} staging_file_preview = {'text':_('preview'), 'class':'fancybox', '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], menu_name='sidebar') register_links(Document, [document_list, document_create, document_create_multiple, document_create_sibling], menu_name='sidebar') register_links(['document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list, document_create, document_create_multiple], menu_name='sidebar') -register_links(StagingFile, [staging_file_preview]) +register_links(StagingFile, [staging_file_preview, staging_file_delete]) register_model_list_columns(Document, [ #{'name':_(u'mimetype'), 'attribute':'file_mimetype'}, diff --git a/apps/documents/urls.py b/apps/documents/urls.py index 51db9c5cb2..cf28c9b487 100755 --- a/apps/documents/urls.py +++ b/apps/documents/urls.py @@ -23,4 +23,5 @@ urlpatterns = patterns('documents.views', url(r'^document/(?P\d+)/create/siblings/$', 'document_create_sibling', {'multiple':False}, 'document_create_sibling'), url(r'^staging_file/(?P\w+)/preview/$', 'staging_file_preview', (), 'staging_file_preview'), + url(r'^staging_file/(?P\w+)/delete/$', 'staging_file_delete', (), 'staging_file_delete'), ) diff --git a/apps/documents/views.py b/apps/documents/views.py index 6da363f6b1..5f9af90ecf 100755 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -387,4 +387,24 @@ def staging_file_preview(request, staging_file_id): return serve_file(request, File(file=open(output_file, 'r'))) except Exception, e: return serve_file(request, File(file=open('%simages/1297211435_error.png' % settings.MEDIA_ROOT, 'r'))) + +def staging_file_delete(request, staging_file_id): + staging_file = StagingFile.get(staging_file_id) + 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))) + + if request.method == 'POST': + try: + staging_file.delete() + messages.success(request, _(u'Staging file delete successfully.')) + except Exception, e: + messages.error(request, e) + return HttpResponseRedirect(next) + + return render_to_response('generic_confirm.html', { + 'delete_view':True, + 'object':staging_file, + 'next':next, + 'previous':previous, + }, context_instance=RequestContext(request)) diff --git a/docs/TODO b/docs/TODO index ba91246acd..863c87fca0 100755 --- a/docs/TODO +++ b/docs/TODO @@ -24,6 +24,7 @@ * Show document metadata in document list - DONE * Add css grids - DONE * If theres only one document type on db skip step 1 of wizard - DONE +* Be able to delete staging file - DONE * Document list filtering by metadata * Filterform date filtering widget * Validate GET data before saving file