From 994bd278d72d150dfdccd76dbbe22ea02e0778eb Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Mon, 7 Jun 2010 13:21:38 +0100 Subject: [PATCH] Service ID is now optional on the API --- api/handlers.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/api/handlers.py b/api/handlers.py index b8a2231..be77aa5 100644 --- a/api/handlers.py +++ b/api/handlers.py @@ -45,20 +45,28 @@ class ServiceLoginHandler(BaseHandler): allowed_methods = ('GET') def read(self, request): - if not 'user' in request.GET or not 'pass' in request.GET or not 'service' in request.GET: + 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: - try: - serv = Service.objects.get(id=request.GET['service']) - except: - print 'bad service' - return rc.BAD_REQUEST - srvacct = userobj.serviceaccount_set.filter(service=serv) - if len(srvacct): - return { 'auth': 'ok', 'id': userobj.id, 'username': userobj.username, - 'display-username': srvacct[0].service_uid, 'eveapi': userobj.eveaccount_set.all() } + 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' }