Files
mayan-edms/apps/trash/api.py

20 lines
615 B
Python

from __future__ import absolute_import
from common.querysets import CustomizableQuerySet
from .models import new_delete_method, TrashableQuerySetManager
trashable_models = []
def make_trashable(model, trash_can):
trashable_models.append(model)
old_manager = getattr(model, '_default_manager')
model.add_to_class('objects', CustomizableQuerySet.as_manager(TrashableQuerySetManager))
model._default_manager = model.objects
model.add_to_class('trash_passthru', old_manager)
old_delete_method = model.delete
model.delete = new_delete_method(trash_can, old_delete_method)