Note to self: Don't try to fix error in a rush. Really fix 'document fs delete links'

This commit is contained in:
Roberto Rosario
2011-03-03 10:37:52 -04:00
parent 38cb463b7d
commit 60fb0628e0
2 changed files with 16 additions and 18 deletions

View File

@@ -8,8 +8,6 @@ from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.db.models import Q
from filesystem_serving.api import document_delete_fs_links
from dynamic_search.api import register
from documents.conf.settings import AVAILABLE_FUNCTIONS
@@ -142,13 +140,6 @@ class Document(models.Model):
return self.file.storage.exists(self.file.url)
def delete(self, *args, **kwargs):
#TODO: Might not execute when done in bulk from a queryset
#topics/db/queries.html#topics-db-queries-delete
document_delete_fs_links(self)
super(Document, self).delete(*args, **kwargs)
def get_metadata_groups(self):
errors = []
metadata_groups = {}

View File

@@ -349,16 +349,23 @@ def document_delete(request, document_id):
document = get_object_or_404(Document, pk=document_id)
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
if request.method == 'POST':
try:
document_delete_fs_links(document)
document.delete()
messages.success(request, _(u'Document deleted successfully.'))
return HttpResponseRedirect(reverse('document_list'))
except Exception, e:
messages.error(request, _(u'Document delete error: %s') % e)
return HttpResponseRedirect(previous)
return delete_object(request, model=Document, object_id=document_id,
template_name='generic_confirm.html',
post_delete_redirect=reverse('document_list'),
extra_context={
'delete_view':True,
'object':document,
'object_name':_(u'document'),
'previous':previous,
})
return render_to_response('generic_confirm.html', {
'object':document,
'delete_view':True,
'object_name':_(u'document'),
'previous':previous,
}, context_instance=RequestContext(request))
def document_edit(request, document_id):