Create redir_obj and use it around.
This is a shortcut function to redirect to the main page for an object. Objects currently supported: media entries and collections. And go around and replace various places to use this.
This commit is contained in:
parent
8f88b1f6dc
commit
2e6ee596ad
@ -28,7 +28,8 @@ from mediagoblin.edit.lib import may_edit_media
|
|||||||
from mediagoblin.decorators import (require_active_login, active_user_from_url,
|
from mediagoblin.decorators import (require_active_login, active_user_from_url,
|
||||||
get_media_entry_by_id,
|
get_media_entry_by_id,
|
||||||
user_may_alter_collection, get_user_collection)
|
user_may_alter_collection, get_user_collection)
|
||||||
from mediagoblin.tools.response import render_to_response, redirect
|
from mediagoblin.tools.response import render_to_response, \
|
||||||
|
redirect, redirect_obj
|
||||||
from mediagoblin.tools.translate import pass_to_ugettext as _
|
from mediagoblin.tools.translate import pass_to_ugettext as _
|
||||||
from mediagoblin.tools.text import (
|
from mediagoblin.tools.text import (
|
||||||
convert_to_tag_list_of_dicts, media_tags_as_string)
|
convert_to_tag_list_of_dicts, media_tags_as_string)
|
||||||
@ -74,8 +75,7 @@ def edit_media(request, media):
|
|||||||
media.slug = slug
|
media.slug = slug
|
||||||
media.save()
|
media.save()
|
||||||
|
|
||||||
return redirect(request,
|
return redirect_obj(request, media)
|
||||||
location=media.url_for_self(request.urlgen))
|
|
||||||
|
|
||||||
if request.user.is_admin \
|
if request.user.is_admin \
|
||||||
and media.uploader != request.user.id \
|
and media.uploader != request.user.id \
|
||||||
@ -331,9 +331,7 @@ def edit_collection(request, collection):
|
|||||||
|
|
||||||
collection.save()
|
collection.save()
|
||||||
|
|
||||||
return redirect(request, "mediagoblin.user_pages.user_collection",
|
return redirect_obj(request, collection)
|
||||||
user=collection.get_creator.username,
|
|
||||||
collection=collection.slug)
|
|
||||||
|
|
||||||
if request.user.is_admin \
|
if request.user.is_admin \
|
||||||
and collection.creator != request.user.id \
|
and collection.creator != request.user.id \
|
||||||
|
@ -99,3 +99,10 @@ def redirect(request, *args, **kwargs):
|
|||||||
if querystring:
|
if querystring:
|
||||||
location += querystring
|
location += querystring
|
||||||
return werkzeug.utils.redirect(location)
|
return werkzeug.utils.redirect(location)
|
||||||
|
|
||||||
|
|
||||||
|
def redirect_obj(request, obj):
|
||||||
|
"""Redirect to the page for the given object.
|
||||||
|
|
||||||
|
Requires obj to have a .url_for_self method."""
|
||||||
|
return redirect(request, location=obj.url_for_self(request.urlgen))
|
||||||
|
@ -20,7 +20,8 @@ import datetime
|
|||||||
from mediagoblin import messages, mg_globals
|
from mediagoblin import messages, mg_globals
|
||||||
from mediagoblin.db.models import (MediaEntry, MediaTag, Collection,
|
from mediagoblin.db.models import (MediaEntry, MediaTag, Collection,
|
||||||
CollectionItem, User)
|
CollectionItem, User)
|
||||||
from mediagoblin.tools.response import render_to_response, render_404, redirect
|
from mediagoblin.tools.response import render_to_response, render_404, \
|
||||||
|
redirect, redirect_obj
|
||||||
from mediagoblin.tools.translate import pass_to_ugettext as _
|
from mediagoblin.tools.translate import pass_to_ugettext as _
|
||||||
from mediagoblin.tools.pagination import Pagination
|
from mediagoblin.tools.pagination import Pagination
|
||||||
from mediagoblin.user_pages import forms as user_forms
|
from mediagoblin.user_pages import forms as user_forms
|
||||||
@ -178,7 +179,7 @@ def media_post_comment(request, media):
|
|||||||
media_uploader.wants_comment_notification):
|
media_uploader.wants_comment_notification):
|
||||||
send_comment_email(media_uploader, comment, media, request)
|
send_comment_email(media_uploader, comment, media, request)
|
||||||
|
|
||||||
return redirect(request, location=media.url_for_self(request.urlgen))
|
return redirect_obj(request, media)
|
||||||
|
|
||||||
|
|
||||||
@get_media_entry_by_id
|
@get_media_entry_by_id
|
||||||
@ -255,9 +256,7 @@ def media_collect(request, media):
|
|||||||
_('"%s" added to collection "%s"')
|
_('"%s" added to collection "%s"')
|
||||||
% (media.title, collection.title))
|
% (media.title, collection.title))
|
||||||
|
|
||||||
return redirect(request, "mediagoblin.user_pages.media_home",
|
return redirect_obj(request, media)
|
||||||
user=media.get_uploader.username,
|
|
||||||
media=media.slug_or_id)
|
|
||||||
|
|
||||||
|
|
||||||
#TODO: Why does @user_may_delete_media not implicate @require_active_login?
|
#TODO: Why does @user_may_delete_media not implicate @require_active_login?
|
||||||
@ -282,8 +281,7 @@ def media_confirm_delete(request, media):
|
|||||||
messages.add_message(
|
messages.add_message(
|
||||||
request, messages.ERROR,
|
request, messages.ERROR,
|
||||||
_("The media was not deleted because you didn't check that you were sure."))
|
_("The media was not deleted because you didn't check that you were sure."))
|
||||||
return redirect(request,
|
return redirect_obj(request, media)
|
||||||
location=media.url_for_self(request.urlgen))
|
|
||||||
|
|
||||||
if ((request.user.is_admin and
|
if ((request.user.is_admin and
|
||||||
request.user.id != media.uploader)):
|
request.user.id != media.uploader)):
|
||||||
@ -369,9 +367,7 @@ def collection_item_confirm_remove(request, collection_item):
|
|||||||
request, messages.ERROR,
|
request, messages.ERROR,
|
||||||
_("The item was not removed because you didn't check that you were sure."))
|
_("The item was not removed because you didn't check that you were sure."))
|
||||||
|
|
||||||
return redirect(request, "mediagoblin.user_pages.user_collection",
|
return redirect_obj(request, collection)
|
||||||
user=username,
|
|
||||||
collection=collection.slug)
|
|
||||||
|
|
||||||
if ((request.user.is_admin and
|
if ((request.user.is_admin and
|
||||||
request.user.id != collection_item.in_collection.creator)):
|
request.user.id != collection_item.in_collection.creator)):
|
||||||
@ -419,9 +415,7 @@ def collection_confirm_delete(request, collection):
|
|||||||
request, messages.ERROR,
|
request, messages.ERROR,
|
||||||
_("The collection was not deleted because you didn't check that you were sure."))
|
_("The collection was not deleted because you didn't check that you were sure."))
|
||||||
|
|
||||||
return redirect(request, "mediagoblin.user_pages.user_collection",
|
return redirect_obj(request, collection)
|
||||||
user=username,
|
|
||||||
collection=collection.slug)
|
|
||||||
|
|
||||||
if ((request.user.is_admin and
|
if ((request.user.is_admin and
|
||||||
request.user.id != collection.creator)):
|
request.user.id != collection.creator)):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user