def create(): if request.method == 'POST': title = request.form['destination'] body = request.form['body'] tdate = request.form['tdate'] ttime = request.form['ttime'] traveldate = tdate + " " + ttime + ":00" print(traveldate) error = None if not title: error = 'Destination is required.' if error is not None: flash(error) else: db = get_db() db.execute( 'INSERT INTO travels (destination, body, author_id, traveldate)' ' VALUES (?, ?, ?, ?)', (title, body, g.user['id'], traveldate)) db.commit() return redirect(url_for('travel.index')) return render_template('travel/create.html')
def update(id): travel = get_post(id) if request.method == 'POST': title = request.form['destination'] body = request.form['body'] traveldate = request.form['tdate'] traveltime = request.form['ttime'] error = None if not title: error = 'Title is required.' if error is not None: flash(error) else: db = get_db() db.execute( 'UPDATE travels SET destination = ?, body = ?, traveldate = ?' ' WHERE id = ?', (title, body, traveldate + " " + traveltime + ":00", id)) db.commit() return redirect(url_for('travel.index')) print(type(travel["traveldate"])) return render_template('travel/update.html', travel=travel)
def index(): db = get_db() travels = db.execute( 'SELECT t.id, destination, traveldate, body, created, author_id, username, will_drive' ' FROM travels t JOIN user u ON t.author_id = u.id' ' ORDER BY created DESC').fetchall() return render_template('travel/index.html', travels=travels)
def register(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] db = get_db() error = None if not username: error = 'Username is required.' elif not password: error = 'Password is required.' elif db.execute( 'SELECT id FROM user WHERE username = ?', (username,) ).fetchone() is not None: error = 'User {} is already registered.'.format(username) if error is None: db.execute( 'INSERT INTO user (username, password) VALUES (?, ?)', (username, generate_password_hash(password)) ) db.commit() return redirect(url_for('auth.login')) flash(error) return render_template('auth/register.html')
def load_logged_in_user(): user_id = session.get('user_id') if user_id is None: g.user = None else: g.user = get_db().execute( 'SELECT * FROM user WHERE id = ?', (user_id,) ).fetchone()
def get_post(id, check_author=True): travel = get_db().execute( 'SELECT p.id, destination, body, date(traveldate) as traveldate, time(traveldate) as traveltime, created, author_id, username' ' FROM travels p JOIN user u ON p.author_id = u.id' ' WHERE p.id = ?', (id, )).fetchone() if travel is None: abort(404, "travel id {0} doesn't exist.".format(id)) if check_author and travel['author_id'] != g.user['id']: abort(403) return travel
def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] db = get_db() error = None user = db.execute( 'SELECT * FROM user WHERE username = ?', (username,) ).fetchone() if user is None: error = 'Incorrect username.' elif not check_password_hash(user['password'], password): error = 'Incorrect password.' if error is None: session.clear() session['user_id'] = user['id'] return redirect(url_for('index')) flash(error) return render_template('auth/login.html')
def delete(id): get_post(id) db = get_db() db.execute('DELETE FROM travels WHERE id = ?', (id, )) db.commit() return redirect(url_for('travel.index'))