diff options
author | pkaralis <pkaralis@intracom-telecom.com> | 2018-12-06 00:43:12 +0200 |
---|---|---|
committer | Panagiotis Karalis <pkaralis@intracom-telecom.com> | 2019-03-20 15:28:23 +0200 |
commit | d0bbf3b8952379883550c6eb2062476a6d15043e (patch) | |
tree | 106f65b223054077279bda7ff988a73bea314a34 /opnfv_testapi/ui/auth/user.py | |
parent | 5f20495d6e3ec984c4e86fd76399ddf0d042b336 (diff) |
Enable Web Portal for ONAP results
The web portal needs to be able to read test results of the ONAP
compliance program and display them.
In order for the above goal to be achieved, the following two parts
should be impacted:
1- A new front-end should be prepared in order to handle and display
the results
2- The REST API should be extended in order to support the aforementioned
operation.
JIRA: DOVETAIL-669
Change-Id: I36bbb6e602a67020d7e27aedbfc776f5cf4f3dc3
Signed-off-by: pkaralis <pkaralis@intracom-telecom.com>
Co-Authored-By: Stamatis Katsaounis <mokats@intracom-telecom.com>
Diffstat (limited to 'opnfv_testapi/ui/auth/user.py')
-rw-r--r-- | opnfv_testapi/ui/auth/user.py | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/opnfv_testapi/ui/auth/user.py b/opnfv_testapi/ui/auth/user.py index a695da4..5ac6f43 100644 --- a/opnfv_testapi/ui/auth/user.py +++ b/opnfv_testapi/ui/auth/user.py @@ -10,12 +10,19 @@ from tornado import gen from tornado import web +from opnfv_testapi.common import message from opnfv_testapi.common import raises from opnfv_testapi.db import api as dbapi +from opnfv_testapi.resources import models from opnfv_testapi.ui.auth import base +from opnfv_testapi.ui.auth import constants as auth_const class ProfileHandler(base.BaseHandler): + def __init__(self, application, request, **kwargs): + super(ProfileHandler, self).__init__(application, request, **kwargs) + self.table_cls = User + @web.asynchronous @gen.coroutine def get(self): @@ -28,8 +35,51 @@ class ProfileHandler(base.BaseHandler): "email": user.get('email'), "fullname": user.get('fullname'), "role": user.get('role', 'user'), - "type": self.get_secure_cookie('signin_type') + "type": self.get_secure_cookie('signin_type'), + "companyName": user.get('companyName'), + "companyWebsite": user.get('companyWebsite'), + "primaryContactName": user.get('primaryContactName'), + "primaryBusinessEmail": user.get('primaryBusinessEmail'), + "primaryPostalAddress": user.get('primaryPostalAddress'), + "primaryPhoneNumber": user.get('primaryPhoneNumber') + }) except Exception: pass raises.Unauthorized('Unauthorized') + + @gen.coroutine + def put(self): + db_keys = [] + openid = self.get_secure_cookie(auth_const.OPENID) + + if openid: + query = {'openid': openid} + user = yield dbapi.db_find_one(self.table, query) + if not user: + raises.NotFound(message.not_found(self.table, query)) + + self._update(query=query, db_keys=db_keys) + else: + raises.Unauthorized(message.no_auth()) + + +class User(models.ModelBase): + def __init__(self, _id=None, openid=None, email=None, fullname=None, + role='user', u_type=None, companyName=None, + companyWebsite=None, primaryContactName=None, + primaryBusinessEmail=None, primaryPostalAddress=None, + primaryPhoneNumber=None): + self._id = _id + self.openid = openid + self.email = email + self.fullname = fullname + self.role = role + self.type = u_type + + self.companyName = companyName + self.companyWebsite = companyWebsite + self.primaryContactName = primaryContactName + self.primaryBusinessEmail = primaryBusinessEmail + self.primaryPostalAddress = primaryPostalAddress + self.primaryPhoneNumber = primaryPhoneNumber |