diff --git a/awx/main/middleware.py b/awx/main/middleware.py index 04aacc239d..3ac7e059fd 100644 --- a/awx/main/middleware.py +++ b/awx/main/middleware.py @@ -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 diff --git a/awx/main/models/base.py b/awx/main/models/base.py index 53fc46326d..99c530004d 100644 --- a/awx/main/models/base.py +++ b/awx/main/models/base.py @@ -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', diff --git a/awx/main/registrar.py b/awx/main/registrar.py index 863e707423..c339c17116 100644 --- a/awx/main/registrar.py +++ b/awx/main/registrar.py @@ -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: diff --git a/awx/main/signals.py b/awx/main/signals.py index 1b77338cd9..06abd69d81 100644 --- a/awx/main/signals.py +++ b/awx/main/signals.py @@ -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()