profiles.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from django.core.urlresolvers import reverse
  2. from django.shortcuts import redirect
  3. from django.template import RequestContext
  4. from misago.users.models import User
  5. from misago.views import error404
  6. def profile(request, user, username, tab='posts'):
  7. user = int(user)
  8. try:
  9. user = User.objects.get(pk=user)
  10. if user.username_slug != username:
  11. # Force crawlers to take notice of updated username
  12. return redirect(reverse('user', args=(user.username_slug, user.pk)), permanent=True)
  13. return globals()['profile_%s' % tab](request, user)
  14. except User.DoesNotExist:
  15. return error404(request)
  16. def profile_posts(request, user):
  17. return request.theme.render_to_response('users/profile/profile.html',
  18. {
  19. 'profile': user,
  20. 'tab': 'posts',
  21. },
  22. context_instance=RequestContext(request));
  23. def profile_threads(request, user):
  24. return request.theme.render_to_response('users/profile/profile.html',
  25. {
  26. 'profile': user,
  27. 'tab': 'threads',
  28. },
  29. context_instance=RequestContext(request));
  30. def profile_following(request, user):
  31. return request.theme.render_to_response('users/profile/profile.html',
  32. {
  33. 'profile': user,
  34. 'tab': 'following',
  35. },
  36. context_instance=RequestContext(request));
  37. def profile_followers(request, user):
  38. return request.theme.render_to_response('users/profile/profile.html',
  39. {
  40. 'profile': user,
  41. 'tab': 'followers',
  42. },
  43. context_instance=RequestContext(request));
  44. def profile_details(request, user):
  45. return request.theme.render_to_response('users/profile/details.html',
  46. {
  47. 'profile': user,
  48. 'tab': 'details',
  49. },
  50. context_instance=RequestContext(request));