mirror of
https://github.com/ansible/awx.git
synced 2026-01-28 23:04:41 -03:30
Add a field to the activity stream model that more closely identifies the api object type for aid in api querying
This commit is contained in:
parent
639b87d55a
commit
8448c5b4d5
@ -1007,7 +1007,7 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
class Meta:
|
||||
model = ActivityStream
|
||||
fields = ('id', 'url', 'related', 'summary_fields', 'timestamp', 'operation', 'changes',
|
||||
'object1_id', 'object1_type', 'object2_id', 'object2_type', 'object_relationship_type')
|
||||
'object1_id', 'object1', 'object1_type', 'object2_id', 'object2', 'object2_type', 'object_relationship_type')
|
||||
|
||||
def get_related(self, obj):
|
||||
if obj is None:
|
||||
@ -1030,8 +1030,11 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
short_obj_type = obj.object1_type.split(".")[-1]
|
||||
under_short_obj_type = camelcase_to_underscore(short_obj_type)
|
||||
obj1 = eval(obj.object1_type + ".objects.get(id=" + str(obj.object1_id) + ")")
|
||||
d['object1'] = {'name': obj1.name, 'description': obj1.description,
|
||||
'base': under_short_obj_type, 'id': obj.object1_id}
|
||||
if hasattr(obj1, "name"):
|
||||
d['object1'] = {'name': obj1.name, 'description': obj1.description,
|
||||
'base': under_short_obj_type, 'id': obj.object1_id}
|
||||
else:
|
||||
d['object1'] = {'base': under_short_obj_type, 'id': obj.object1_id}
|
||||
if under_short_obj_type == "host" or under_short_obj_type == "group":
|
||||
d['inventory'] = {'name': obj1.inventory.name, 'id': obj1.inventory.id}
|
||||
except Exception, e:
|
||||
@ -1041,8 +1044,11 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
under_short_obj_type = camelcase_to_underscore(short_obj_type)
|
||||
if obj.operation in ('associate', 'disassociate'):
|
||||
obj2 = eval(obj.object2_type + ".objects.get(id=" + str(obj.object2_id) + ")")
|
||||
d['object2'] = {'name': obj2.name, 'description': obj2.description,
|
||||
'base': under_short_obj_type, 'id': obj.object2_id}
|
||||
if hasattr(obj2, "name"):
|
||||
d['object2'] = {'name': obj2.name, 'description': obj2.description,
|
||||
'base': under_short_obj_type, 'id': obj.object2_id}
|
||||
else:
|
||||
d['object2'] = {'base': under_short_obj_type, 'id': obj.object2_id}
|
||||
if under_short_obj_type == "host" or under_short_obj_type == "group":
|
||||
d['inventory'] = {'name': obj2.inventory.name, 'id': obj2.inventory.id}
|
||||
except Exception, e:
|
||||
|
||||
@ -16,8 +16,10 @@ class Migration(SchemaMigration):
|
||||
('timestamp', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
|
||||
('changes', self.gf('django.db.models.fields.TextField')(blank=True)),
|
||||
('object1_id', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
|
||||
('object1', self.gf('django.db.models.fields.TextField')()),
|
||||
('object1_type', self.gf('django.db.models.fields.TextField')()),
|
||||
('object2_id', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, db_index=True)),
|
||||
('object2', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
|
||||
('object2_type', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
|
||||
('object_relationship_type', self.gf('django.db.models.fields.TextField')(blank=True)),
|
||||
))
|
||||
@ -70,8 +72,10 @@ class Migration(SchemaMigration):
|
||||
'Meta': {'object_name': 'ActivityStream'},
|
||||
'changes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'object1': ('django.db.models.fields.TextField', [], {}),
|
||||
'object1_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'object1_type': ('django.db.models.fields.TextField', [], {}),
|
||||
'object2': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'object2_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'db_index': 'True'}),
|
||||
'object2_type': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'object_relationship_type': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
||||
|
||||
@ -28,9 +28,11 @@ class ActivityStream(models.Model):
|
||||
changes = models.TextField(blank=True)
|
||||
|
||||
object1_id = models.PositiveIntegerField(db_index=True)
|
||||
object1 = models.TextField()
|
||||
object1_type = models.TextField()
|
||||
|
||||
object2_id = models.PositiveIntegerField(db_index=True, null=True)
|
||||
object2 = models.TextField(null=True, blank=True)
|
||||
object2_type = models.TextField(null=True, blank=True)
|
||||
|
||||
object_relationship_type = models.TextField(blank=True)
|
||||
|
||||
@ -12,7 +12,7 @@ from django.dispatch import receiver
|
||||
|
||||
# AWX
|
||||
from awx.main.models import *
|
||||
from awx.main.utils import model_instance_diff, model_to_dict
|
||||
from awx.main.utils import model_instance_diff, model_to_dict, camelcase_to_underscore
|
||||
|
||||
__all__ = []
|
||||
|
||||
@ -178,6 +178,7 @@ def activity_stream_create(sender, instance, created, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation='create',
|
||||
object1_id=instance.id,
|
||||
object1=camelcase_to_underscore(instance.__class__.__name__),
|
||||
object1_type=instance.__class__.__module__ + "." + instance.__class__.__name__,
|
||||
changes=json.dumps(model_to_dict(instance)))
|
||||
activity_entry.save()
|
||||
@ -193,6 +194,7 @@ def activity_stream_update(sender, instance, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation='update',
|
||||
object1_id=instance.id,
|
||||
object1=camelcase_to_underscore(instance.__class__.__name__),
|
||||
object1_type=instance.__class__.__module__ + "." + instance.__class__.__name__,
|
||||
changes=json.dumps(changes))
|
||||
activity_entry.save()
|
||||
@ -202,6 +204,7 @@ def activity_stream_delete(sender, instance, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation='delete',
|
||||
object1_id=instance.id,
|
||||
object1=camelcase_to_underscore(instance.__class__.__name__),
|
||||
object1_type=instance.__class__.__module__ + "." + instance.__class__.__name__)
|
||||
activity_entry.save()
|
||||
|
||||
@ -222,8 +225,10 @@ def activity_stream_associate(sender, instance, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation=action,
|
||||
object1_id=obj1_id,
|
||||
object1=camelcase_to_underscore(obj1.__class__.__name__),
|
||||
object1_type=obj1.__class__.__module__ + "." + obj1.__class__.__name__,
|
||||
object2_id=obj2_id,
|
||||
object2=camelcase_to_underscore(obj2.__name__),
|
||||
object2_type=obj2.__module__ + "." + obj2.__name__,
|
||||
object_relationship_type=obj_rel)
|
||||
activity_entry.save()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user