Beispiel #1
0
def post():
    # 获取经纬坐标
    coordinate_lng = request.form.get('coordinate_lng', '')
    coordinate_lat = request.form.get('coordinate_lat', '')
    if coordinate_lng and coordinate_lat:
        # 先从数据库中 通过坐标获取地点,如果有直接返回,没有则保存
        venue = db.session.query(Venue).filter(
            Venue.coordinate_lng == coordinate_lng,
            Venue.coordinate_lat == coordinate_lat).first()

        if venue:
            data = {'id': venue.id}
            return jsonify({'code': 1, 'result': data})
        else:
            try:
                venue = Venue()
                venue.name = request.form.get('name', '')
                venue.address = request.form.get('address', '')
                venue.coordinate_lng = coordinate_lng
                venue.coordinate_lat = coordinate_lat
                venue.category = request.form.get('category', '')
                venue.link_man_mobile = request.form.get('link_man_mobile', '')

                venue = Venue().add(venue)
                data = {'id': venue.id}
                return jsonify({'code': 1, 'result': data})
            except Exception, e:
                current_app.logger.error(str(e))
                e_msg = ' venue save error '
                return jsonify({'code': 0, 'error': e_msg})
Beispiel #2
0
def create_venue_submission():
    error = False
    data = request.form

    try:
        venue = Venue()
        venue.name = data['name']
        venue.city = data['city']
        venue.state = data['state']
        venue.address = data['address']
        venue.phone = data.get('phone', '')
        venue.facebook_link = data.get('facebook_link', '')
        venue.genres = [
            VenueGenres(genre=GenreEnum[genre])
            for genre in data.getlist('genres')
        ]
        db.session.add(venue)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
    finally:
        data = venue.to_dict()
        db.session.close()

    if not error:
        # on successful db insert, flash success
        flash(f'Venue {data["name"]} was successfully listed!',
              'alert-success')
    else:
        # on unsuccessful db insert, flash an error
        flash(
            f'An error occurred. Venue {data["name"]} could not be listed. \
              Does the venue already exist?', 'alert-danger')

    return render_template('pages/home.html')