Adds setting home in account
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
from flask import url_for, redirect, render_template, request
|
||||
from flask import url_for, redirect, render_template, request, jsonify
|
||||
from flask_security import login_required
|
||||
from flask_security.core import current_user
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
import requests
|
||||
|
||||
from ..entities import Vehicle, Consumable
|
||||
from ..forms import EditVehicleForm, DeleteVehicleForm, DeleteAccountForm
|
||||
from ..tools import db_log_update, db_log_delete, db_log_add
|
||||
from .. import app, db, user_datastore
|
||||
from .. import app, db, user_datastore, limiter
|
||||
|
||||
|
||||
@app.route('/account', methods=['GET'])
|
||||
@login_required
|
||||
def get_account_page():
|
||||
return render_template('account.html')
|
||||
print(current_user.home_lat, current_user.home_long)
|
||||
return render_template('account.html',
|
||||
map_pos=(current_user.home_lat, current_user.home_long, current_user.home_zoom))
|
||||
|
||||
|
||||
@app.route('/account/vehicle/edit/<int:vid>', methods=['GET', 'POST'])
|
||||
@@ -37,7 +40,7 @@ def edit_vehicle(vid):
|
||||
vehicle.name = form.name.data
|
||||
# we cannot delete consumables where there are pitstops for => report error
|
||||
vehicle.consumables = []
|
||||
for consumable_id in form.consumables.data:
|
||||
for consumable_id in form.consumables.data:
|
||||
consumable = Consumable.query.get(consumable_id)
|
||||
if consumable is not None:
|
||||
vehicle.consumables.append(consumable)
|
||||
@@ -130,19 +133,60 @@ def delete_account():
|
||||
return render_template('deleteAccountForm.html', form=form)
|
||||
|
||||
|
||||
@app.route('/account/home', methods=['GET'])
|
||||
@login_required
|
||||
def get_users_home():
|
||||
return jsonify(
|
||||
{'lat': float(current_user.home_lat), 'long': float(current_user.home_long), 'zoom': current_user.home_zoom})
|
||||
|
||||
|
||||
@app.route('/account/home', methods=['POST'])
|
||||
@login_required
|
||||
def set_users_home():
|
||||
current_user.home_lat = request.json['lat']
|
||||
current_user.home_long = request.json['long']
|
||||
current_user.home_zoom = request.json['zoom']
|
||||
db.session.commit()
|
||||
return jsonify({'lat': float(current_user.home_lat)})
|
||||
|
||||
|
||||
@app.route('/filling_stations', methods=['GET'])
|
||||
#@login_required
|
||||
@login_required
|
||||
@limiter.limit('1 per second')
|
||||
def query_filling_stations():
|
||||
api_key = app.config['TANKERKOENIG_API_KEY']
|
||||
lat = request.args.get('latitude')
|
||||
lon = request.args.get('longitude')
|
||||
rad = request.args.get('radius', default=10)
|
||||
|
||||
latitude = request.args.get('latitude')
|
||||
longitude = request.args.get('longitude')
|
||||
radius = request.args.get('radius', default=1.5)
|
||||
type = request.args.get('type', default='all')
|
||||
sort = request.args.get('sort', default='price')
|
||||
return lat
|
||||
|
||||
sort = request.args.get('sort', default='dist')
|
||||
|
||||
url = 'https://creativecommons.tankerkoenig.de/json/list.php'
|
||||
params = {
|
||||
'lat': latitude, 'lng': longitude, 'rad': radius, 'apikey': api_key, 'type': type, 'sort': sort
|
||||
}
|
||||
response = requests.get(url, params=params)
|
||||
print(response.url)
|
||||
return jsonify(response.json())
|
||||
|
||||
|
||||
@app.route('/filling_stations/<fsid>', methods=['GET'])
|
||||
#@login_required
|
||||
@login_required
|
||||
@limiter.limit('1 per second')
|
||||
def query_filling_station_details(fsid):
|
||||
api_key = app.config['TANKERKOENIG_API_KEY']
|
||||
return fsid
|
||||
|
||||
if ',' in fsid:
|
||||
# more than one id, redirect to method 2 (preisabfrage)
|
||||
url = 'https://creativecommons.tankerkoenig.de/json/prices.php'
|
||||
params = {
|
||||
'apikey': api_key, 'ids': fsid
|
||||
}
|
||||
else:
|
||||
url = 'https://creativecommons.tankerkoenig.de/json/detail.php'
|
||||
params = {
|
||||
'apikey': api_key, 'id': fsid
|
||||
}
|
||||
response = requests.get(url, params=params)
|
||||
return jsonify(response.json())
|
||||
|
||||
Reference in New Issue
Block a user