Switch to side-by-side view

--- a/Allura/allura/model/session.py
+++ b/Allura/allura/model/session.py
@@ -61,19 +61,19 @@
             from .index import ArtifactReference, Shortlink
             from .session import main_orm_session
             # Ensure artifact references & shortlinks exist for new objects
-            for obj in self.objects_added:
+            arefs = [
                 ArtifactReference.from_artifact(obj)
+                for obj in self.objects_added + self.objects_modified ]
             for obj in self.objects_added + self.objects_modified:
                 Shortlink.from_artifact(obj)
+            # Flush shortlinks
+            main_orm_session.flush()
             # Post delete and add indexing operations
             if self.objects_deleted:
                 allura.tasks.index_tasks.del_artifacts.post(
                     [ obj.index_id() for obj in self.objects_deleted ])
-            if self.objects_added or self.objects_modified:
-                allura.tasks.index_tasks.add_artifacts.post(
-                    [ obj.index_id() for obj in self.objects_added + self.objects_modified ])
-            # Flush tasks
-            main_orm_session.flush()
+            if arefs:
+                allura.tasks.index_tasks.add_artifacts.post([ aref._id for aref in arefs ])
             for obj in self.objects_added:
                 CPA.post('create', obj)
             for obj in self.objects_modified: