def settings(): info_form = UserInfoForm(obj=current_user) filter_form = FilterForm(obj=current_user.filters) # Modifying User Info # if info_form.validate_on_submit(): # current_user.username = info_form.username.data # current_user.description = info_form.description.data # current_user.avatar = info_form.avatar.data # current_user.email = info_form.email.data # db.session.commit() # return redirect(url_for('users.settings')) # Modifying User Filter if filter_form.validate_on_submit(): current_user.filters.price_min = filter_form.price_min.data current_user.filters.price_max = filter_form.price_max.data current_user.filters.calorie_min = filter_form.calorie_min.data current_user.filters.calorie_max = filter_form.calorie_max.data current_user.filters.meal_type = filter_form.meal_type.data current_user.filters.meal_style = filter_form.meal_style.data current_user.filters.dietary_preferences = filter_form.dietary_preferences.data current_user.filters.cooking_time_min = filter_form.cooking_time_min.data current_user.filters.cooking_time_max = filter_form.cooking_time_max.data db.session.commit() return redirect(url_for('users.settings')) return render_template('settings.html', user_info=current_user, info_form=info_form, filter_form=filter_form)
def filter_edit_form(filter_id): form = FilterForm() filter_result = None if filter_id is not None: filter = models.Filter.query.get_or_404(filter_id) filter_result = get_filter_result(filter_id, 'all') else: filter = models.Filter(name='') if form.validate_on_submit(): filter.name = form.name.data filter.icon = form.icon.data.upper() filter.filter_string = form.filter_string.data db.session.add(filter) db.session.commit() db.session.refresh(filter) return redirect('/Filter/'+ str(filter.id)) elif filter.icon is not None: form.icon.data = filter.icon return render_template('filter_edit.html', title='Filter ' + str(filter.name), filter=filter, filter_result=filter_result, form=form)
def main_page(): form = FilterForm() cars = Car.query.all() if form.validate_on_submit()==True: cars = Car.query.all().first() return render_template('main.html', cars=cars, user = request.args['user']) return render_template('main.html', cars=cars, user = request.args['user'])
def answers_list(): filter_form = FilterForm() if request.method == 'POST' and filter_form.validate_on_submit(): answered_by_filter = filter_form.creator.data if filter_form.creator.data else None question_text_filter = filter_form.text.data if filter_form.text.data else None answers = get_answers_list(questions_owner=current_user.username, answered_by=answered_by_filter, question_text=question_text_filter, status='Active') else: answers = get_answers_list(questions_owner=current_user.username, status='Active') return render_template('answers.html', answers=answers, filter_form=filter_form, is_my_answers=False)
def questions(): filter_form = FilterForm() creator = request.args.get('creator', None) text = None if request.method == 'POST' and filter_form.validate_on_submit(): creator = filter_form.creator.data if filter_form.creator.data else None text = filter_form.text.data if filter_form.text.data else None return render_template('questions.html', questions=get_questions_list(creator, text, status='Active'), form=AnswerForm(), current_user=current_user.username, filter_form=filter_form)
def view_all(): # Load all items from DB, then pass to browse.html file to display #use the global variable filter_item form = FilterForm() # connect to db db = get_db() cur = db.cursor() #multiple if statements for different cases of filtration. ex. 2 categories together, only filter by category etc. #depending on what case of filtration is needed, we will execute a different query on the database. if request.method == 'POST' and form.validate_on_submit(): if (form.category.data != 'none' and form.city.data != 'none' and form.maxPrice.data != 'none'): cur.execute( "SELECT * FROM ITEM, USER WHERE USER.Email = ITEM.Owner_email AND Category_name=? AND Daily_rate<=? AND USER.City =?", (form.category.data, form.maxPrice.data, form.city.data)) elif (form.category.data != 'none' and form.city.data != 'none'): cur.execute( "SELECT * FROM ITEM, USER WHERE Category_name=? AND USER.Email = ITEM.Owner_email AND USER.City =?", (form.category.data, form.city.data)) elif (form.category.data != 'none' and form.maxPrice.data != 'none'): cur.execute( "SELECT * FROM ITEM WHERE Category_name=? AND Daily_rate<=?", (form.category.data, form.maxPrice.data)) elif (form.maxPrice.data != 'none' and form.city.data != 'none'): cur.execute( "SELECT * FROM ITEM, USER WHERE Daily_rate<=? AND USER.Email = ITEM.Owner_email AND USER.City =?", (form.maxPrice.data, form.city.data)) elif (form.category.data != 'none'): cur.execute("SELECT * FROM ITEM WHERE Category_name=?", (form.category.data, )) elif (form.city.data != 'none'): cur.execute( "SELECT * FROM ITEM, USER WHERE USER.Email = ITEM.Owner_email AND USER.City =?", (form.city.data, )) elif (form.maxPrice.data != 'none'): cur.execute("SELECT * FROM ITEM WHERE Daily_rate<=?", (form.maxPrice.data, )) else: cur.execute("SELECT * FROM ITEM") else: cur.execute("SELECT * FROM ITEM") data = cur.fetchall() #an array of all items fetched from DB return render_template('browse.html', data=data, form=form) #show the data in the html
def hello_world(): form = FilterForm() data = {} if form.validate_on_submit(): for field in form.data.items(): item = field[1] data[field[0]] = item return render_template('index.html', title="Home", form=form, restaurants=data["restaurants"], cafes=data["cafes"], apparel=data["apparel"], lifestyle=data["lifestyle"], specialty_goods=data["specialty_goods"] ) return render_template('index.html', title="Home", form=form, restaurants=True, cafes=True, apparel=True, lifestyle=True, specialty_goods=True)
def history(): form = FilterForm() if request.method == 'POST': if form.filter.data == '': return redirect('/history') if form.validate_on_submit(): filter_name = str(form.filter.data) result = list() projects = Project.query.filter_by( company_id=current_user.company_id).all() for project in projects: q = list() files = File.query.filter_by(project_id=project.id, file_name=filter_name).all() if files: for file in files: p = list() p.append(file.file_name) p.append(file.upload_time) p.append(file.documentation) p.append(file.user_username) q.append(p) result.append({"name": project.project_name, "value": q}) else: result = [] else: result = list() projects = Project.query.filter_by( company_id=current_user.company_id).all() for project in projects: q = list() files = File.query.filter_by( user_username=current_user.user_username, project_id=project.id).all() if files: for file in files: p = list() p.append(file.file_name) p.append(file.upload_time) p.append(file.documentation) p.append(file.user_username) q.append(p) result.append({"name": project.project_name, "value": q}) return render_template('history.html', items=result, user=current_user.user_username, form=form)
def filter(): form = FilterForm() city_code = session.get("city_code") city_name = session.get("city_name") model = load_model(city_code) btn = {"id": "predict-btn", "text": "Predict Price!"} form.type_.choices = [(choice, choice) for choice in model.model.type_] form.floor_plan.choices = [(floor_plan, floor_plan) for floor_plan in model.model.floor_plan] form.floor_plan.choices.append(("", "")) if form.validate_on_submit(): type_ = form.type_.data area = form.area.data floor_plan = form.floor_plan.data price_prediction = model.model.predict_price(type_=type_, area=area, floor_plan=floor_plan) flash(f"The price estimate is {price_prediction}") if g.user: # add results to user database query = UserQuery(user_id=g.user.id, location=city_name, type_=type_, area=area, layout=floor_plan, price_estimate=price_prediction, comment="") db.session.add(query) db.session.commit() return render_template("message.html") else: return render_template("modal_form.html", form=form, city_name=city_name, btn=btn)
def region(shortname): region = Region.query.filter_by(shortname=shortname).first_or_404() relevant_places = region.places filter_form = FilterForm() filter_form.price_range0.data = True filter_form.price_range1.data = True filter_form.price_range2.data = True filter_form.price_range3.data = True filter_form.price_range4.data = True if filter_form.validate_on_submit(): utc = timezone('UTC').localize(datetime.utcnow()) local_time = utc.astimezone(timezone(region.timezone)) print relevant_places.filter(Place.open_at(local_time)).all() return render_template('region.html', region=region, places=relevant_places.all(), filter_form=filter_form, prices=prices)
def history(): if session.get('username'): result = list() form = FilterForm() user = User.query.filter_by(user_email=session.get('username')).first() if request.method == 'POST': if form.validate_on_submit(): filter_name = str(form.filter.data) files = File.query.filter_by(user_id=user.id, file_name=filter_name).all() else: files = [] else: files = File.query.filter_by(user_id=user.id).all() for file in files: doc = Documentation.query.filter_by(file_id=file.id).first() if doc is not None: res = list() res.append(file.file_name) res.append(file.upload_time) res.append(doc.documentation_name) result.append(res) return render_template('history.html', rows=result, user=session.get('username'), form=form) return redirect(url_for('anywhere'))