logging: handling cases when objects created, modified or deleted from shell

This commit is contained in:
Serghei Mihai 2014-07-18 14:28:44 +02:00
parent dce0454ac5
commit b58c4ed6cb
1 changed files with 16 additions and 7 deletions

View File

@ -1,6 +1,8 @@
from django.db.models.signals import post_save, pre_delete
from ..middleware.request import get_request
import django_journal
from calebasse.agenda.models import Event, EventWithAct, EventType
from calebasse.actes.models import ActValidationState, Act
from calebasse.dossiers.models import FileState, PatientRecord, PatientAddress, PatientContact
@ -10,19 +12,26 @@ def object_save(sender, **kwargs):
model_name = sender.__name__.lower()
if kwargs.get('created'):
tag = 'new-%s' % model_name
log = '{obj_id} created by {user} from {ip}'
log = '{obj} created'
else:
tag = '%s-save' % model_name
log = '{obj_id} saved by {user} from {ip}'
log = '{obj} saved'
obj_id = kwargs['instance'].id
get_request().record(tag, log, obj_id=obj_id)
obj = kwargs['instance']
try:
get_request().record(tag, log, obj=obj)
except AttributeError:
django_journal.record(tag, '{obj} from shell', obj=obj)
def object_delete(sender, **kwargs):
model_name = sender.__name__.lower()
get_request().record('delete-%s' % model_name,
'{obj_id} deleted by {user} from {ip}',
obj_id=kwargs['instance'].id)
try:
get_request().record('delete-%s' % model_name,
'{obj}',
obj=kwargs['instance'])
except AttributeError:
django_journal.record('delete-%s' % model_name,
'{obj} from shell', obj=kwargs['instance'])
for model in (Event, EventWithAct, EventType, ActValidationState, Act,
FileState, PatientRecord, PatientAddress, PatientContact,