Adding a general purpose context hook for the media display page.

Since the media template name gets swapped out for each media
type, normal context hooks don't work if you want to affect all
media displays.  This gives a general purpose hook.

This commit sponsored by Kẏra.  Thanks! :)
This commit is contained in:
Christopher Allan Webber 2014-04-07 16:58:54 -05:00
parent bfb99d65f4
commit 2edd6b0b91

View File

@ -31,6 +31,7 @@ from mediagoblin.user_pages.lib import (send_comment_email,
add_media_to_collection, build_report_object) add_media_to_collection, build_report_object)
from mediagoblin.notifications import trigger_notification, \ from mediagoblin.notifications import trigger_notification, \
add_comment_subscription, mark_comment_notification_seen add_comment_subscription, mark_comment_notification_seen
from mediagoblin.tools.pluginapi import hook_transform
from mediagoblin.decorators import (uses_pagination, get_user_media_entry, from mediagoblin.decorators import (uses_pagination, get_user_media_entry,
get_media_entry_by_id, user_has_privilege, user_not_banned, get_media_entry_by_id, user_has_privilege, user_not_banned,
@ -146,14 +147,23 @@ def media_home(request, media, page, **kwargs):
media_template_name = media.media_manager.display_template media_template_name = media.media_manager.display_template
return render_to_response( context = {
request, 'media': media,
media_template_name,
{'media': media,
'comments': comments, 'comments': comments,
'pagination': pagination, 'pagination': pagination,
'comment_form': comment_form, 'comment_form': comment_form,
'app_config': mg_globals.app_config}) 'app_config': mg_globals.app_config}
# Since the media template name gets swapped out for each media
# type, normal context hooks don't work if you want to affect all
# media displays. This gives a general purpose hook.
context = hook_transform(
"media_home_context", context)
return render_to_response(
request,
media_template_name,
context)
@get_media_entry_by_id @get_media_entry_by_id