|
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:
|