def log_delete(sender, instance, *args, **kwargs): """ Creates a log entry for every deletion. """ if instance.__class__.__name__.lower() not in MODEL_MAP: return if instance.__class__.__name__ == "Log": return if hasattr(instance, "created_by"): owner = instance.created_by elif hasattr(instance, "owner"): owner = instance.owner else: owner = None log = Log.create(instance, instance.id, Log.DELETE, owner=owner) log.save()
def log_save(sender, instance, created, *args, **kwargs): """ Creates a log entry for every creation / modification. """ model = type(instance) name = model.__name__.lower() if name not in MODEL_MAP: return if name == "log": return owner = None if hasattr(instance, "created_by"): owner = instance.created_by elif hasattr(instance, "owner"): owner = instance.owner method = Log.ADD if not created: method = Log.MODIFY log = Log.create(model, instance.id, method, owner=owner) log.save()