Joar Wandborg af2fcba5c4 Issue #431 - Prevent comment link expiry - Added functionality for comment linking
*   `media.html`
    *   Changed comment textarea handle from `comment` => `field_comment`
    *   Active comment is hilighted with the CSS class name `comment_active`
    	and also with the hyperlink anchor #comment
    *   Changed media.html so that pagination always uses
    	Route('mediagoblin.user_pages.media_home') as base_url
*   `user_pages/forms.py`
    *   Renamed MediaComment form field `comment` => `field_comment`
*   `user_pages/routing.py`
    *   Added route for `/u/joar/m/123..456/c/234..567/`, points to `media_home`
*   `user_pages/views.py`
    *   `media_home` now checks if the request contains a comment id parameter
        then acts accordingly with pagination whether to call it with a
        `jump_to_id` or not.
    *	`media_post_comment` - Updated MediaCommentForm field name
        `comment` => `field_comment`
*   `util.py`
    *   `redirect` now supports querystring arguments. - NOT USED (should we
        keep it? I think so, it might be useful, sometime [don't call me a
        code hoarder]).
    *   `Pagination.__init__` now accepts one further argument, the `jump_to_id`.
        It assist the comment linking functionality in finding and returning the
        proper page for a comment.
        This feature will work for all kinds of objects. It might not be
        optimal, but it is well functional :)
2011-07-07 18:04:19 +02:00

37 lines
1.8 KiB
Python

# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011 Free Software Foundation, Inc
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from routes.route import Route
user_routes = [
Route('mediagoblin.user_pages.user_home', "/{user}/",
controller="mediagoblin.user_pages.views:user_home"),
Route('mediagoblin.user_pages.user_gallery', "/{user}/gallery/",
controller="mediagoblin.user_pages.views:user_gallery"),
Route('mediagoblin.user_pages.media_home', '/{user}/m/{media}/',
requirements=dict(m_id="[0-9a-fA-F]{24}"),
controller="mediagoblin.user_pages.views:media_home"),
Route('mediagoblin.user_pages.media_home.view_comment',
'/{user}/m/{media}/c/{comment}/',
controller="mediagoblin.user_pages.views:media_home"),
Route('mediagoblin.edit.edit_media', "/{user}/m/{media}/edit/",
controller="mediagoblin.edit.views:edit_media"),
Route('mediagoblin.user_pages.atom_feed', '/{user}/atom/',
controller="mediagoblin.user_pages.views:atom_feed"),
Route('mediagoblin.user_pages.media_post_comment',
'/{user}/m/{media}/comment/add/',
controller="mediagoblin.user_pages.views:media_post_comment")]