Added a url_for_self method for generating mediaentry links

This allows for optionally making the url based off of slugs or ids
This commit is contained in:
Christopher Allan Webber 2011-05-20 18:16:10 -05:00
parent 439e37f732
commit 6926b23d43
3 changed files with 20 additions and 4 deletions

View File

@ -117,6 +117,24 @@ class MediaEntry(Document):
if duplicate:
self['slug'] = "%s-%s" % (self['_id'], self['slug'])
def url_for_self(self, urlgen):
"""
Generate an appropriate url for ourselves
Use a slug if we have one, else use our '_id'.
"""
if self.get('slug'):
return urlgen(
'mediagoblin.user_pages.media_home',
user=self['uploader']['username'],
media=self['slug'])
else:
return urlgen(
'mediagoblin.user_pages.media_home',
user=self['uploader']['username'],
media=unicode(self['_id']))
REGISTER_MODELS = [MediaEntry, User]

View File

@ -44,8 +44,7 @@
<ul>
{% for entry in media_entries %}
<li>
<a href="{{ request.urlgen('mediagoblin.user_pages.media_home',
user= entry.uploader.username, m_id= entry._id) }}">
<a href="{{ entry.url_for_self(request.urlgen) }}">
<img src="{{ request.app.public_store.file_url(
entry['media_files']['thumb']) }}" /></a>
</li>

View File

@ -22,8 +22,7 @@
<ul>
{% for entry in media_entries %}
<li>
<a href="{{ request.urlgen('mediagoblin.user_pages.media_home',
user= entry.uploader.username, m_id= entry._id) }}">
<a href="{{ entry.url_for_self(request.urlgen) }}">
<img src="{{ request.app.public_store.file_url(
entry['media_files']['thumb']) }}" /></a>
</li>