You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/02/12 23:21:49 UTC

[5/11] git commit: [#5727] ticket:264 Fixed command according to changes in [#5730]

[#5727] ticket:264 Fixed command according to changes in [#5730]


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/76e9294d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/76e9294d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/76e9294d

Branch: refs/heads/cj/5685
Commit: 76e9294de15391baf1106a57759ef4d3e9674fd2
Parents: 73a7bd1
Author: Igor Bondarenko <je...@gmail.com>
Authored: Tue Feb 5 11:50:43 2013 +0000
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Feb 12 16:58:48 2013 +0000

----------------------------------------------------------------------
 .../forgetracker/command/fix_discussion.py         |    4 +++-
 .../tests/command/test_fix_discussion.py           |    7 +++++++
 2 files changed, 10 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/76e9294d/ForgeTracker/forgetracker/command/fix_discussion.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/command/fix_discussion.py b/ForgeTracker/forgetracker/command/fix_discussion.py
index 14d1482..f401752 100644
--- a/ForgeTracker/forgetracker/command/fix_discussion.py
+++ b/ForgeTracker/forgetracker/command/fix_discussion.py
@@ -66,7 +66,7 @@ class FixDiscussion(base.Command):
                         % (ticket._id, ticket.ticket_num, ticket.summary))
                 if ticket.discussion_thread.discussion.app_config_id != tracker._id:
                     # Some tickets were moved from this tracker,
-                    # and Discussion instance for entire tracker was mived too.
+                    # and Discussion instance for entire tracker was moved too.
                     # Should move it back.
                     base.log.info("Some tickets were moved from this tracker. "
                             "Moving tracker's discussion instance back.")
@@ -78,5 +78,7 @@ class FixDiscussion(base.Command):
                     base.log.info("Ticket was moved from another tracker. "
                             "Bind ticket's comment thread to tracker's Discussion instance.")
                     ticket.discussion_thread.discussion_id = tracker.discussion_id
+                    for post in ticket.discussion_thread.posts:
+                        post.discussion_id = tracker.discussion_id
 
             ThreadLocalORMSession.flush_all()

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/76e9294d/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
index 2025cc7..f8aee78 100644
--- a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
+++ b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
@@ -20,6 +20,7 @@ def setUp(self):
 def break_discussion():
     """Emulate buggy 'ticket move' behavior"""
     project = M.Project.query.get(shortname='test')
+    tracker = M.AppConfig.query.find({'options.mount_point': 'bugs'}).first()
     discussion = M.Discussion(name='fake discussion')
     app_config = M.AppConfig()
     app_config.tool_name = 'Tickets'
@@ -38,6 +39,8 @@ def break_discussion():
     t.summary = 'ticket 2'
     # moved ticket attached to wrong discussion
     t.discussion_thread.discussion_id = discussion._id
+    t.discussion_thread.add_post(text='comment 1')
+    t.discussion_thread.add_post(text='comment 2')
     session(t).flush(t)
 
 def test_fix_discussion():
@@ -56,3 +59,7 @@ def test_fix_discussion():
     t2 = TM.Ticket.query.get(ticket_num=2)
     assert_equal(t1.discussion_thread.discussion.app_config_id, tracker._id)
     assert_equal(t2.discussion_thread.discussion_id, tracker.discussion_id)
+    for p in t2.discussion_thread.posts:
+        assert_equal(p.app_config_id, tracker._id)
+        assert_equal(p.app_id, tracker._id)
+        assert_equal(p.discussion_id, tracker.discussion_id)