+from django.core.urlresolvers import reverse
+from django.forms.models import model_to_dict
+from django.utils import timezone
+import model_policy
+
+try:
+ # This is a no-op if observer_disabled is set to 1 in the config file
+ from observer import *
+except:
+ print >> sys.stderr, "import of observer failed! printing traceback and disabling observer:"
+ import traceback
+ traceback.print_exc()
+
+ # guard against something failing
+ def notify_observer(*args, **kwargs):
+ pass
+
+# This manager will be inherited by all subclasses because
+# the core model is abstract.
+class PlCoreBaseDeletionManager(models.Manager):
+ def get_queryset(self):
+ parent=super(PlCoreBaseDeletionManager, self)
+ if hasattr(parent, "get_queryset"):
+ return parent.get_queryset().filter(deleted=True)
+ else:
+ return parent.get_query_set().filter(deleted=True)