Explictly delete document when deleting a document type. Remove unused code. Pop argument 'to_trash' from document.save to avoid super() error.
This commit is contained in:
@@ -69,6 +69,12 @@ class DocumentType(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
for document in Document.passthrough.filter(document_type=self):
|
||||
document.delete(to_trash=False)
|
||||
|
||||
return super(DocumentType, self).delete(*args, **kwargs)
|
||||
|
||||
def natural_key(self):
|
||||
return (self.name,)
|
||||
|
||||
@@ -86,14 +92,6 @@ class DocumentType(models.Model):
|
||||
|
||||
return document
|
||||
|
||||
@transaction.atomic
|
||||
def upload_single_document(self, document_type, file_object, label=None, description=None, language=None, user=None):
|
||||
document = self.model(description=description, document_type=document_type, language=language, label=label or unicode(file_object))
|
||||
document.save(user=user)
|
||||
version = document.new_version(file_object=file_object, user=user)
|
||||
document.set_document_type(document_type, force=True)
|
||||
return version
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Document type')
|
||||
verbose_name_plural = _('Documents types')
|
||||
@@ -159,7 +157,9 @@ class Document(models.Model):
|
||||
RecentDocument.objects.add_document_for_user(user, self)
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
if not self.in_trash and kwargs.get('to_trash', True):
|
||||
to_trash = kwargs.pop('to_trash', True)
|
||||
|
||||
if not self.in_trash and to_trash:
|
||||
self.in_trash = True
|
||||
self.deleted_date_time = now()
|
||||
self.save()
|
||||
|
||||
Reference in New Issue
Block a user