From 2a16ab38a5b76330988fce96855a8ab79f028ded Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Fri, 8 Nov 2013 04:39:53 -0500 Subject: [PATCH] Initial backend implementation for AC-25, activity stream/audit love --- awx/main/models/base.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/awx/main/models/base.py b/awx/main/models/base.py index 776f500972..bddcb4be1a 100644 --- a/awx/main/models/base.py +++ b/awx/main/models/base.py @@ -333,3 +333,28 @@ class CommonTask(PrimordialModel): self.cancel_flag = True self.save(update_fields=['cancel_flag']) return self.cancel_flag + +class ActivityStream(models.Model): + ''' + Model used to describe activity stream (audit) events + ''' + OPERATION_CHOICES = [ + ('create', _('Entity Created')), + ('update', _("Entity Updated")), + ('delete', _("Entity Deleted")), + ('associate', _("Entity Associated with another Entity")), + ('disaassociate', _("Entity was Disassociated with another Entity")) + ] + + user = models.ForeignKey('auth.User', null=True, on_delete=SET_NULL) + operation = models.CharField(max_length=9, choices=OPERATION_CHOICES) + timestamp = models.DateTimeField(auto_now_add=True) + changes = models.TextField(blank=True) + + object1_id = models.PositiveIntegerField(db_index=True) + object1_type = models.TextField() + + object2_id = models.PositiveIntegerField(db_index=True) + object2_type = models.TextField() + + object_relationship_type = models.TextField()