Update all the views so that they use the uploader reference instead

of uploader embedding
This commit is contained in:
Christopher Allan Webber 2011-05-22 16:06:45 -05:00
parent 757f37a52d
commit 16509be160
5 changed files with 13 additions and 8 deletions

View File

@ -127,17 +127,22 @@ class MediaEntry(Document):
Use a slug if we have one, else use our '_id'.
"""
uploader = self.uploader()
if self.get('slug'):
return urlgen(
'mediagoblin.user_pages.media_home',
user=self['uploader']['username'],
user=uploader['username'],
media=self['slug'])
else:
return urlgen(
'mediagoblin.user_pages.media_home',
user=self['uploader']['username'],
user=uploader['username'],
media=unicode(self['_id']))
def uploader(self):
return self.db.User.find_one({'_id': self['uploader']})
REGISTER_MODELS = [MediaEntry, User]

View File

@ -80,7 +80,7 @@ def get_user_media_entry(controller):
media = request.db.MediaEntry.find_one(
{'slug': request.matchdict['media'],
'state': 'processed',
'uploader._id': user['_id']})
'uploader': user['_id']})
# no media via slug? Grab it via ObjectId
if not media:
@ -88,7 +88,7 @@ def get_user_media_entry(controller):
media = request.db.MediaEntry.find_one(
{'_id': ObjectId(request.matchdict['media']),
'state': 'processed',
'uploader._id': user['_id']})
'uploader': user['_id']})
except InvalidId:
return exc.HTTPNotFound()

View File

@ -46,7 +46,7 @@ def submit_start(request):
entry['title'] = request.POST['title'] or unicode(splitext(filename)[0])
entry['description'] = request.POST.get('description')
entry['media_type'] = u'image' # heh
entry['uploader'] = request.user
entry['uploader'] = request.user['_id']
# Save, just so we can get the entry id for the sake of using
# it to generate the file path

View File

@ -22,7 +22,7 @@
{% if media %}
<h1>Media details for <a
href="{{ request.urlgen('mediagoblin.user_pages.user_home',
user= media.uploader.username) }}">{{media.uploader.username}}</a>
user= media.uploader().username) }}">{{media.uploader.username}}</a>
/ {{media.title}}
</h1>
<div>
@ -32,7 +32,7 @@
<br/>Uploaded on {{ "%4d-%02d-%02d"|format(media.created.year,
media.created.month,media.created.day)}} by <a
href="{{ request.urlgen('mediagoblin.user_pages.user_home',
user= media.uploader.username) }}">{{media.uploader.username}}</a>
user= media.uploader().username) }}">{{media.uploader.username}}</a>
<br/>Description: {{media.description}}
</div>
{% else %}

View File

@ -31,7 +31,7 @@ def user_home(request, page):
return exc.HTTPNotFound()
cursor = request.db.MediaEntry.find(
{'uploader': user,
{'uploader': user['_id'],
'state': 'processed'}).sort('created', DESCENDING)
pagination = Pagination(page, cursor)