Exemple #1
0
def login(id=0):
    searchform = SearchForm()
    form = LoginForm()

    if form.validate_on_submit():
        if verify_login(form.number.data, form.password.data):
            flash('You have logged in!', 'primary')

            if sql_query("SELECT * FROM PartIn WHERE playerid=? AND eventid=?",
                         (user.number, id)):
                flash('You are already attending that event', 'warning')
            elif id != 0:
                sql_query("INSERT INTO PartIn values(?,?)", (user.number, id),
                          commit=True)
                sql_query("UPDATE Events SET num=num+1 WHERE id=?", (id, ),
                          commit=True)

            return redirect(url_for('account'))
        else:
            flash('Wrong password or number!', 'danger')

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template("loginpage.html",
                           title='Login page',
                           user=user,
                           form=form,
                           searchform=searchform)
Exemple #2
0
def guestlogin(id=0):
    searchform = SearchForm()
    form = GuestForm()

    if form.validate_on_submit():
        user.new(form.number.data, form.name.data, form.age.data,
                 form.sex.data)
        sql_query("INSERT INTO Players VALUES(?,?,?,?,?,?,?)",
                  (user.age, user.sex, user.name, 'None', None, user.number,
                   user.photo),
                  commit=True)
        sql_query("INSERT INTO PartIn values(?,?)", (user.number, id),
                  commit=True)
        sql_query("UPDATE Events SET num=num+1 WHERE id=?", (id, ),
                  commit=True)

        flash('You can now modify your info and make a password', 'warning')
        return redirect(url_for('account'))

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template('guestlogin.html',
                           title='Guest login',
                           user=user,
                           form=form,
                           id=id,
                           searchform=searchform)
Exemple #3
0
def change_password():
    searchform = SearchForm()

    if (user.number == None):
        flash('You have to be logged in to enter that page', 'danger')
        return redirect('login')

    form = ChangePasswordForm()
    if form.validate_on_submit():
        if user.password == None or bcrypt.check_password_hash(
                user.password, form.old.data):
            new_hashed = bcrypt.generate_password_hash(
                form.new.data).decode('utf-8')
            ree = sql_query("UPDATE Players SET password=? WHERE number=?;",
                            (new_hashed, user.number),
                            commit=True)
            if ree == None:
                flash('Something went wrong', 'danger')
            else:
                flash('Password changed', 'success')
                return redirect(url_for('account'))
        else:
            flash('Old password wrong', 'danger')

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template('change_password.html',
                           title='Change password',
                           user=user,
                           form=form,
                           searchform=searchform)
Exemple #4
0
def home_page():
    searchform = SearchForm()
    data = []
    events = sql_query("SELECT * FROM Events;")

    for event in events:
        ev = []
        players = []
        list = sql_query("SELECT playerid FROM PartIn WHERE eventid=?;",
                         (event[0], ))
        ev.append(event)
        for i in list:
            player = sql_query("SELECT * FROM Players WHERE number=?;",
                               (i[0], ))
            if player:
                players.append(player[0])
        ev.append(players)
        data.append(ev)

    if searchform.is_submitted():
        data = search_for_events(searchform)

    return render_template("mainpage.html",
                           title="Front page",
                           data=data,
                           user=user,
                           searchform=searchform)
Exemple #5
0
def account():
    searchform = SearchForm()
    if (user.number == None):
        flash('You have to be logged in to enter that page', 'danger')
        return redirect('login')
    image_source = "static/profile_pics/" + user.photo
    events = sql_query(
        "SELECT * FROM Events INNER JOIN PartIn ON Events.id==PartIn.eventid AND PartIn.playerid=?;",
        (user.number, ))
    data = []
    for event in events:
        ev = []
        players = []
        list = sql_query("SELECT playerid FROM PartIn WHERE eventid=?;",
                         (event[0], ))
        ev.append(event)
        for i in list:
            player = sql_query("SELECT * FROM Players WHERE number=?;",
                               (i[0], ))
            if player:
                players.append(player[0])
        ev.append(players)
        data.append(ev)

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template("account.html",
                           title='Account',
                           user=user,
                           image_source=image_source,
                           data=data,
                           searchform=searchform)
Exemple #6
0
def homepage():
    day_weather = Weather()
    form = SearchForm()
    if form.is_submitted():
        city = form.search_term.data
    else:
        city = 'London'
    day_weather.single_day_weather(city)
    return render_template('index.html',
                           content=day_weather.get_data(),
                           form=form)
Exemple #7
0
def create_event():
    searchform = SearchForm()
    form = EventForm()
    if user.number:
        form = EventForm2()

    if form.validate_on_submit():
        number = user.number
        if not user.number:
            number = form.number.data

        last_id = sql_query(
            "INSERT INTO Events VALUES(?,?,?,?,?,?,?,?,?,?)",
            (None, form.header.data, form.sport.data, form.place.data,
             form.city.data, form.time.data, form.description.data,
             form.limit.data, 1, number),
            commit=True,
            get_id=True)
        sql_query("INSERT INTO PartIn VALUES(?,?)", (number, last_id),
                  commit=True)

        if user.number == None:
            ans = sql_query("SELECT * FROM PLayers WHERE number=?",
                            (form.number.data, ))
            if ans:
                return redirect(url_for('login'))
            else:
                user.number = form.number.data
                return redirect(url_for('create_account'))

        return redirect(url_for('home_page'))

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template("create_event.html",
                           title='Create an event',
                           form=form,
                           user=user,
                           searchform=searchform)
Exemple #8
0
def change_accountinfo():
    searchform = SearchForm()

    if (user.number == None):
        flash('You have to be logged in to enter that page', 'danger')
        return redirect('login')
    form = AccountInfoForm()
    if form.validate_on_submit():
        if bcrypt.check_password_hash(user.password, form.password.data):
            picture_file = user.photo
            if form.photo.data:
                picture_file = save_picture(form.photo.data)
                user.photo = picture_file

            ree = sql_query(
                "UPDATE Players SET name=?, age=?, sex=?, photo=?, bio=? WHERE number=?;",
                (form.name.data, form.age.data, form.sex.data, picture_file,
                 form.bio.data, user.number),
                commit=True)
            user.login(user.number)
            return redirect(url_for('account'))

        else:
            flash('Wrong password', 'danger')

    elif request.method == 'GET':
        form.name.data = user.name
        form.age.data = user.age
        form.sex.data = user.sex
        form.bio.data = user.bio

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template("account_info.html",
                           title='Account info',
                           user=user,
                           form=form,
                           searchform=searchform)
Exemple #9
0
def create_account():
    searchform = SearchForm()
    form = AccountForm()

    if form.validate_on_submit():
        kuva = 'default.png'
        if form.sex.data == 'Female':
            kuva = 'default2.png'
        if form.photo.data:
            picture_file = save_picture(form.photo.data)
            kuva = picture_file
        hashed = None
        if form.password.data:
            hashed = bcrypt.generate_password_hash(
                form.password.data).decode('utf-8')
            sql_query("INSERT INTO Players VALUES(?,?,?,?,?,?,?)",
                      (form.age.data, form.sex.data, form.name.data,
                       form.bio.data, hashed, form.number.data, kuva),
                      commit=True)
            user.login(form.number.data)
            flash('Account created, logged in!', 'primary')

        return redirect(url_for('home_page'))

    elif request.method == 'GET' and user.number:
        form.number.data = user.number

    if searchform.is_submitted():
        data = search_for_events(searchform)
        return home_page()

    return render_template("create_account.html",
                           title='Create an account',
                           form=form,
                           user=user,
                           searchform=searchform)