X-Git-Url: http://git.veekun.com/zzz-spline-forum.git/blobdiff_plain/fa61b899bc9091483ddcacbbda99ec324e868b4f..c4862394138640294e578fc3fb55fb5a54cf9840:/splinext/forum/__init__.py diff --git a/splinext/forum/__init__.py b/splinext/forum/__init__.py index 3d1b18a..5794a4c 100644 --- a/splinext/forum/__init__.py +++ b/splinext/forum/__init__.py @@ -1,6 +1,7 @@ from pkg_resources import resource_filename -from pylons import c, session +from pylons import session, tmpl_context as c +from routes import url_for as url from spline.lib.plugin import PluginBase from spline.lib.plugin import PluginBase, PluginLink, Priority @@ -9,14 +10,17 @@ import splinext.forum.controllers.forum def add_routes_hook(map, *args, **kwargs): """Hook to inject some of our behavior into the routes configuration.""" + require_GET = dict(conditions=dict(method=['GET'])) require_POST = dict(conditions=dict(method=['POST'])) map.connect('/forums', controller='forum', action='forums') map.connect(r'/forums/{forum_id:\d+}', controller='forum', action='threads') map.connect(r'/forums/{forum_id:\d+}/threads/{thread_id:\d+}', controller='forum', action='posts') - map.connect(r'/forums/{forum_id:\d+}/write', controller='forum', action='write_thread') - map.connect(r'/forums/{forum_id:\d+}/threads/{thread_id:\d+}/write', controller='forum', action='write') + map.connect(r'/forums/{forum_id:\d+}/write', controller='forum', action='write_thread', **require_GET) + map.connect(r'/forums/{forum_id:\d+}/write', controller='forum', action='write_thread_commit', **require_POST) + map.connect(r'/forums/{forum_id:\d+}/threads/{thread_id:\d+}/write', controller='forum', action='write', **require_GET) + map.connect(r'/forums/{forum_id:\d+}/threads/{thread_id:\d+}/write', controller='forum', action='write_commit', **require_POST) class ForumPlugin(PluginBase): @@ -25,6 +29,11 @@ class ForumPlugin(PluginBase): forum = splinext.forum.controllers.forum.ForumController, ) + def links(self): + return [ + PluginLink(u'Forums', url(controller='forum', action='forums')), + ] + def hooks(self): hooks = [ ('routes_mapping', Priority.NORMAL, add_routes_hook), @@ -32,9 +41,11 @@ class ForumPlugin(PluginBase): # frontpage plugin may or may not be installed try: - from splinext.forum.frontpage_sources import ForumSource + from splinext.forum.frontpage_sources import ForumSource, forum_activity hooks.append( ('frontpage_updates_forum', Priority.NORMAL, ForumSource)) + hooks.append( + ('frontpage_extras', Priority.NORMAL, forum_activity)) except ImportError: pass