Switch to unified view

a/Allura/allura/model/session.py b/Allura/allura/model/session.py
...
...
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 ArtifactReference, Shortlink
61
            from .index import ArtifactReference, Shortlink
62
            from .session import main_orm_session
62
            from .session import main_orm_session
63
            # Ensure artifact references & shortlinks exist for new objects
63
            # Ensure artifact references & shortlinks exist for new objects
64
            for obj in self.objects_added:
64
            arefs = [
65
                ArtifactReference.from_artifact(obj)
65
                ArtifactReference.from_artifact(obj)
66
                for obj in self.objects_added + self.objects_modified ]
66
            for obj in self.objects_added + self.objects_modified:
67
            for obj in self.objects_added + self.objects_modified:
67
                Shortlink.from_artifact(obj)
68
                Shortlink.from_artifact(obj)
69
            # Flush shortlinks
70
            main_orm_session.flush()
68
            # Post delete and add indexing operations
71
            # Post delete and add indexing operations
69
            if self.objects_deleted:
72
            if self.objects_deleted:
70
                allura.tasks.index_tasks.del_artifacts.post(
73
                allura.tasks.index_tasks.del_artifacts.post(
71
                    [ obj.index_id() for obj in self.objects_deleted ])
74
                    [ obj.index_id() for obj in self.objects_deleted ])
72
            if self.objects_added or self.objects_modified:
75
            if arefs:
73
                allura.tasks.index_tasks.add_artifacts.post(
76
                allura.tasks.index_tasks.add_artifacts.post([ aref._id for aref in arefs ])
74
                    [ obj.index_id() for obj in self.objects_added + self.objects_modified ])
75
            # Flush tasks
76
            main_orm_session.flush()
77
            for obj in self.objects_added:
77
            for obj in self.objects_added:
78
                CPA.post('create', obj)
78
                CPA.post('create', obj)
79
            for obj in self.objects_modified:
79
            for obj in self.objects_modified:
80
                CPA.post('modify', obj)
80
                CPA.post('modify', obj)
81
            for obj in self.objects_deleted:
81
            for obj in self.objects_deleted: