You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by je...@apache.org on 2015/04/09 16:05:40 UTC
[2/3] allura git commit: [#6017] ticket:751 Clear Ming's cache for
attachments to generate a changelog
[#6017] ticket:751 Clear Ming's cache for attachments to generate a changelog
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/03c5fb6d
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/03c5fb6d
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/03c5fb6d
Branch: refs/heads/ib/6017
Commit: 03c5fb6d6a20a7d04d7772cf74e8dc8ad8d768fd
Parents: 4fea341
Author: Igor Bondarenko <je...@gmail.com>
Authored: Wed Apr 8 10:10:02 2015 +0000
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Apr 8 10:10:02 2015 +0000
----------------------------------------------------------------------
ForgeTracker/forgetracker/tracker_main.py | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/03c5fb6d/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index ce89ac2..1cadd97 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -38,6 +38,7 @@ from bson.errors import InvalidId
from webhelpers import feedgenerator as FG
from ming import schema
+from ming.odm import session
from ming.orm.ormsession import ThreadLocalORMSession
from ming.utils import LazyProperty
@@ -1424,6 +1425,11 @@ class TicketController(BaseController, FeedController):
attachment = post_data['attachment']
changes['attachments'] = attachments_info(self.ticket.attachments)
self.ticket.add_multiple_attachments(attachment)
+ # flush new attachments to db
+ session(self.ticket.attachment_class()).flush()
+ # self.ticket.attachments is ming's LazyProperty, we need to reset
+ # it's cache to fetch updated attachments here:
+ self.ticket.__dict__.pop('attachments')
changes['attachments'] = attachments_info(self.ticket.attachments)
for cf in c.app.globals.custom_fields or []:
if 'custom_fields.' + cf.name in post_data: