Esempio n. 1
0
         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'] )
Esempio n. 2
0
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))	
Esempio n. 3
0
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']))
Esempio n. 4
0
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']))
Esempio n. 5
0
            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'])