Add feature to view other user profiles

This commit is contained in:
Trever Fischer
2012-04-21 10:33:25 -04:00
parent 5a64db3b29
commit ebbd7df499
4 changed files with 20 additions and 10 deletions

View File

@@ -4,6 +4,8 @@ from django.views.generic.simple import direct_to_template
urlpatterns = patterns('local',
url(r'^me$', 'views.profile', name='user_profile'),
url(r'^user/(?P<username>.+)$', 'views.profile'),
url(r'^player/(?P<mc_username>.+)$', 'views.profile'),
url(r'^list$', 'views.list'),
url(r'^welcome', direct_to_template, {'template': 'local/welcome.html'}, name='welcome'),
url(r'^register', 'views.register'),

View File

@@ -14,11 +14,18 @@ import forms
import models
from forums.models import Forum
from minecraft.forms import ProfileForm
from minecraft.models import MinecraftProfile
from django.conf import settings
@login_required
def profile(request):
return render_to_response('local/profile.html', context_instance = RequestContext(request))
def profile(request, username=None, mc_username=None):
if username is None and mc_username is None:
user = request.user
elif mc_username is None:
user = User.objects.get(username=username)
else:
user = MinecraftProfile.objects.get(mc_username=mc_username).user
return render_to_response('local/profile.html', {'profile': user}, context_instance = RequestContext(request))
@login_required
def edit(request):

View File

@@ -1,20 +1,20 @@
{% extends "profile_base.html" %}
{% load minecraft %}
{%block title%}{{user}}{%endblock%}
{%block title%}{{profile}}{%endblock%}
{% block sectiontitle %}{{user}}{%endblock%}
{% block sectiontitle %}{{profile}}{%endblock%}
{%block content %}
<div class="item">
{% avatar user %}
{% avatar profile %}
<a href="{%url local.views.edit %}">Edit profile</a>
<a href="{%url local.views.invites %}">Invites</a>
<ul>
<li>Member Since: {{user.date_joined|date:"SHORT_DATE_FORMAT"}}</li>
<li>Last seen: {{user.last_login|date:"SHORT_DATE_FORMAT"}}</li>
<li>Invited here by: {{user.claimed_invite.creator|default:"Nobody!"}}</li>
<li>Average Playtime: {{user.minecraftprofile.averagePlaytime}}</li>
<li>Total Playtime: {{user.minecraftprofile.totalPlaytime}}</li>
<li>Member Since: {{profile.date_joined|date:"SHORT_DATE_FORMAT"}}</li>
<li>Last seen: {{profile.last_login|date:"SHORT_DATE_FORMAT"}}</li>
<li>Invited here by: {{profile.claimed_invite.creator|default:"Nobody!"}}</li>
<li>Average Playtime: {{profile.minecraftprofile.averagePlaytime}}</li>
<li>Total Playtime: {{profile.minecraftprofile.totalPlaytime}}</li>
</ul>
</div>
{%endblock%}

View File

@@ -11,6 +11,7 @@ urlpatterns = patterns('',
url(r'^minecraft/', include('minecraft.urls')),
url(r'^mail/', include('messages.urls')),
url(r'^profiles/', include('local.urls')),
url(r'^users/(?P<username>.+)/', 'local.views.profile'),
url(r'^accounts/logout', 'django.contrib.auth.views.logout', kwargs={'next_page':'/'}),
url(r'^accounts/', include('django.contrib.auth.urls')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),