diff --git a/sso/urls.py b/sso/urls.py index 7a67a2c..1d852a1 100644 --- a/sso/urls.py +++ b/sso/urls.py @@ -14,4 +14,5 @@ urlpatterns = patterns('', (r'^profile/add/reddit', views.reddit_add), (r'^profile/del/reddit/$', views.reddit_del), (r'^profile/del/reddit/(?P\d+)/$', views.reddit_del), + (r'^users/(?P.*)/$', views.user_view), ) diff --git a/sso/views.py b/sso/views.py index 0b5ae80..d440ffe 100644 --- a/sso/views.py +++ b/sso/views.py @@ -162,4 +162,37 @@ def reddit_del(request, redditid=0): +@login_required +def user_view(request, user): + + is_admin = request.user.is_staff + + user = User.objects.get(username=user) + profile = user.get_profile() + + if is_admin: + try: + services = ServiceAccount.objects.filter(user=user).all() + except ServiceAccount.DoesNotExist: + services = None + + try: + reddits = RedditAccount.objects.filter(user=user).all() + except ServiceAccount.DoesNotExist: + reddits = None + + try: + eveaccounts = EVEAccount.objects.filter(user=user).all() + + characters = [] + + for acc in eveaccounts: + chars = acc.characters.all() + for char in chars: + characters.append({'name': char.name, 'corp': char.corporation.name}) + + except EVEAccount.DoesNotExist: + eveaccounts = None + + return render_to_response('sso/user.html', locals())