mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 11:20:39 -03:30
Fix an issue with the Activity Stream where we weren't performing the right type conversion to track object types
This commit is contained in:
parent
f3d2b0b5bc
commit
5986a48036
@ -1,4 +1,5 @@
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models.signals import pre_save
|
||||
from django.utils.functional import curry
|
||||
from awx.main.models.base import ActivityStream
|
||||
@ -20,5 +21,5 @@ class ActivityStreamMiddleware(object):
|
||||
return response
|
||||
|
||||
def set_actor(self, user, sender, instance, **kwargs):
|
||||
if sender == ActivityStream and isinstance(user, settings.AUTH_USER_MODEL) and instance.user is None:
|
||||
if sender == ActivityStream and isinstance(user, User) and instance.user is None:
|
||||
instance.user = user
|
||||
|
||||
@ -22,7 +22,7 @@ from taggit.managers import TaggableManager
|
||||
# Django-Celery
|
||||
from djcelery.models import TaskMeta
|
||||
|
||||
__all__ = ['VarsDictProperty', 'PrimordialModel', 'CommonModel',
|
||||
__all__ = ['VarsDictProperty', 'PrimordialModel', 'CommonModel', 'ActivityStream',
|
||||
'CommonModelNameNotUnique', 'CommonTask', 'PERM_INVENTORY_ADMIN',
|
||||
'PERM_INVENTORY_READ', 'PERM_INVENTORY_WRITE',
|
||||
'PERM_INVENTORY_DEPLOY', 'PERM_INVENTORY_CHECK', 'JOB_TYPE_CHOICES',
|
||||
|
||||
@ -24,7 +24,8 @@ class ActivityStreamRegistrar(object):
|
||||
m2m_changed.connect(activity_stream_associate, sender=m2m_attr.through,
|
||||
dispatch_uid=str(self.__class__) + str(m2m_attr.through) + "_associate")
|
||||
except AttributeError:
|
||||
logger.warning("Failed to attach m2m activity stream tracker on class %s attribute %s" % (model, m2mfield.name))
|
||||
pass
|
||||
#logger.warning("Failed to attach m2m activity stream tracker on class %s attribute %s" % (model, m2mfield.name))
|
||||
|
||||
def disconnect(self, model):
|
||||
if model in self.models:
|
||||
|
||||
@ -177,21 +177,21 @@ def activity_stream_create(sender, instance, created, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation='create',
|
||||
object1_id=instance.id,
|
||||
object1_type=instance.__class__)
|
||||
object1_type=str(instance.__class__))
|
||||
activity_entry.save()
|
||||
|
||||
def activity_stream_update(sender, instance, **kwargs):
|
||||
try:
|
||||
old = sender.objects.get(id=instance.id)
|
||||
except sender.DoesNotExist:
|
||||
pass
|
||||
return
|
||||
|
||||
new = instance
|
||||
changes = model_instance_diff(old, new)
|
||||
activity_entry = ActivityStream(
|
||||
operation='update',
|
||||
object1_id=instance.id,
|
||||
object1_type=instance.__class__,
|
||||
object1_type=str(instance.__class__),
|
||||
changes=json.dumps(changes))
|
||||
activity_entry.save()
|
||||
|
||||
@ -200,7 +200,7 @@ def activity_stream_delete(sender, instance, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation='delete',
|
||||
object1_id=instance.id,
|
||||
object1_type=instance.__class__)
|
||||
object1_type=str(instance.__class__))
|
||||
activity_entry.save()
|
||||
|
||||
def activity_stream_associate(sender, instance, **kwargs):
|
||||
@ -220,8 +220,8 @@ def activity_stream_associate(sender, instance, **kwargs):
|
||||
activity_entry = ActivityStream(
|
||||
operation=action,
|
||||
object1_id=obj1_id,
|
||||
object1_type=obj1.__class__,
|
||||
object1_type=str(obj1.__class__),
|
||||
object2_id=obj2_id,
|
||||
object2_type=obj2.__class__,
|
||||
object2_type=str(obj2.__class__),
|
||||
object_relationship_type=obj_rel)
|
||||
activity_entry.save()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user