X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/366dedf71b3cdd775251c7cea4b1519b44b37164..cb1976ef371904b45d7961212cd87595a9486284:/floof/config/routing.py diff --git a/floof/config/routing.py b/floof/config/routing.py index c9b4975..32451e9 100644 --- a/floof/config/routing.py +++ b/floof/config/routing.py @@ -46,29 +46,41 @@ def make_map(): map.connect('/users', controller='users', action='list') map.connect('user_page', '/users/{name}', controller='users', action='view') + # Comments + with map.submapper(controller='comments') as sub: + sub.connect('/*owner_url/comments', action='thread') + sub.connect('/*owner_url/comments/reply', action='reply') + sub.connect('/*owner_url/comments/reply_done', action='reply_done', **require_POST) + sub.connect('/*owner_url/comments/{id}', action='thread') + sub.connect('/*owner_url/comments/{id}/reply', action='reply') + sub.connect('/*owner_url/comments/{id}/reply_done', action='reply_done', **require_POST) with map.submapper(controller="art") as sub: sub.connect('new_art', '/art/new', action="new") sub.connect('create_art', '/art/create', action="create") sub.connect('rate_art', '/art/{id}/rate', action="rate") sub.connect('show_art', '/art/{id}', action="show") - + with map.submapper(controller='tag') as sub: sub.connect('delete_tag', '/art/{art_id}/tag/{id}') sub.connect('create_tag', '/art/{art_id}/tag') + with map.submapper(controller='relation') as sub: + sub.connect('create_relation', '/art/{art_id}/relations/{kind}/create', action="create") + # TODO: conditions: kind = by|for|of|character? + map.resource('tag','tags', controller="tag", parent_resource=dict(member_name='art', collection_name='art')) # Yeah, parent resources are specified kinda dumb-ly. Would be better if you could pass in the # real parent resource instead of mocking it up with a silly dict. We should file a feature request. - + # I think resources is the right way to go for most things. It ensures all of our actions have the right # methods on them, at least. It does require the use of silly _method="delete" post parameters though. - + # One sticking point though is, it'll happily allow you to add any formatting string you want, like art/1.json # I wonder if there's a way to place requirements on that, or disable it until we actually have formats. # It just serves the same action as usual but with a format argument in the context. - + # map.connect('/art/new', controller='art', action='new') # map.connect('/art/upload', controller='art', action='upload') # map.connect('show_art', '/art/{id}', controller='art', action='show')