aboutsummaryrefslogtreecommitdiffstats
path: root/opnfv_testapi/ui/auth/user.py
diff options
context:
space:
mode:
Diffstat (limited to 'opnfv_testapi/ui/auth/user.py')
-rw-r--r--opnfv_testapi/ui/auth/user.py52
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