Beispiel #1
0
def register():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        # return f'answer is {User.select().where(User.username == username).exists()}'
        if User.select().where(User.username == username).exists():
            # handles case where username is already taken
            return render_template(
                "register.html",
                message='username already taken. try again.',
                islogged='user_id' in session)
        elif len(password) < 8:
            return render_template(
                "register.html",
                message='Your password must be at least 8 characters-try again',
                islogged='user_id' in session)
        elif len(username) < 7:
            return render_template(
                "register.html",
                message='Your name must be at least 7 characters-try again',
                islogged='user_id' in session)

        else:
            # input is totaly valid- user is created.
            if (password == request.form.get('confirm-password')):
                #checks that password was typed correctrly
                newuser = User.create(username=username, password=password)
                newuser.save()
                session['user_id'] = User.select().where(
                    User.username == username).get().id
                return redirect(url_for('quote', islogged='user_id'
                                        in session))
            else:
                return render_template(
                    "register.html",
                    message='passwords not matching- try again!',
                    islogged='user_id' in session)

    else:
        return render_template("register.html",
                               message='',
                               islogged='user_id' in session)
Beispiel #2
0
def validator():
    invalid_user_ids = User.select(User.id).where(
        peewee.fn.length(User.username) < 6
        ^ peewee.fn.length(User.password) < 8)
    new_q = Quote.delete().where(Quote.user_id.in_(invalid_user_ids))
    new_q.execute()
    q = User.delete().where(
        peewee.fn.length(User.username) < 6
        ^ peewee.fn.length(User.password) < 8)
    q.execute()
    q = Quote.delete().where(peewee.fn.length(Quote.description) < 15)
    q.execute()
    return 'removed bad users and bad quotes.'
Beispiel #3
0
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')

        user = User.select().where((User.username == username)
                                   & (User.password == password))
        if not user.exists():
            return render_template(
                "login.html",
                message='wrong username/password- try again!',
                islogged='user_id' in session)
        else:
            session['user_id'] = user.get().id
            return redirect(url_for('quote'))

    else:
        return render_template("login.html",
                               message='',
                               islogged='user_id' in session)
Beispiel #4
0
def my_quotes():
    if 'user_id' in session:
        my_quotes = User.select(
            peewee.fn.ARRAY_AGG(User.username).alias('username'),
            Quote.description,
            peewee.fn.ARRAY_TO_STRING(peewee.fn.ARRAY_AGG(
                Board.title), ', ').alias('title')).join(Quote).join(
                    QuotesBoards,
                    peewee.JOIN.LEFT_OUTER,
                    on=(QuotesBoards.quote_id == Quote.id)).join(
                        Board, peewee.JOIN.LEFT_OUTER).where(
                            Quote.user_id == User.get_by_id(
                                session['user_id'])).group_by(
                                    User.username, Quote.description)
        my_quotes = list(my_quotes.dicts())
        return render_template("quote_display.html",
                               quotes=my_quotes,
                               user=session['user_id'],
                               islogged='user_id' in session,
                               display='user')
    else:
        return render_template("quote_display.html", islogged=False)