Update all the views so that they use the uploader reference instead
of uploader embedding
This commit is contained in:
parent
757f37a52d
commit
16509be160
@ -127,17 +127,22 @@ class MediaEntry(Document):
|
|||||||
|
|
||||||
Use a slug if we have one, else use our '_id'.
|
Use a slug if we have one, else use our '_id'.
|
||||||
"""
|
"""
|
||||||
|
uploader = self.uploader()
|
||||||
|
|
||||||
if self.get('slug'):
|
if self.get('slug'):
|
||||||
return urlgen(
|
return urlgen(
|
||||||
'mediagoblin.user_pages.media_home',
|
'mediagoblin.user_pages.media_home',
|
||||||
user=self['uploader']['username'],
|
user=uploader['username'],
|
||||||
media=self['slug'])
|
media=self['slug'])
|
||||||
else:
|
else:
|
||||||
return urlgen(
|
return urlgen(
|
||||||
'mediagoblin.user_pages.media_home',
|
'mediagoblin.user_pages.media_home',
|
||||||
user=self['uploader']['username'],
|
user=uploader['username'],
|
||||||
media=unicode(self['_id']))
|
media=unicode(self['_id']))
|
||||||
|
|
||||||
|
def uploader(self):
|
||||||
|
return self.db.User.find_one({'_id': self['uploader']})
|
||||||
|
|
||||||
|
|
||||||
REGISTER_MODELS = [MediaEntry, User]
|
REGISTER_MODELS = [MediaEntry, User]
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ def get_user_media_entry(controller):
|
|||||||
media = request.db.MediaEntry.find_one(
|
media = request.db.MediaEntry.find_one(
|
||||||
{'slug': request.matchdict['media'],
|
{'slug': request.matchdict['media'],
|
||||||
'state': 'processed',
|
'state': 'processed',
|
||||||
'uploader._id': user['_id']})
|
'uploader': user['_id']})
|
||||||
|
|
||||||
# no media via slug? Grab it via ObjectId
|
# no media via slug? Grab it via ObjectId
|
||||||
if not media:
|
if not media:
|
||||||
@ -88,7 +88,7 @@ def get_user_media_entry(controller):
|
|||||||
media = request.db.MediaEntry.find_one(
|
media = request.db.MediaEntry.find_one(
|
||||||
{'_id': ObjectId(request.matchdict['media']),
|
{'_id': ObjectId(request.matchdict['media']),
|
||||||
'state': 'processed',
|
'state': 'processed',
|
||||||
'uploader._id': user['_id']})
|
'uploader': user['_id']})
|
||||||
except InvalidId:
|
except InvalidId:
|
||||||
return exc.HTTPNotFound()
|
return exc.HTTPNotFound()
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ def submit_start(request):
|
|||||||
entry['title'] = request.POST['title'] or unicode(splitext(filename)[0])
|
entry['title'] = request.POST['title'] or unicode(splitext(filename)[0])
|
||||||
entry['description'] = request.POST.get('description')
|
entry['description'] = request.POST.get('description')
|
||||||
entry['media_type'] = u'image' # heh
|
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
|
# Save, just so we can get the entry id for the sake of using
|
||||||
# it to generate the file path
|
# it to generate the file path
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
{% if media %}
|
{% if media %}
|
||||||
<h1>Media details for <a
|
<h1>Media details for <a
|
||||||
href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
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}}
|
/ {{media.title}}
|
||||||
</h1>
|
</h1>
|
||||||
<div>
|
<div>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<br/>Uploaded on {{ "%4d-%02d-%02d"|format(media.created.year,
|
<br/>Uploaded on {{ "%4d-%02d-%02d"|format(media.created.year,
|
||||||
media.created.month,media.created.day)}} by <a
|
media.created.month,media.created.day)}} by <a
|
||||||
href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
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}}
|
<br/>Description: {{media.description}}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@ -31,7 +31,7 @@ def user_home(request, page):
|
|||||||
return exc.HTTPNotFound()
|
return exc.HTTPNotFound()
|
||||||
|
|
||||||
cursor = request.db.MediaEntry.find(
|
cursor = request.db.MediaEntry.find(
|
||||||
{'uploader': user,
|
{'uploader': user['_id'],
|
||||||
'state': 'processed'}).sort('created', DESCENDING)
|
'state': 'processed'}).sort('created', DESCENDING)
|
||||||
|
|
||||||
pagination = Pagination(page, cursor)
|
pagination = Pagination(page, cursor)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user