From 28c44caea054529e0a789f939c45a8fccc7f877e Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Mon, 2 Jan 2012 20:49:52 +0000 Subject: [PATCH 1/3] For corporate keys, if APIKeyInfo returned OK assume its OK to use. --- app/eve_api/tasks/account.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/eve_api/tasks/account.py b/app/eve_api/tasks/account.py index bc1006f..526748b 100644 --- a/app/eve_api/tasks/account.py +++ b/app/eve_api/tasks/account.py @@ -134,6 +134,9 @@ def import_apikey_func(api_userid, api_key, user=None, force_cache=False, log=lo if not account.check_access(getattr(settings, 'EVE_API_MINIMUM_KEYMASK', 59638024)): account.api_status = API_STATUS_INVALID_PERMISSIONS + else: + # If its a corp key, and we've not errored so far, assume is OK. + account.api_status = API_STATUS_OK # Remove deleted or traded characters newcharlist = [int(char['characterID']) for char in doc['result']['key']['characters']] From a60de9a59d1776fed95ffec34938a3539ecd00a0 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Tue, 3 Jan 2012 20:40:21 +0000 Subject: [PATCH 2/3] Give new users level 3 by default --- app/sso/services/postracker/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/sso/services/postracker/__init__.py b/app/sso/services/postracker/__init__.py index 04a880f..e03e7aa 100644 --- a/app/sso/services/postracker/__init__.py +++ b/app/sso/services/postracker/__init__.py @@ -16,10 +16,10 @@ class POSTrackerService(BaseDBService): 'use_auth_username': False, 'database_name': 'dreddit_pos' } - SQL_ADD_USER = r"INSERT INTO pos3_user (eve_id, name, pass, email, access, corp, alliance_id) VALUES (%s, %s, %s, %s, 1, %s, %s)" - SQL_DIS_USER = r"UPDATE pos3_user SET pass = '', away = 1 WHERE name = %s" + SQL_ADD_USER = r"INSERT INTO pos3_user (eve_id, name, pass, email, access, corp, alliance_id) VALUES (%s, %s, %s, %s, 3, %s, %s)" + SQL_DIS_USER = r"UPDATE pos3_user SET access = 0, pass = '', away = 1 WHERE name = %s" SQL_DEL_USER = r"DELETE FROM pos3_user WHERE name = %s" - SQL_ENABLE_USER = r"UPDATE pos3_user SET pass = %s, away = 0 WHERE name = %s" + SQL_ENABLE_USER = r"UPDATE pos3_user SET access = 3, pass = %s, away = 0 WHERE name = %s" SQL_CHECK_USER = r"SELECT name from pos3_user WHERE name = %s" def _gen_salt(self): From b5086f57e6e60eb03e42020b7dcd3fe27ad4e59d Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Wed, 4 Jan 2012 18:34:55 +0000 Subject: [PATCH 3/3] added the "admin" field to the login endpoint, showing what groups the user is admin of --- app/api/handlers/v1.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/api/handlers/v1.py b/app/api/handlers/v1.py index 4959d8d..9dfdaab 100644 --- a/app/api/handlers/v1.py +++ b/app/api/handlers/v1.py @@ -98,8 +98,17 @@ class LoginHandler(BaseHandler): pchardict['alliance'] = None else: pchardict = None + + glist = [] + for g in u.groups.all(): + if u in g.groupinformation.admins.all(): + admin = True + else: + admin = False + glist.append({'id': g.id, 'name': g.name, 'admin': admin}) + return {'auth': 'ok', 'id': u.id, 'username': u.username, - 'email': u.email, 'groups': u.groups.all().values('id', 'name'), + 'email': u.email, 'groups': glist, 'staff': u.is_staff, 'superuser': u.is_superuser, 'primarycharacter': pchardict} else: return {'auth': 'failed', 'error': 'password'}