Remove ServiceLogin and updated User

This commit is contained in:
2010-06-07 13:50:39 +01:00
parent 482c05ca1c
commit e3fea13425
2 changed files with 3 additions and 38 deletions

View File

@@ -14,55 +14,22 @@ class UserHandler(BaseHandler):
def read(self, request, id=None): def read(self, request, id=None):
if id: if id:
try: try:
u = User.objects.filter(id=id) u = User.objects.get(id=id)
except (User.DoesNotExist, ValueError): except (User.DoesNotExist, ValueError):
return rc.NOT_HERE return rc.NOT_HERE
if 'user' in request.GET: if 'user' in request.GET:
try: try:
u = User.objects.filter(username=request.GET['user']) u = User.objects.get(username=request.GET['user'])
except User.DoesNotExist: except User.DoesNotExist:
return rc.NOT_HERE return rc.NOT_HERE
if 'serviceuid' in request.GET: if 'serviceuid' in request.GET:
try: try:
sa = ServiceAccount.objects.filter(service_uid=request.get['serviceuid']) u = ServiceAccount.objects.get(service_uid=request.get['serviceuid']).user
except ServiceAccount.DoesNotExist: except ServiceAccount.DoesNotExist:
return rc.NOT_HERE return rc.NOT_HERE
u = sa.user
d = { 'id': u.id, 'username': u.username, 'password': u.password, 'serviceaccounts': u.serviceaccount_set.all(), d = { 'id': u.id, 'username': u.username, 'password': u.password, 'serviceaccounts': u.serviceaccount_set.all(),
'eveapi': u.eveaccount_set.all(), 'email': u.email } 'eveapi': u.eveaccount_set.all(), 'email': u.email }
return d return d
class ServiceLoginHandler(BaseHandler):
allowed_methods = ('GET')
def read(self, request):
if not 'user' in request.GET or not 'pass' in request.GET:
return rc.BAD_REQUEST
userobj = authenticate(username=request.GET['user'], password=request.GET['pass'])
if userobj and userobj.is_active:
if 'service' in request.GET:
try:
serv = Service.objects.get(id=request.GET['service'])
except:
return rc.BAD_REQUEST
srvacct = userobj.serviceaccount_set.filter(service=serv)
if len(srvacct):
displayname = srvacct[0].service_uid
else:
displayname = userobj.username
else:
displayname = userobj.username
return { 'auth': 'ok', 'id': userobj.id, 'username': userobj.username, 'email': userobj.email,
'display-username': displayname, 'eveapi': userobj.eveaccount_set.all() }
return { 'auth': 'fail' }

View File

@@ -8,11 +8,9 @@ oauth = { 'authentication': OAuthAuthentication() }
noauth = { 'authentication': NoAuthentication() } noauth = { 'authentication': NoAuthentication() }
user_resource = Resource(handler=UserHandler, **noauth) user_resource = Resource(handler=UserHandler, **noauth)
servicelogin_resource = Resource(handler=ServiceLoginHandler, **noauth)
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^user/$', user_resource), url(r'^user/$', user_resource),
url(r'^servicelogin/$', servicelogin_resource),
) )
urlpatterns += patterns('piston.authentication', urlpatterns += patterns('piston.authentication',