Switch to unified view

a/Allura/allura/model/session.py b/Allura/allura/model/session.py
...
...
56
    def after_flush(self, obj=None):
56
    def after_flush(self, obj=None):
57
        "Update artifact references, and add/update this artifact to solr"
57
        "Update artifact references, and add/update this artifact to solr"
58
        import allura.tasks.index_tasks
58
        import allura.tasks.index_tasks
59
        if not getattr(self.session, 'disable_artifact_index', False):
59
        if not getattr(self.session, 'disable_artifact_index', False):
60
            from .stats import CPA
60
            from .stats import CPA
61
            from .index import IndexOp, ArtifactReference
61
            from .index import ArtifactReference
62
            from .session import main_orm_session
63
            # Ensure artifact references exist for new objects
62
            for obj in self.objects_deleted:
64
            for obj in self.objects_added:
63
                IndexOp.del_op(obj)
64
            for obj in self.objects_added + self.objects_modified:
65
                ArtifactReference.from_artifact(obj)
65
                ArtifactReference.from_artifact(obj)
66
                IndexOp.add_op(obj)
66
            # Post delete and add indexing operations
67
            if (self.objects_added
68
                or self.objects_modified
69
                or self.objects_deleted):
70
                session(ArtifactReference).flush()
71
                allura.tasks.index_tasks.index.post()
67
            allura.tasks.index_tasks.del_artifacts.post(
68
                [ obj.index_id() for obj in self.objects_deleted ])
69
            allura.tasks.index_tasks.add_artifacts.post(
70
                [ obj.index_id() for obj in self.objects_added + self.objects_modified ])
71
            # Flush tasks
72
            main_orm_session.flush()
72
            for obj in self.objects_added:
73
            for obj in self.objects_added:
73
                CPA.post('create', obj)
74
                CPA.post('create', obj)
74
            for obj in self.objects_modified:
75
            for obj in self.objects_modified:
75
                CPA.post('modify', obj)
76
                CPA.post('modify', obj)
76
            for obj in self.objects_deleted:
77
            for obj in self.objects_deleted: