mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-23 06:39:25 +00:00
Added User Lookup feature
This commit is contained in:
11
sso/forms.py
11
sso/forms.py
@@ -1,4 +1,5 @@
|
||||
from django import forms
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from eve_api.models.api_player import EVEAccount
|
||||
from sso.models import ServiceAccount, Service
|
||||
@@ -52,3 +53,13 @@ class RedditAccountForm(forms.Form):
|
||||
return self.cleaned_data
|
||||
else:
|
||||
raise forms.ValidationError("This User ID is already registered")
|
||||
|
||||
class UserLookupForm(forms.Form):
|
||||
username = forms.CharField(label = u'User ID', max_length=64)
|
||||
|
||||
def clean(self):
|
||||
try:
|
||||
acc = User.objects.get(username=self.cleaned_data['username'])
|
||||
except User.DoesNotExist:
|
||||
raise forms.ValidationError("User doesn't exist")
|
||||
return self.cleaned_data
|
||||
|
||||
@@ -15,4 +15,5 @@ urlpatterns = patterns('',
|
||||
(r'^profile/del/reddit/$', views.reddit_del),
|
||||
(r'^profile/del/reddit/(?P<redditid>\d+)/$', views.reddit_del),
|
||||
(r'^users/(?P<user>.*)/$', views.user_view),
|
||||
(r'^users/$', views.user_view),
|
||||
)
|
||||
|
||||
55
sso/views.py
55
sso/views.py
@@ -9,7 +9,7 @@ from eve_api.api_puller.accounts import import_eve_account
|
||||
from eve_api.models.api_player import EVEAccount
|
||||
|
||||
from sso.models import ServiceAccount, SSOUser, ExistingUser
|
||||
from sso.forms import EveAPIForm, UserServiceAccountForm, RedditAccountForm
|
||||
from sso.forms import EveAPIForm, UserServiceAccountForm, RedditAccountForm, UserLookupForm
|
||||
|
||||
from reddit.models import RedditAccount
|
||||
|
||||
@@ -166,7 +166,23 @@ def reddit_del(request, redditid=0):
|
||||
|
||||
|
||||
@login_required
|
||||
def user_view(request, user):
|
||||
def user_view(request, user=None):
|
||||
form = UserLookupForm()
|
||||
|
||||
if user:
|
||||
user = user
|
||||
elif request.method == 'POST':
|
||||
form = UserLookupForm(request.POST)
|
||||
if form.is_valid():
|
||||
user = form.cleaned_data['username']
|
||||
else:
|
||||
return render_to_response('sso/userlookup.html', {
|
||||
'form': form,
|
||||
})
|
||||
else:
|
||||
return render_to_response('sso/userlookup.html', {
|
||||
'form': form,
|
||||
})
|
||||
|
||||
is_admin = request.user.is_staff
|
||||
|
||||
@@ -174,28 +190,27 @@ def user_view(request, user):
|
||||
profile = user.get_profile()
|
||||
|
||||
if is_admin:
|
||||
try:
|
||||
services = ServiceAccount.objects.filter(user=user).all()
|
||||
except ServiceAccount.DoesNotExist:
|
||||
services = None
|
||||
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:
|
||||
reddits = RedditAccount.objects.filter(user=user).all()
|
||||
except ServiceAccount.DoesNotExist:
|
||||
reddits = None
|
||||
|
||||
try:
|
||||
eveaccounts = EVEAccount.objects.filter(user=user).all()
|
||||
try:
|
||||
eveaccounts = EVEAccount.objects.filter(user=user).all()
|
||||
|
||||
characters = []
|
||||
characters = []
|
||||
|
||||
for acc in eveaccounts:
|
||||
chars = acc.characters.all()
|
||||
for char in chars:
|
||||
characters.append({'name': char.name, 'corp': char.corporation.name})
|
||||
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
|
||||
except EVEAccount.DoesNotExist:
|
||||
eveaccounts = None
|
||||
|
||||
return render_to_response('sso/user.html', locals())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user