Exemplo n.º 1
0
def addchallenge():
    db = get_db()
    gamelist = db.execute('SELECT gamename FROM games').fetchall()
    if request.method == 'POST':
        game = request.form['game']
        points = int(request.form['format'])
        try:
            (position_lat,
             position_lng) = request.form['position'][7:-1].split(',')
        except:
            return redirect('/')
        chal = request.form['challenge']
        year, month, day = request.form['date'].split('-')
        day = f'{year}-{month}-{day}'
        if position_lat != '' and position_lng != '':
            gameid = db.execute('SELECT id FROM games WHERE gamename=?',
                                (game, )).fetchone()
            db.execute(
                'INSERT INTO challenges (author_id, format, body, place_lat, place_lng, game_id, gamedate) VALUES (?, ?, ?, ?, ?, ?, strftime(?))',
                (g.user['id'], points, chal, float(position_lat.strip()),
                 float(position_lng.strip()), gameid['id'], day))
            db.commit()
            return redirect(url_for('mapper.opponentmap'))
        else:
            flash('You must set a marker on map.')

    return render_template('challenge.html', gamelist=gamelist)
Exemplo n.º 2
0
def opponentmap():
	db = get_db()

	challenges = db.execute(
	'SELECT chal.id, format, body, place_lat, place_lng, username, gamename, gamedate'
	' FROM challenges chal JOIN user u ON chal.author_id = u.id'
	' JOIN games ON chal.game_id = games.id'
	).fetchall()

	return render_template('map.html', challenges=challenges)
Exemplo n.º 3
0
def load_logged_in_user():
    user_id = session.get('user_id')
    db = get_db()
    if user_id is None:
        g.user = None
    else:
        g.user = db.execute('SELECT * FROM user WHERE id = ?',
                            (user_id, )).fetchone()
        discussions = db.execute(
            f"""SELECT DISTINCT challenges.id, gamedate, gamename FROM challenges
		LEFT JOIN answer ON answer.chal_id = challenges.id
		JOIN games ON challenges.game_id = games.id
		WHERE challenges.author_id={user_id} OR answer.author_id={user_id}"""
        ).fetchall()
        g.disc = discussions
Exemplo n.º 4
0
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['passwd']
        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('/')

        flash(error)

    return render_template('login.html')
Exemplo n.º 5
0
def register():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['passwd']
        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 = f'User {username} is already registered.'

        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('/register.html')
Exemplo n.º 6
0
	def index():
		db=get_db()
		chalnum=len(db.execute(
		'SELECT id FROM challenges'
		).fetchall())
		return render_template('index.html', num=chalnum)