X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=authosm%2Fmodels.py;h=d03e6d25b15f314be7a1ff8f26b971fe9ca77fca;hb=8efc923308ffeb9800e75c7b74db0faabd82e20e;hp=36a7b1b89866a3dc6795880661728704c23d2c9b;hpb=99f922f1dc8623a444930a621ce3696802d619c0;p=osm%2FLW-UI.git diff --git a/authosm/models.py b/authosm/models.py index 36a7b1b..d03e6d2 100644 --- a/authosm/models.py +++ b/authosm/models.py @@ -67,7 +67,7 @@ class AbstractOsmUser(AbstractBaseUser, PermissionsMixin): current_project = models.CharField(_('project_id'), max_length=255) psw = models.CharField(_('psw'), max_length=36) - token = models.CharField(_('token'), max_length=36) + token = models.CharField(_('token'), max_length=255) project_id = models.CharField(_('project_id'), max_length=36) token_expires = models.FloatField(_('token_expires'), max_length=36) @@ -89,6 +89,14 @@ class AbstractOsmUser(AbstractBaseUser, PermissionsMixin): return {'id': self.token, 'expires': self.token_expires, 'project_id': self.project_id} return None + def get_projects(self): + client = Client() + result = client.get_user_info(self.get_token(), self.username) + if 'error' in result and result['error'] is True: + return [] + else: + return result['data']['projects'] + def switch_project(self, project_id): client = Client() result = client.switch_project({'project_id': project_id, 'username': self.username, 'password': self.psw})