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)
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)
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)
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)
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)
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)
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)
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)
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)