def get_user(self): token=self.accessToken() if not token: return None uri=config.get("OAUTH_CONF","resource_url") r=requests.get(uri,params={'access_token':token}) userdata=r.json() user_info={} if ' ' in userdata['name']: #user_info['first_name'],user_info['middle_name'],user_info['last_name']=userdata['name'].split() data=userdata['name'].split() if len(data) > 2: user_info['first_name']=data[0] user_info['middle_name']=data[1] user_info['last_name']=data[2] else: user_info['first_name']=data[0] user_info['last_name']=data[1] else: user_info['first_name']=userdata['name'] user_info['last_name']=' ' user_info['user_name'] = userdata['user_id'] user_info['email'] = userdata['email'] user_info['roles'] = fetch_user_role(user_info['user_name']) # If user has super admin rights; it is added to separate organization if current.ADMIN in user_info['roles']: user_info['organisation'] = 'ADMIN' else: user_info['organisation'] = 'IITD' create_or_update_user(user_info, False) return dict(first_name=user_info['first_name'],last_name=user_info['last_name'],email=userdata['email'],username = userdata['user_id'] )
def get_user_info(username, roles): user_query = db((db.user.username == username) & (db.user.id == db.user_membership.user_id) & (db.user_membership.group_id == db.user_group.id) & (db.user_group.role.belongs(roles))) user = user_query.select().first() # If user not present in DB if not user: if current.auth_type == 'ldap': user_info = fetch_ldap_user(username) if user_info: if [obj for obj in roles if obj in user_info['roles']]: create_or_update_user(user_info, False) user = user_query.select().first() if user: return (user.user.id, (user.user.first_name + ' ' + user.user.last_name))
def get_user_info(username, roles=[USER, FACULTY, ORGADMIN, ADMIN]): user_query = db((db.user.username == username) & (db.user.id == db.user_membership.user_id) & (db.user_membership.group_id == db.user_group.id) & (db.user_group.role.belongs(roles))) user = user_query.select(db.user.ALL).first() # If user not present in DB if not user: if current.auth_type == AUTH_TYPE_LDAP : user_info = fetch_ldap_user(username) if user_info: if [obj for obj in roles if obj in user_info['roles']]: create_or_update_user(user_info, False) user = user_query.select(db.user.ALL).first() if user: if is_moderator() | (user['organisation_id'] == auth.user.organisation_id): return (user['id'], (user['first_name'] + ' ' + user['last_name']))
def get_user(self): token = self.accessToken() if not token: return None uri = config.get("OAUTH_CONF", "resource_url") r = requests.get(uri, params={'access_token': token}) userdata = r.json() user_info = {} if ' ' in userdata['name']: #user_info['first_name'],user_info['middle_name'],user_info['last_name']=userdata['name'].split() data = userdata['name'].split() if len(data) > 2: user_info['first_name'] = data[0] user_info['middle_name'] = data[1] user_info['last_name'] = data[2] else: user_info['first_name'] = data[0] user_info['last_name'] = data[1] else: user_info['first_name'] = userdata['name'] user_info['last_name'] = ' ' user_info['user_name'] = userdata['user_id'] user_info['email'] = userdata['email'] user_info['roles'] = fetch_user_role(user_info['user_name']) # If user has super admin rights; it is added to separate organization if current.ADMIN in user_info['roles']: user_info['organisation'] = 'ADMIN' else: user_info['organisation'] = 'IITD' create_or_update_user(user_info, False) return dict(first_name=user_info['first_name'], last_name=user_info['last_name'], email=userdata['email'], username=userdata['user_id'])