Beispiel #1
0
def register():
    if request.method == 'POST':
        new_user = request.form.to_dict()

        #incomplete data
        errors = {}
        new_user['username'] = new_user['username'].strip().lower()
        if len(new_user['username']) == 0:
            errors['username'] = '******'t be blank'

        if len(new_user['password']) == 0:
            errors['password'] = '******'

        #user already registered
        if db.users.find_one({'username':new_user['username']}):
            errors['username'] = '******' % new_user['username']
        
        if len(errors) > 0:
            return render_template('register.html', new_user=new_user, errors=errors)

        db.users.save(new_user)

        user = UserMixin()
        user.username = new_user['username']
        user.id = new_user['_id'].__str__()
        login_user(user)

        return redirect(request.args.get("next") or url_for("index"))
    
    elif request.method == 'GET':
        return render_template('register.html', new_user= {'username':'', 'password':'', 'email':''})
def get_user(user_id=None, username=None):
    global _users_data

    if not _users_data:

        _users_data = {}

        with open(os.path.join(const.DATA_DIR, "users.csv")) as f:
            user_dict = util.csv_to_array_of_dicts(f)

        for user in user_dict:
            new_user = UserMixin()
            new_user.id = user["id"]
            new_user.username = user["name"]
            new_user.password = user["password"]

            _users_data[new_user.get_id()] = new_user

    if user_id is None:
        for user in _users_data.values():
            if user.username == username:
                return user
    if user_id in _users_data:
        return _users_data[user_id]
    else:
        return False
Beispiel #3
0
def login():
    if request.method == 'POST':
        user = request.form.to_dict()

        #incomplete data
        #incomplete data
        errors = {}
        user['username'] = user['username'].strip().lower()
        if len(user['username']) == 0:
            errors['username'] = '******'t be blank'

        if len(user['password']) == 0:
            errors['password'] = '******'

        user_found = db.users.find_one({'username':user['username'], 'password':user['password']})

        #username or password incorrect
        if not user_found:
            errors['not_valid'] = 'username or password is not valid'
            return render_template('login.html', user = user, errors = errors)

        user = UserMixin()
        user.username = user_found['username']
        user.id = user_found['_id'].__str__()
        login_user(user)
        g.user = user
        return redirect(request.args.get("next") or url_for("index"))
    
    return render_template('login.html', user= {'username':'', 'password':''})
Beispiel #4
0
def login():
    if request.method == 'POST':
        user = request.form.to_dict()

        #incomplete data
        #incomplete data
        errors = {}
        user['username'] = user['username'].strip().lower()
        if len(user['username']) == 0:
            errors['username'] = '******'t be blank'

        if len(user['password']) == 0:
            errors['password'] = '******'

        user_found = db.users.find_one({
            'username': user['username'],
            'password': user['password']
        })

        #username or password incorrect
        if not user_found:
            errors['not_valid'] = 'username or password is not valid'
            return render_template('login.html', user=user, errors=errors)

        user = UserMixin()
        user.username = user_found['username']
        user.id = user_found['_id'].__str__()
        login_user(user)
        g.user = user
        return redirect(request.args.get("next") or url_for("index"))

    return render_template('login.html', user={'username': '', 'password': ''})
Beispiel #5
0
def load_user(userid):
    #get the user 3
    user_found = db.users.find_one({'_id': ObjectId(userid)})
    user = UserMixin()
    user.username = user_found['username']
    user.id = user_found['_id'].__str__()
    g.user = user
    return user
Beispiel #6
0
def load_user(userid):
    #get the user 3
    user_found = db.users.find_one({'_id': ObjectId(userid)})
    user = UserMixin()
    user.username = user_found['username']
    user.id = user_found['_id'].__str__()
    g.user = user
    return user
Beispiel #7
0
    def save_session(self, user: UserMixin, key: str):
        """ Register new user session at session repository.

            Args:
                user (UserMixin) : User session instance to be registered.
                key (str): Key used to identify the new user session.
        """
        self.users[key] = user
        self.users_id_dict[user.id] = self.users[user.username()]
Beispiel #8
0
def load_user(editor_id):
    # looks for extra info in session, and updates the user object with that.
    # If session isn't loaded/valid, should return None
    if (not session.get('editor')) or (not session.get('api_token')):
        return None
    editor = session['editor']
    token = session['api_token']
    user = UserMixin()
    user.id = editor_id
    user.editor_id = editor_id
    user.username = editor['username']
    user.is_admin = editor['is_admin']
    user.token = token
    return user
Beispiel #9
0
def load_user(editor_id: str) -> UserMixin:
    # looks for extra info in session, and updates the user object with that.
    # If session isn't loaded/valid, should return None
    if (not session.get("editor")) or (not session.get("api_token")):
        return None
    editor = session["editor"]
    token = session["api_token"]
    user = UserMixin()
    user.id = editor_id
    user.editor_id = editor_id
    user.username = editor["username"]
    user.is_admin = editor["is_admin"]
    user.token = token
    return user
Beispiel #10
0
def register():
    if request.method == 'POST':
        new_user = request.form.to_dict()

        #incomplete data
        errors = {}
        new_user['username'] = new_user['username'].strip().lower()
        if len(new_user['username']) == 0:
            errors['username'] = '******'t be blank'

        if len(new_user['password']) == 0:
            errors['password'] = '******'

        #user already registered
        if db.users.find_one({'username': new_user['username']}):
            errors[
                'username'] = '******' % new_user[
                    'username']

        if len(errors) > 0:
            return render_template('register.html',
                                   new_user=new_user,
                                   errors=errors)

        db.users.save(new_user)

        user = UserMixin()
        user.username = new_user['username']
        user.id = new_user['_id'].__str__()
        login_user(user)

        return redirect(request.args.get("next") or url_for("index"))

    elif request.method == 'GET':
        return render_template('register.html',
                               new_user={
                                   'username': '',
                                   'password': '',
                                   'email': ''
                               })