You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by ke...@apache.org on 2018/02/21 22:03:28 UTC

allura git commit: [#8187] Allows editing of forum thread subjects

Repository: allura
Updated Branches:
  refs/heads/kt/8187 [created] 3f0876ca5


[#8187] Allows editing of forum thread subjects


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

Branch: refs/heads/kt/8187
Commit: 3f0876ca5457dcf28a6ecf95f9f3ba4eaa73b3e2
Parents: 44d6b5a
Author: Kenton Taylor <kt...@slashdotmedia.com>
Authored: Wed Feb 21 16:58:04 2018 -0500
Committer: Kenton Taylor <kt...@slashdotmedia.com>
Committed: Wed Feb 21 16:58:04 2018 -0500

----------------------------------------------------------------------
 .../forgediscussion/controllers/forum.py        |  1 +
 .../tests/functional/test_forum.py              | 32 ++++++++++++++++++++
 .../forgediscussion/widgets/forum_widgets.py    |  1 +
 3 files changed, 34 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/3f0876ca/ForgeDiscussion/forgediscussion/controllers/forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/forum.py b/ForgeDiscussion/forgediscussion/controllers/forum.py
index ee00fe2..338764d 100644
--- a/ForgeDiscussion/forgediscussion/controllers/forum.py
+++ b/ForgeDiscussion/forgediscussion/controllers/forum.py
@@ -191,6 +191,7 @@ class ForumThreadController(ThreadController):
             tasks.calc_forum_stats.post(forum.shortname)
             self.thread.set_forum(forum)
         self.thread.flags = args.pop('flags', [])
+        self.thread.subject = args.pop('subject', self.thread.subject)
         redirect(self.thread.url())
 
     @expose('json:')

http://git-wip-us.apache.org/repos/asf/allura/blob/3f0876ca/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
index 3f20911..bf54413 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -846,6 +846,38 @@ class TestForum(TestController):
             'div', {'class': 'discussion-post'})
         assert_equal(len(posts), 2)
 
+    def test_rename_thread(self):
+        # make the topic
+        r = self.app.get('/discussion/create_topic/')
+        f = r.html.find('form', {'action': '/p/test/discussion/save_new_topic'})
+        params = dict()
+        inputs = f.findAll('input')
+        for field in inputs:
+            if field.has_key('name'):  # nopep8 - beautifulsoup3 actually uses has_key
+                params[field['name']] = field.get('value') or ''
+        params[f.find('textarea')['name']] = 'aaa aaa'
+        params[f.find('select')['name']] = 'testforum'
+        params[f.find('input', {'style': 'width: 90%'})['name']] = 'first subject'
+
+        resp = self.app.post(
+            '/discussion/save_new_topic', params=params).follow()
+        url = resp.request.url
+        resp = self.app.get(url)
+
+        assert 'first subject' in resp
+
+        f = resp.html.find('div', {'id':'mod_thread_form'}).find('form')
+        params=dict(
+            flags='',
+            discussion='general',
+            subject='changed subject')
+        resp = self.app.post(str(f.get('action')), params=params).follow()
+        resp = self.app.get(url)
+
+        assert 'first subject' not in resp.html
+        assert 'changed subject' in resp
+
+
     def test_sidebar_menu(self):
         r = self.app.get('/discussion/')
         sidebar = r.html.find('div', {'id': 'sidebar'})

http://git-wip-us.apache.org/repos/asf/allura/blob/3f0876ca/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py b/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
index fb063d9..0b34a63 100644
--- a/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
+++ b/ForgeDiscussion/forgediscussion/widgets/forum_widgets.py
@@ -91,6 +91,7 @@ class ModerateThread(CsrfForm):
     submit_text = 'Save Changes'
 
     class fields(ew_core.NameList):
+        subject = ew.InputField(label='Change subject:')
         discussion = _ForumSelector(label='Move to different forum:')
         flags = ew.CheckboxSet(label='Options', options=['Sticky', 'Announcement'])