示例#1
0
def undo_impersonate_user():
    """Undo an admin impersonation login and revert to the old user"""
    from fossir.modules.auth import logger
    from fossir.modules.users import User

    try:
        entry = session.pop('login_as_orig_user')
    except KeyError:
        # The user probably already switched back from another tab
        return
    user = User.get_one(entry['user_id'])
    logger.info('Admin %r stopped impersonating user %r', user, session.user)
    session.user = user
    session.update(entry['session_data'])
示例#2
0
 def _process(self):
     source = User.get_one(request.args['source'])
     target = User.get_one(request.args['target'])
     errors, warnings = _get_merge_problems(source, target)
     return jsonify(errors=errors, warnings=warnings)
 def _process_args(self):
     RHAdminBase._process_args(self)
     if request.form.get('undo') == '1':
         self.user = None
     else:
         self.user = User.get_one(int(request.form['user_id']), is_deleted=False)