diff --git a/mediagoblin/templates/mediagoblin/listings/tag.html b/mediagoblin/templates/mediagoblin/listings/tag.html
index a013797f..a43355a7 100644
--- a/mediagoblin/templates/mediagoblin/listings/tag.html
+++ b/mediagoblin/templates/mediagoblin/listings/tag.html
@@ -17,6 +17,8 @@
#}
{% extends "mediagoblin/base.html" %}
+{% from "mediagoblin/utils/object_gallery.html" import object_gallery %}
+
{% block mediagoblin_head %}
- {% include "mediagoblin/utils/object_gallery.html" %}
+ {{ object_gallery(request, media_entries, pagination) }}
diff --git a/mediagoblin/templates/mediagoblin/root.html b/mediagoblin/templates/mediagoblin/root.html
index a4e19984..06beb436 100644
--- a/mediagoblin/templates/mediagoblin/root.html
+++ b/mediagoblin/templates/mediagoblin/root.html
@@ -17,6 +17,8 @@
#}
{% extends "mediagoblin/base.html" %}
+{% from "mediagoblin/utils/object_gallery.html" import object_gallery %}
+
{% block mediagoblin_content %}
{% trans %}Welcome to GNU MediaGoblin!{% endtrans %}
@@ -41,7 +43,5 @@
{% endif %}
{% endif %}
- {# temporarily, an "image gallery" that isn't one really ;) #}
-
- {% include "mediagoblin/utils/object_gallery.html" %}
+ {{ object_gallery(request, media_entries, pagination) }}
{% endblock %}
diff --git a/mediagoblin/templates/mediagoblin/user_pages/gallery.html b/mediagoblin/templates/mediagoblin/user_pages/gallery.html
index a66a547e..ff935ac4 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/gallery.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/gallery.html
@@ -17,6 +17,8 @@
#}
{% extends "mediagoblin/base.html" %}
+{% from "mediagoblin/utils/object_gallery.html" import object_gallery %}
+
{% block mediagoblin_head %}
- {% include "mediagoblin/utils/object_gallery.html" %}
+ {{ object_gallery(request, media_entries, pagination) }}
- {% set pagination_base_url = user_gallery_url %}
+ {{ object_gallery(request, media_entries, pagination,
+ pagination_base_url=user_gallery_url, col_number=3) }}
{% include "mediagoblin/utils/object_gallery.html" %}
diff --git a/mediagoblin/templates/mediagoblin/utils/object_gallery.html b/mediagoblin/templates/mediagoblin/utils/object_gallery.html
index c5e890fc..c7286678 100644
--- a/mediagoblin/templates/mediagoblin/utils/object_gallery.html
+++ b/mediagoblin/templates/mediagoblin/utils/object_gallery.html
@@ -18,7 +18,7 @@
{% from "mediagoblin/utils/pagination.html" import render_pagination %}
-{% macro media_grid(media_list, col_number=5) %}
+{% macro media_grid(request, media_list, col_number=5) %}
{% set num_items = media_list.count() %}
{% set col_counter = 0 %}
{% set row_counter = 0 %}
@@ -55,9 +55,22 @@
{%- endmacro %}
-{% block object_gallery_content -%}
+
+{#
+ Render a media gallery with pagination.
+
+ Args:
+ - request: Request
+ - media_entries: pymongo cursor of media entries
+ - pagination: Paginator object
+ - pagination_base_url: If you want the pagination to point to a
+ different URL, point it here
+ - col_number: How many columns per row (default 5)
+#}
+{% macro object_gallery(request, media_entries, pagination,
+ pagination_base_url=None, col_number=5) %}
{% if media_entries and media_entries.count() %}
- {{ media_grid(media_entries) }}
+ {{ media_grid(request, media_entries, col_number=col_number) }}
{% if pagination_base_url %}
{# different url, so set that and don't keep the get params #}
@@ -70,4 +83,4 @@
There doesn't seem to be any media here yet...
{% endif %}
-{% endblock %}
+{% endmacro %}