2017-08-22 19:02:43 +00:00
|
|
|
from games.models import Timeline
|
|
|
|
|
|
|
|
|
|
|
|
def game_saved(sender, instance, created, raw, using, update_fields,
|
|
|
|
**kwargs):
|
|
|
|
"""
|
|
|
|
Add timeline entry.
|
|
|
|
If game is created, add 2 timlines: 1 with CREATED status. The other with
|
|
|
|
current object status.
|
|
|
|
"""
|
|
|
|
# FIXME: don't write a timeline if previous have same title and object_id
|
|
|
|
entry = {
|
|
|
|
'item': instance,
|
|
|
|
'status': instance.status,
|
|
|
|
}
|
|
|
|
# Add CREATED status if Game was created
|
|
|
|
if created is True:
|
|
|
|
new_entry = dict(entry)
|
|
|
|
new_entry.update({'status': instance.CREATED})
|
|
|
|
Timeline.objects.create(**new_entry)
|
2017-09-16 21:36:06 +00:00
|
|
|
# Add new timeline entry ONLY if status is difference from CREATED one
|
|
|
|
if instance.status != instance.CREATED:
|
|
|
|
Timeline.objects.create(**entry)
|