def log_delete(sender, instance, **kwargs): if instance.pk is not None: changes = model_instance_diff(instance, None) instance._last_log = LucteriosLogEntry.objects.log_create( instance, action=LucteriosLogEntry.Action.DELETE, changes=json.dumps(changes, default=six.text_type), )
def log_create(sender, instance, created, **kwargs): if created: changes = model_instance_diff(None, instance) instance._last_log = LucteriosLogEntry.objects.log_create( instance, action=LucteriosLogEntry.Action.CREATE, changes=json.dumps(changes, default=six.text_type), )
def lct_log_create(sender, instance, created, **kwargs): if LucteriosAuditlogModelRegistry.get_state(instance._meta.app_label): try: sub_obj = instance.get_auditlog_object() except ObjectDoesNotExist: return if sub_obj is None: log_create(sender, instance, created, **kwargs) elif created: changes = model_instance_diff(None, instance) if not hasattr(sub_obj, '_last_log'): sub_obj._last_log = LucteriosLogEntry.objects.log_create(sub_obj, action=LucteriosLogEntry.Action.UPDATE, changes='{}', additional_data='{}') sub_obj._last_log.change_additional_data(six.text_type(instance._meta.verbose_name), LucteriosLogEntry.Action.ADD, {'modelname': instance.__class__.get_long_name(), 'changes': changes})
def lct_log_update(sender, instance, **kwargs): if LucteriosAuditlogModelRegistry.get_state(instance._meta.app_label): try: sub_obj = instance.get_auditlog_object() except ObjectDoesNotExist: return if sub_obj is None: log_update(sender, instance, **kwargs) elif instance.pk is not None: try: old = sender.objects.get(pk=instance.pk) except sender.DoesNotExist: pass else: new = instance _log_change_additionnal(instance, sub_obj, model_instance_diff(old, new), kwargs)
def log_update(sender, instance, **kwargs): if instance.pk is not None: try: old = sender.objects.get(pk=instance.pk) except sender.DoesNotExist: pass else: new = instance changes = model_instance_diff(old, new) # Log an entry only if there are changes if changes: instance._last_log = LucteriosLogEntry.objects.log_create( instance, action=LucteriosLogEntry.Action.UPDATE, changes=json.dumps(changes, default=six.text_type), )
def lct_log_update(sender, instance, **kwargs): if LucteriosAuditlogModelRegistry.get_state(instance._meta.app_label): try: sub_obj = instance.get_auditlog_object() except ObjectDoesNotExist: return if sub_obj is None: log_update(sender, instance, **kwargs) elif instance.pk is not None: try: old = sender.objects.get(pk=instance.pk) except sender.DoesNotExist: pass else: new = instance changes = model_instance_diff(old, new) if changes: if not hasattr(sub_obj, '_last_log'): log_update(sub_obj.__class__, sub_obj, **kwargs) if not hasattr(sub_obj, '_last_log'): sub_obj._last_log = LucteriosLogEntry.objects.log_create(sub_obj, action=LucteriosLogEntry.Action.UPDATE, changes='{}', additional_data='{}') sub_obj._last_log.change_additional_data(six.text_type(instance._meta.verbose_name), LucteriosLogEntry.Action.UPDATE, {'modelname': instance.__class__.get_long_name(), 'changes': changes})