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/05/22 16:56:42 UTC

[1/4] git commit: [#4902] ticket:355 Fix tests failing due to changes in create topic url

Updated Branches:
  refs/heads/master d786c6378 -> b37d0e855


[#4902] ticket:355 Fix tests failing due to changes in create topic url


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

Branch: refs/heads/master
Commit: b37d0e855fb3f49e3d343412c1193412636df11e
Parents: 3f04478
Author: Igor Bondarenko <je...@gmail.com>
Authored: Thu May 16 13:41:43 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed May 22 14:56:16 2013 +0000

----------------------------------------------------------------------
 .../forgediscussion/tests/functional/test_forum.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b37d0e85/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 863f1c7..4fa8921 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -688,7 +688,7 @@ class TestForum(TestController):
     def test_sidebar_menu(self):
         r = self.app.get('/discussion/')
         sidebarmenu = str(r.html.find('div',{'id':'sidebar'}))
-        assert '<a href="/p/test/discussion/create_topic"><b data-icon="+" class="ico ico-plus"></b> <span>Create Topic</span></a>' in sidebarmenu
+        assert '<a href="/p/test/discussion/create_topic/"><b data-icon="+" class="ico ico-plus"></b> <span>Create Topic</span></a>' in sidebarmenu
         assert '<a href="/p/test/discussion/new_forum"><b data-icon="q" class="ico ico-conversation"></b> <span>Add Forum</span></a>' in sidebarmenu
         assert '<h3 class="">Help</h3>' in sidebarmenu
         assert '<a href="/p/test/discussion/markdown_syntax"><span>Formatting Help</span></a>' in sidebarmenu
@@ -710,7 +710,7 @@ class TestForum(TestController):
     def test_sidebar_menu_anon(self):
         r = self.app.get('/discussion/')
         sidebarmenu = str(r.html.find('div',{'id':'sidebar'}))
-        assert '<a href="/p/test/discussion/create_topic"><b data-icon="+" class="ico ico-plus"></b> <span>Create Topic</span></a>' in sidebarmenu
+        assert '<a href="/p/test/discussion/create_topic/"><b data-icon="+" class="ico ico-plus"></b> <span>Create Topic</span></a>' in sidebarmenu
         assert '<a href="/p/test/discussion/new_forum"><b data-icon="q" class="ico ico-conversation"></b> <span>Add Forum</span></a>' in sidebarmenu
         assert '<h3 class="">Help</h3>' in sidebarmenu
         assert '<a href="/p/test/discussion/markdown_syntax"><span>Formatting Help</span></a>' in sidebarmenu


[4/4] git commit: [#4902] ticket:330 set current forum as default

Posted by jo...@apache.org.
[#4902]  ticket:330  set current forum as default


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

Branch: refs/heads/master
Commit: 4ee67b6f2989b685ba810581785d2600ccef9be2
Parents: d786c63
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Thu May 2 23:19:27 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed May 22 14:56:16 2013 +0000

----------------------------------------------------------------------
 .../allura/templates/widgets/new_topic_post.html   |    2 +-
 .../forgediscussion/controllers/root.py            |   10 +++++++++-
 .../templates/discussionforums/create_topic.html   |    2 +-
 .../forgediscussion/tests/functional/test_forum.py |    4 ++++
 4 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4ee67b6f/Allura/allura/templates/widgets/new_topic_post.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/new_topic_post.html b/Allura/allura/templates/widgets/new_topic_post.html
index bc1450a..d6f63a0 100644
--- a/Allura/allura/templates/widgets/new_topic_post.html
+++ b/Allura/allura/templates/widgets/new_topic_post.html
@@ -30,7 +30,7 @@
       <label for="{{ widget.context_for(widget.fields.forum)['id'] }}" class="cr">Forum:</label>
       <select id="{{ widget.context_for(widget.fields.forum)['id'] }}" name="{{ widget.context_for(widget.fields.forum)['rendered_name'] }}">
         {% for forum in forums %}
-          <option value="{{forum.shortname}}">{{forum.name}}</option>
+          <option value="{{forum.shortname}}"{% if forum.shortname==current_forum %}selected{% endif %}>{{forum.name}}</option>
         {% endfor %}
       </select>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4ee67b6f/ForgeDiscussion/forgediscussion/controllers/root.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/root.py b/ForgeDiscussion/forgediscussion/controllers/root.py
index 8e074aa..f64dcf4 100644
--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -96,11 +96,19 @@ class RootController(BaseController, DispatchIndex, FeedController):
     @with_trailing_slash
     @expose('jinja:forgediscussion:templates/discussionforums/create_topic.html')
     def create_topic(self, new_forum=False, **kw):
+        forums = model.Forum.query.find(dict(app_config_id=c.app.config._id,
+                                             parent_id=None,
+                                             deleted=False))
+        current_forum = None
+        for f in forums:
+                if request.referer and (f.url() in request.referer):
+                    current_forum = f.shortname
+
         c.new_topic = self.W.new_topic
         forums = [f for f in model.Forum.query.find(dict(
                              app_config_id=c.app.config._id,
                              parent_id=None)).all() if has_access(f, 'post')() and not f.deleted]
-        return dict(forums=forums)
+        return dict(forums=forums, current_forum=current_forum)
 
     @h.vardec
     @expose()

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4ee67b6f/ForgeDiscussion/forgediscussion/templates/discussionforums/create_topic.html
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/templates/discussionforums/create_topic.html b/ForgeDiscussion/forgediscussion/templates/discussionforums/create_topic.html
index 79afdbe..b5e560f 100644
--- a/ForgeDiscussion/forgediscussion/templates/discussionforums/create_topic.html
+++ b/ForgeDiscussion/forgediscussion/templates/discussionforums/create_topic.html
@@ -27,7 +27,7 @@
   <p>You do not have permission to post in any forums.</p>
 {% else %}
   <div class="editbox">
-    {{c.new_topic.display(action=c.app.url + 'save_new_topic',show_subject=True,forums=forums)}}
+    {{c.new_topic.display(action=c.app.url + 'save_new_topic',show_subject=True,forums=forums, current_forum=current_forum)}}
     <div class="clear"></div>
   </div>
 {% endif %}

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4ee67b6f/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 73b6682..f7cfd1c 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -733,3 +733,7 @@ class TestForum(TestController):
         for ext in ['', '.rss', '.atom']:
             self.app.get('/discussion/feed%s' % ext, status=200)
             self.app.get('/discussion/general/feed%s' % ext, status=200)
+
+    def test_create_topic(self):
+        r = self.app.get('/p/test/discussion/create_topic/', headers={'Referer':'/p/test/discussion/testforum/'})
+        assert '<option value="testforum"selected>Test Forum</option>' in r
\ No newline at end of file


[2/4] git commit: [#4902] ticket:330 remove the additional loop from create_topic

Posted by jo...@apache.org.
[#4902]  ticket:330  remove the additional loop from create_topic


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

Branch: refs/heads/master
Commit: 57c0e3eaa9a8b3b98815cd35e4c7e5916fd08876
Parents: 4ee67b6
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Thu May 9 01:02:08 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed May 22 14:56:16 2013 +0000

----------------------------------------------------------------------
 .../forgediscussion/controllers/root.py            |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/57c0e3ea/ForgeDiscussion/forgediscussion/controllers/root.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/root.py b/ForgeDiscussion/forgediscussion/controllers/root.py
index f64dcf4..45a81d6 100644
--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -100,15 +100,15 @@ class RootController(BaseController, DispatchIndex, FeedController):
                                              parent_id=None,
                                              deleted=False))
         current_forum = None
+        c.new_topic = self.W.new_topic
+        my_forums = []
         for f in forums:
                 if request.referer and (f.url() in request.referer):
                     current_forum = f.shortname
+                if has_access(f, 'post')():
+                    my_forums.append(f)
 
-        c.new_topic = self.W.new_topic
-        forums = [f for f in model.Forum.query.find(dict(
-                             app_config_id=c.app.config._id,
-                             parent_id=None)).all() if has_access(f, 'post')() and not f.deleted]
-        return dict(forums=forums, current_forum=current_forum)
+        return dict(forums=my_forums, current_forum=current_forum)
 
     @h.vardec
     @expose()


[3/4] git commit: [#4902] ticket:355 Improve 'Discussion > Create Forum'

Posted by jo...@apache.org.
[#4902] ticket:355 Improve 'Discussion > Create Forum'


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

Branch: refs/heads/master
Commit: 3f044784ac0f44ce35bfefa50b737ff125303d4f
Parents: 57c0e3e
Author: Igor Bondarenko <je...@gmail.com>
Authored: Thu May 16 13:15:15 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed May 22 14:56:16 2013 +0000

----------------------------------------------------------------------
 .../allura/templates/widgets/new_topic_post.html   |    2 +-
 .../forgediscussion/controllers/root.py            |   20 +++++++++-----
 ForgeDiscussion/forgediscussion/forum_main.py      |    4 ++-
 .../forgediscussion/tests/functional/test_forum.py |   19 ++++++++++++-
 4 files changed, 34 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/3f044784/Allura/allura/templates/widgets/new_topic_post.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/new_topic_post.html b/Allura/allura/templates/widgets/new_topic_post.html
index d6f63a0..60e31a0 100644
--- a/Allura/allura/templates/widgets/new_topic_post.html
+++ b/Allura/allura/templates/widgets/new_topic_post.html
@@ -30,7 +30,7 @@
       <label for="{{ widget.context_for(widget.fields.forum)['id'] }}" class="cr">Forum:</label>
       <select id="{{ widget.context_for(widget.fields.forum)['id'] }}" name="{{ widget.context_for(widget.fields.forum)['rendered_name'] }}">
         {% for forum in forums %}
-          <option value="{{forum.shortname}}"{% if forum.shortname==current_forum %}selected{% endif %}>{{forum.name}}</option>
+          <option value="{{forum.shortname}}"{% if forum == current_forum %} selected{% endif %}>{{forum.name}}</option>
         {% endfor %}
       </select>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/3f044784/ForgeDiscussion/forgediscussion/controllers/root.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/controllers/root.py b/ForgeDiscussion/forgediscussion/controllers/root.py
index 45a81d6..e358e18 100644
--- a/ForgeDiscussion/forgediscussion/controllers/root.py
+++ b/ForgeDiscussion/forgediscussion/controllers/root.py
@@ -95,19 +95,19 @@ class RootController(BaseController, DispatchIndex, FeedController):
 
     @with_trailing_slash
     @expose('jinja:forgediscussion:templates/discussionforums/create_topic.html')
-    def create_topic(self, new_forum=False, **kw):
+    def create_topic(self, forum_name=None, new_forum=False, **kw):
         forums = model.Forum.query.find(dict(app_config_id=c.app.config._id,
                                              parent_id=None,
                                              deleted=False))
-        current_forum = None
         c.new_topic = self.W.new_topic
         my_forums = []
+        forum_name = h.really_unicode(unquote(forum_name)) if forum_name else None
+        current_forum = None
         for f in forums:
-                if request.referer and (f.url() in request.referer):
-                    current_forum = f.shortname
-                if has_access(f, 'post')():
-                    my_forums.append(f)
-
+            if forum_name == f.shortname:
+                current_forum = f
+            if has_access(f, 'post')():
+                my_forums.append(f)
         return dict(forums=my_forums, current_forum=current_forum)
 
     @h.vardec
@@ -168,6 +168,12 @@ class RootController(BaseController, DispatchIndex, FeedController):
     def _lookup(self, id=None, *remainder):
         if id:
             id = unquote(id)
+            forum = model.Forum.query.get(
+                app_config_id=c.app.config._id,
+                shortname=id)
+            if forum is None:
+                raise exc.HTTPNotFound()
+            c.forum = forum
             return ForumController(id), remainder
         else:
             raise exc.HTTPNotFound()

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/3f044784/ForgeDiscussion/forgediscussion/forum_main.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/forum_main.py b/ForgeDiscussion/forgediscussion/forum_main.py
index e94855d..75b0104 100644
--- a/ForgeDiscussion/forgediscussion/forum_main.py
+++ b/ForgeDiscussion/forgediscussion/forum_main.py
@@ -152,7 +152,9 @@ class ForgeDiscussionApp(Application):
                         moderate_link = SitemapEntry('Moderate', "%smoderate/" % f.url(), ui_icon=g.icons['pencil'],
                         small = DM.ForumPost.query.find({'discussion_id':f._id, 'status':{'$ne': 'ok'}}).count())
                     forum_links.append(SitemapEntry(f.name, f.url(), small=f.num_topics))
-            l.append(SitemapEntry('Create Topic', c.app.url + 'create_topic', ui_icon=g.icons['plus']))
+            url = c.app.url + 'create_topic/'
+            url = h.urlquote(url + c.forum.shortname if getattr(c, 'forum', None) and c.forum else url)
+            l.append(SitemapEntry('Create Topic', url, ui_icon=g.icons['plus']))
             if has_access(c.app, 'configure')():
                 l.append(SitemapEntry('Add Forum', c.app.url + 'new_forum', ui_icon=g.icons['conversation']))
                 l.append(SitemapEntry('Admin Forums', c.project.url()+'admin/'+self.config.options.mount_point+'/forums', ui_icon=g.icons['pencil']))

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/3f044784/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 f7cfd1c..863f1c7 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -735,5 +735,20 @@ class TestForum(TestController):
             self.app.get('/discussion/general/feed%s' % ext, status=200)
 
     def test_create_topic(self):
-        r = self.app.get('/p/test/discussion/create_topic/', headers={'Referer':'/p/test/discussion/testforum/'})
-        assert '<option value="testforum"selected>Test Forum</option>' in r
\ No newline at end of file
+        r = self.app.get('/p/test/discussion/create_topic/')
+        assert 'Test Forum' in r
+        assert 'General Discussion' in r
+        r = self.app.get('/p/test/discussion/create_topic/general/')
+        assert '<option value="general" selected>General Discussion</option>' in r
+        r = self.app.get('/p/test/discussion/create_topic/testforum/')
+        assert '<option value="testforum" selected>Test Forum</option>' in r
+
+    def test_create_topic_unicode(self):
+        r = self.app.get('/admin/discussion/forums')
+        r.forms[1]['add_forum.shortname'] = u'téstforum'.encode('utf-8')
+        r.forms[1]['add_forum.name'] = u'Tést Forum'.encode('utf-8')
+        r.forms[1].submit()
+        r = self.app.get('/admin/discussion/forums')
+        assert u'téstforum'.encode('utf-8') in r
+        r = self.app.get(u'/p/test/discussion/create_topic/téstforum/'.encode('utf-8'))
+        assert u'<option value="téstforum" selected>Tést Forum</option>' in r