﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	parents
948	Errors viewing other user's blogs	ayleph		"Following another user's Blog Dashboard link shows a list of that user's blogs. Clicking on one of the listed blogs produces unexpected results.

1. If USER1 is logged in and clicks on one of USER2's blogs from USER2's Blog Dashboard, USER1 sees a 404 page.
2. If a user who is not logged in clicks on one of any USER's blogs from USER's Blog Dashboard, the unauthenticated user sees SERVER ERROR.

This is caused by the below snippet of code.

'''mediagoblin/media_types/blog/views.py''':

{{{
def blog_post_listing(request, page, url_user=None):
    """"""
    Page, listing all the blog posts of a particular blog.
    """"""
    blog_slug = request.matchdict.get('blog_slug', None)
    blog = get_blog_by_slug(request, blog_slug, author=request.user.id)
    if not blog:
        return render_404(request)
}}}

In case 1 above, {{{request.user.id}}} will become the id of USER1, so blog returns empty (unless, I assume, USER1 has an identical blog slug to USER2).

In case 2 above, {{{request.user.id}}} produces a server error with the following text:

{{{
Error - <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'id'
URL: https://domain.tld/mediagoblin/u/USER/b/BLOG/
File '/path/to/mediagoblin/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/exceptions/errormiddleware.py', line 144 in __call__
  app_iter = self.application(environ, sr_checker)
File '/path/to/mediagoblin/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/urlmap.py', line 203 in __call__
  return app(environ, start_response)
File '/path/to/mediagoblin/mediagoblin/app.py', line 265 in __call__
  return self.call_backend(environ, start_response)
File '/path/to/mediagoblin/mediagoblin/app.py', line 242 in call_backend
  response = controller(request)
File '/path/to/mediagoblin/mediagoblin/decorators.py', line 114 in wrapper
  return controller(request, *args, url_user=user, **kwargs)
File '/path/to/mediagoblin/mediagoblin/decorators.py', line 165 in wrapper
  return controller(request, page=page, *args, **kwargs)
File '/path/to/mediagoblin/mediagoblin/media_types/blog/views.py', line 264 in blog_post_listing
  blog = get_blog_by_slug(request, blog_slug, author=request.user.id)
AttributeError: 'NoneType' object has no attribute 'id'
}}}
"	defect	closed	major	0.7.0	programming	fixed		Christopher Allan Webber	
