Ejemplo n.º 1
0
def find_user_or_create(user_name):
    user = User.by_user_name(user_name)
    if user is None:
        user = User(user_name=user_name)
        user.user_name = user_name
        session.add(user)
    return user
Ejemplo n.º 2
0
def find_user_or_create(user_name):
    user = User.by_user_name(user_name)
    if user is None:
        user = User(user_name=user_name)
        user.user_name = user_name
        session.add(user)
    return user
Ejemplo n.º 3
0
def _try_autocreate(user_name):
    """
    If the necessary WSGI environment variables are populated, automatically 
    creates a new Beaker user account based on their values and returns it. 
    Otherwise returns None.
    """
    from bkr.server.model import session, User
    if not flask.request.environ.get('REMOTE_USER_FULLNAME'):
        log.debug(
            'User autocreation attempted for %r but '
            'REMOTE_USER_FULLNAME env var was not populated', user_name)
        return
    if not flask.request.environ.get('REMOTE_USER_EMAIL'):
        log.debug(
            'User autocreation attempted for %r but '
            'REMOTE_USER_EMAIL env var was not populated', user_name)
        return
    user = User()
    user.user_name = user_name.decode('utf8')
    user.display_name = flask.request.environ['REMOTE_USER_FULLNAME'].decode(
        'utf8')
    user.email_address = flask.request.environ['REMOTE_USER_EMAIL'].decode(
        'utf8')
    session.add(user)
    session.flush()
    log.debug('Autocreated user %s', user)
    return user
Ejemplo n.º 4
0
def _try_autocreate(user_name):
    """
    If the necessary WSGI environment variables are populated, automatically 
    creates a new Beaker user account based on their values and returns it. 
    Otherwise returns None.
    """
    from bkr.server.model import session, User
    if not flask.request.environ.get('REMOTE_USER_FULLNAME'):
        log.debug('User autocreation attempted for %r but '
                'REMOTE_USER_FULLNAME env var was not populated',
                user_name)
        return
    if not flask.request.environ.get('REMOTE_USER_EMAIL'):
        log.debug('User autocreation attempted for %r but '
                'REMOTE_USER_EMAIL env var was not populated',
                user_name)
        return
    user = User()
    user.user_name = user_name.decode('utf8')
    user.display_name = flask.request.environ['REMOTE_USER_FULLNAME'].decode('utf8')
    user.email_address = flask.request.environ['REMOTE_USER_EMAIL'].decode('utf8')
    session.add(user)
    session.flush()
    log.debug('Autocreated user %s', user)
    return user
Ejemplo n.º 5
0
    def save(self, **kw):
        if kw.get('id'):
            labcontroller = LabController.by_id(kw['id'])
        else:
            labcontroller = LabController()
            session.add(labcontroller)
        if labcontroller.fqdn != kw['fqdn']:
            activity = LabControllerActivity(identity.current.user, 'WEBUI',
                                             'Changed', 'FQDN',
                                             labcontroller.fqdn, kw['fqdn'])
            labcontroller.fqdn = kw['fqdn']
            labcontroller.write_activity.append(activity)

        # labcontroller.user is used by the lab controller to login here
        try:
            # pick up an existing user if it exists.
            luser = User.query.filter_by(user_name=kw['lusername']).one()
        except InvalidRequestError:
            # Nope, create from scratch
            luser = User()
        if labcontroller.user != luser:
            if labcontroller.user is None:
                old_user_name = None
            else:
                old_user_name = labcontroller.user.user_name
            activity = LabControllerActivity(identity.current.user, 'WEBUI',
                                             'Changed', 'User', old_user_name,
                                             unicode(kw['lusername']))
            labcontroller.user = luser
            labcontroller.write_activity.append(activity)

        # Make sure user is a member of lab_controller group
        group = Group.by_name(u'lab_controller')
        if group not in luser.groups:
            luser.groups.append(group)
        luser.display_name = kw['fqdn']
        luser.email_address = kw['email']
        luser.user_name = kw['lusername']

        if kw['lpassword']:
            luser.password = kw['lpassword']
        if labcontroller.disabled != kw['disabled']:
            activity = LabControllerActivity(identity.current.user, 'WEBUI',
                                             'Changed', 'Disabled',
                                             unicode(labcontroller.disabled),
                                             unicode(kw['disabled']))
            labcontroller.disabled = kw['disabled']
            labcontroller.write_activity.append(activity)

        flash(_(u"%s saved" % labcontroller.fqdn))
        redirect(".")
Ejemplo n.º 6
0
    def save(self, **kw):
        if kw.get('id'):
            labcontroller = LabController.by_id(kw['id'])
        else:
            labcontroller =  LabController()
            session.add(labcontroller)
        if labcontroller.fqdn != kw['fqdn']:
            activity = LabControllerActivity(identity.current.user,
                'WEBUI', 'Changed', 'FQDN', labcontroller.fqdn, kw['fqdn'])
            labcontroller.fqdn = kw['fqdn']
            labcontroller.write_activity.append(activity)

        # labcontroller.user is used by the lab controller to login here
        try:
            # pick up an existing user if it exists.
            luser = User.query.filter_by(user_name=kw['lusername']).one()
        except InvalidRequestError:
            # Nope, create from scratch
            luser = User()
        if labcontroller.user != luser:
            if labcontroller.user is None:
                old_user_name = None
            else:
                old_user_name = labcontroller.user.user_name
            activity = LabControllerActivity(identity.current.user, 'WEBUI',
                'Changed', 'User', old_user_name, unicode(kw['lusername']))
            labcontroller.user = luser
            labcontroller.write_activity.append(activity)

        # Make sure user is a member of lab_controller group
        group = Group.by_name(u'lab_controller')
        if group not in luser.groups:
            luser.groups.append(group)
        luser.display_name = kw['fqdn']
        luser.email_address = kw['email']
        luser.user_name = kw['lusername']

        if kw['lpassword']:
            luser.password = kw['lpassword']
        if labcontroller.disabled != kw['disabled']:
            activity = LabControllerActivity(identity.current.user, 'WEBUI',
                'Changed', 'Disabled', unicode(labcontroller.disabled), 
                unicode(kw['disabled']))
            labcontroller.disabled = kw['disabled']
            labcontroller.write_activity.append(activity)

        flash( _(u"%s saved" % labcontroller.fqdn) )
        redirect(".")
Ejemplo n.º 7
0
    def save(self, **kw):
        if kw.get('user_id'):
            user = User.by_id(kw['user_id'])
        else:
            user = User()
            session.add(user)
        user.display_name = kw['display_name']
        user.user_name = kw['user_name']
        user.email_address = kw['email_address']
        if kw.get('disabled') != user.disabled:
            user.disabled = kw.get('disabled')
            if user.disabled:
                self._disable(user, method="WEBUI")
        if kw['password'] != user.password:
            user.password = kw['password']

        flash(_(u"%s saved" % user.display_name))
        redirect(".")
Ejemplo n.º 8
0
Archivo: user.py Proyecto: omps/beaker
    def save(self, **kw):
        if kw.get('user_id'):
            user = User.by_id(kw['user_id'])
        else:
            user =  User()
            session.add(user)
        user.display_name = kw['display_name']
        user.user_name = kw['user_name']
        user.email_address = kw['email_address']
        if kw.get('disabled') != user.disabled:
            user.disabled = kw.get('disabled')
            if user.disabled:
                self._disable(user, method="WEBUI")
        if kw['password'] != user.password:
            user.password = kw['password']

        flash( _(u"%s saved" % user.display_name) )
        redirect(".")