Esempio n. 1
0
    def new_user(self, format='json'):
        params = validate_new_user(request.params)
        new_user = User(cert_dn=params['cert_dn'],
                        user_name=params['user_name'],
                        email=params['email'])
        new_user.full_name = params['full_name']
        new_user.suspended = params['suspended']

        # Deal with user groups
        groups = params['groups']
        if not groups:
            groups = [app_globals.default_user_group]
        else:
            groups = groups.rstrip(',').split(',')
            # Check for default user group
            if 'users' not in groups:
                groups.append(app_globals.default_user_group)

        # Do group membership
        #TODO: change from group name to group uuid for membership?
        group_q = meta.Session.query(Group)
        groups = [group_q.filter(Group.name == g).first() for g in groups]
        if None in groups:
            # abort if any specified group does not exist
            abort(400, '400 Bad Request')
        else:
            [new_user.groups.append(g) for g in groups]

        # Update the database
        meta.Session.add(new_user)
        meta.Session.commit()
        response.headers['content-type'] = app_globals.json_content_type
        return h.render_json(beautify.user(new_user))
Esempio n. 2
0
    def new_user(self, format='json'):
        params = validate_new_user(request.params)
        new_user = User(cert_dn=params['cert_dn'],
                        user_name=params['user_name'],
                        email=params['email'])
        new_user.full_name = params['full_name']
        new_user.suspended = params['suspended']

        # Deal with user groups
        groups = params['groups']
        if not groups:
            groups = [app_globals.default_user_group]
        else:
            groups = groups.rstrip(',').split(',')
            # Check for default user group
            if 'users' not in groups:
                groups.append(app_globals.default_user_group)

        # Do group membership
        #TODO: change from group name to group uuid for membership?
        group_q = meta.Session.query(Group)
        groups = [group_q.filter(Group.name==g).first() for g in groups]
        if None in groups:
            # abort if any specified group does not exist
            abort(400, '400 Bad Request')
        else:
            [new_user.groups.append(g) for g in groups]

        # Update the database
        meta.Session.add(new_user)
        meta.Session.commit()
        response.headers['content-type'] = app_globals.json_content_type
        return h.render_json(beautify.user(new_user))
Esempio n. 3
0
 def show(self, user, format='json'):
     user = meta.Session.query(User).filter(User.user_name==user).first()
     if user:
         if format=='json':
             response.headers['content-type'] = app_globals.json_content_type
             return h.render_json(beautify.user(user))
         else:
             abort(501, '501 Not Implemented')
     else:
         abort(404, '404 Not Found')
Esempio n. 4
0
 def show(self, user, format='json'):
     user = meta.Session.query(User).filter(User.user_name == user).first()
     if user:
         if format == 'json':
             response.headers[
                 'content-type'] = app_globals.json_content_type
             return h.render_json(beautify.user(user))
         else:
             abort(501, '501 Not Implemented')
     else:
         abort(404, '404 Not Found')
Esempio n. 5
0
 def whoami(self, format='json'):
     """GET /repoman/whoami: All items in the collection"""
     user = request.environ['REPOMAN_USER']
     if user:
         if format == 'json':
             response.headers['content-type'] = app_globals.json_content_type
             return json.dumps(beautify.user(user))
         else:
             abort(501, '501 Not Implimented')
     else:
         abort(404, '404 Not Found')
Esempio n. 6
0
 def whoami(self, format='json'):
     """GET /repoman/whoami: All items in the collection"""
     user = request.environ['REPOMAN_USER']
     if user:
         if format == 'json':
             response.headers[
                 'content-type'] = app_globals.json_content_type
             return json.dumps(beautify.user(user))
         else:
             abort(501, '501 Not Implimented')
     else:
         abort(404, '404 Not Found')