def review(id): userId = session.get('ID', None) if (session.get('ID', None) is not None): conn = get_db() cur = conn.cursor() commandGetTrip = "SELECT * FROM Trips WHERE id = {}".format(id) cur.execute(commandGetTrip) currentTrip = cur.fetchone() if (request.method == 'POST'): rating = request.form['rating'] message = request.form['message'] commandInsertComments = "INSERT INTO Comments VALUES (NULL, '{}', '{}', '{}', '{}')".format( message, rating, userId, currentTrip[7]) cur.execute(commandInsertComments) conn.commit() cur.close() conn.close() flash("Your review was submit") return redirect('../users') else: cur.close() conn.close() return render_template('review.html', trip=currentTrip) else: return redirect('../home')
def choosecar(id, driverId): conn = get_db() cur = conn.cursor() license = request.form['license'] brand = request.form['brand'] model = request.form['model'] capacity = request.form['capacity'] year = request.form['year'] color = request.form['color'] commandCheckIfCarExist = "SELECT license FROM cars WHERE license = '{}'".format( license) cars = cur.execute(commandCheckIfCarExist) if (cars > 0): flash("This car already exist") cur.close() conn.close() return redirect("../../choosecar/{}".format(id)) commandSetCar = "INSERT INTO cars VALUES ('{}', {}, '{}', '{}', '{}', '{}', '{}');".format( license, driverId, brand, model, capacity, year, color) cur.execute(commandSetCar) conn.commit() commandSetTrip = "UPDATE trips T SET T.license = '{}', T.seats_available = '{}' WHERE T.id = '{}'".format( license, capacity, id) cur.execute(commandSetTrip) conn.commit() cur.close() conn.close() return redirect("../../pickupinfo/{}".format(id))
def login_auth(): conn = get_db() cur = conn.cursor() auth = False email = request.form['email'] password = request.form['password'] print(email) userLoginValidation = "SELECT * FROM users U WHERE U.email = '{}' AND U.password = MD5('{}')".format( email, password) responseLoginValidation = cur.execute(userLoginValidation) if responseLoginValidation == 0: flash("Enter a valid account") else: commandId = "SELECT u.id FROM users u WHERE u.email = '{}'".format( email) cur.execute(commandId) id = cur.fetchone() session['ID'] = id[0] auth = True cur.close() conn.close() if (auth == True): return redirect('home') else: return render_template('login.html')
def users(): if (session.get('ID', None) is not None): user_id = session.get('ID', None) if user_id == None: flash("The user is not valid") return render_template("users.html") else: conn = get_db() cur = conn.cursor() command = "SELECT * FROM users WHERE id = {}".format(user_id) cur.execute(command) user = cur.fetchone() commandTripAsDriver = "SELECT * FROM trips WHERE id_driver = {}".format( user_id) cur.execute(commandTripAsDriver) tripAsDriver = cur.fetchall() commandTripAsPassenger = "SELECT * FROM trips WHERE id_passengers LIKE '%/{}%'".format( user_id) cur.execute(commandTripAsPassenger) tripAsPassenger = cur.fetchall() return render_template('users.html', user=user, tripAsDriver=tripAsDriver, tripAsPassenger=tripAsPassenger) else: return redirect('home', user=user)
def payment(id): if(session.get('ID', None) is not None): conn = get_db() cur = conn.cursor() commandTrip = "SELECT * FROM Trips WHERE id = {}".format(id) cur.execute(commandTrip) currentTrip = cur.fetchone() commandDriverReviews = "SELECT * FROM comments WHERE id_driver = {}".format(currentTrip[7]) cur.execute(commandDriverReviews) reviews = cur.fetchall() commandDriverName = "SELECT first_name, last_name FROM users WHERE id = {}".format(currentTrip[7]) cur.execute(commandDriverName) driver = cur.fetchone() commandCar = "SELECT * FROM Cars WHERE license = '{}'".format(currentTrip[10]) cur.execute(commandCar) car = cur.fetchone() cur.close() conn.close() return render_template('paymentTrip.html', currentTrip=currentTrip, reviews=reviews, driver=driver, car=car) else: return redirect('../home')
def chooseExistingCar(id, driverId, license): conn = get_db() cur = conn.cursor() commandGetCapacity = "SELECT capacity FROM cars WHERE license = '{}'".format( license) cur.execute(commandGetCapacity) capacity = cur.fetchone()[0] commandSetTrip = "UPDATE trips T SET T.license = '{}', T.seats_available = '{}' WHERE T.id = '{}'".format( license, capacity, id) cur.execute(commandSetTrip) conn.commit() cur.close() conn.close() return redirect("../../../pickupinfo/{}".format(id))
def fillAccount(id): if (session.get('ID', None) is not None): userId = session.get('ID', None) conn = get_db() cur = conn.cursor() commandUserMoney = "SELECT balance FROM users WHERE id = {}".format(id) cur.execute(commandUserMoney) amount = cur.fetchone() if (request.method == 'GET'): cur.close() conn.close() return render_template('fillAccount.html', amount=amount[0], id=id) else: moneyDeposit = request.form['amount'] if (moneyDeposit == ""): moneyDeposit = 0 elif (float(moneyDeposit) < 0.0): flash("You can't add negative amount.") cur.close() conn.close() return render_template('fillAccount.html', amount=amount[0], id=id) amountTotal = float(amount[0]) + float(moneyDeposit) commandUpdateMoney = "UPDATE users U SET U.balance = '{}' WHERE U.id = '{}'".format( amountTotal, id) cur.execute(commandUpdateMoney) conn.commit() commandWriteTransaction = "INSERT INTO Transactions VALUES (NULL, '{}', '{}', '{}', '{}')".format( userId, userId, moneyDeposit, date.today()) cur.execute(commandWriteTransaction) conn.commit() cur.close() conn.close() return render_template('fillAccount.html', amount=amountTotal, id=id) else: return redirect('home')
def register_auth(): conn = get_db() cur = conn.cursor() email = request.form['email'] password = request.form['password'] firstName = request.form['fname'] lastName = request.form['lname'] gender = request.form['gender'] birthday = request.form['birthday'] country = request.form['country'] phone = request.form['phone'] balance = 0.0 validation = "SELECT U.email FROM users U WHERE U.email = '{}'".format( email) responseValidation = cur.execute(validation) if (validateEmpty(request.form)): return render_template('register.html') elif (responseValidation > 0): flash("This email is already use") cur.close() conn.close() return render_template('register.html') else: command = "INSERT INTO Users VALUES (NULL, '{}', MD5('{}'), '{}', '{}', '{}', '{}', '{}', '{}', {});".format( email, password, firstName, lastName, gender, birthday, country, phone, balance) cur.execute(command) conn.commit() commandId = "SELECT u.id FROM users u WHERE u.email = '{}'".format( email) cur.execute(commandId) id = cur.fetchone() session['ID'] = id[0] cur.close() conn.close() return redirect('home')
def createtrip(): conn = get_db() cur = conn.cursor() departure = request.form['departure'] destination = request.form['destination'] date = request.form['date'] distance = request.form['distance'] if (distance == ""): distance = 0 print(distance) stopover = request.form['stopover'] price = request.form['price'] if (price == ""): price = 0 if request.form['stopover'] == "yes": stopover = 1 elif request.form['stopover'] == "no": stopover = 0 elif request.form['stopover'] == "other": stopover = 2 if (validateEmpty(request.form)): return render_template('createtrip.html') else: command = "INSERT INTO trips VALUES (NULL, '{}', '{}', '{}', '{}', NULL, '{}', '{}', NULL, '{}', NULL)".format( date, departure, destination, distance, stopover, session['ID'], price) cur.execute(command) tripId = conn.insert_id() conn.commit() cur.close() conn.close() return redirect("choosecar/{}".format(tripId))
def searchlift(): if (session.get('ID', None) is not None): conn = get_db() cur = conn.cursor() if (request.method == 'POST'): if request.form['departure'] != "": departure = request.form['departure'] departureQuery = " T.departure LIKE '%{}%' AND".format( departure) else: departureQuery = "" if request.form['destination'] != "": destination = request.form['destination'] destinationQuery = " T.destination LIKE '%{}%' AND".format( destination) else: destinationQuery = "" if request.form['date'] != "": date = request.form['date'] dateQuery = " T.date LIKE %'{}'% AND".format(date) else: dateQuery = "" if request.form['seats'] != "": numberOfPassengers = request.form['seats'] numberOfPassengersQuery = " T.seats_available >= '{}' AND".format( numberOfPassengers) else: numberOfPassengers = 1 numberOfPassengersQuery = " T.seats_available >= 1 AND" if request.form['maxPrice'] != "": maxPrice = request.form['maxPrice'] maxPriceQuery = " T.Price <= '{}'".format(maxPrice) else: maxPriceQuery = " T.Price > 0" command = "SELECT * FROM trips T WHERE" + departureQuery + destinationQuery + dateQuery + numberOfPassengersQuery + maxPriceQuery + " AND date > NOW() ORDER BY date" cur.execute(command) trajets = cur.fetchall() else: command = "SELECT * FROM trips WHERE seats_available != 0 AND date > NOW() ORDER BY date" cur.execute(command) trajets = cur.fetchall() imagePath = [] for i, trip in enumerate(trajets): CommandeGetPicture = "SELECT i.picture FROM destination_pictures i WHERE i.destination = '{}'".format( trip[3]) nb = cur.execute(CommandeGetPicture) if (nb == 0): imagePath.append('../../static/images/welift.jpg') else: imagePath.append(cur.fetchone()[0]) cur.close() conn.close() return render_template("searchlift.html", trajets=trajets, imagePath=imagePath) else: return redirect('../home')