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
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
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
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(".")
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(".")
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(".")
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(".")