X-Git-Url: http://git.veekun.com/zzz-spline-forum.git/blobdiff_plain/d2ee32dbc7d8987a3408889daa1d27b3533bfa27..eda83e616ace71957edf96a49a6e80ea3ae27b2a:/splinext/forum/__init__.py?ds=sidebyside diff --git a/splinext/forum/__init__.py b/splinext/forum/__init__.py index 55ffaa2..974e29e 100644 --- a/splinext/forum/__init__.py +++ b/splinext/forum/__init__.py @@ -1,20 +1,22 @@ from pkg_resources import resource_filename -from pylons import c, session +from pylons import session, tmpl_context as c from spline.lib.plugin import PluginBase from spline.lib.plugin import PluginBase, PluginLink, Priority -import spline.model as model -import spline.model.meta as meta import splinext.forum.controllers.forum -import splinext.forum.model def add_routes_hook(map, *args, **kwargs): """Hook to inject some of our behavior into the routes configuration.""" + require_POST = dict(conditions=dict(method=['POST'])) + map.connect('/forums', controller='forum', action='forums') - map.connect('/forums/{forum_id}', controller='forum', action='threads') - map.connect('/forums/{forum_id}/threads/{thread_id}', controller='forum', action='posts') + 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') class ForumPlugin(PluginBase): @@ -23,19 +25,17 @@ class ForumPlugin(PluginBase): forum = splinext.forum.controllers.forum.ForumController, ) - def model(self): - return [ - model.Forum, - model.Thread, - model.Post, - ] - - def template_dirs(self): - return [ - (resource_filename(__name__, 'templates'), Priority.NORMAL) - ] - def hooks(self): - return [ + hooks = [ ('routes_mapping', Priority.NORMAL, add_routes_hook), ] + + # frontpage plugin may or may not be installed + try: + from splinext.forum.frontpage_sources import ForumSource + hooks.append( + ('frontpage_updates_forum', Priority.NORMAL, ForumSource)) + except ImportError: + pass + + return hooks