예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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'])
예제 #4
0
파일: app.py 프로젝트: arrinn/TestsForum
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)
예제 #5
0
파일: app.py 프로젝트: arrinn/TestsForum
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)
예제 #6
0
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
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
파일: app.py 프로젝트: ryikeda/yosoku
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)
예제 #10
0
파일: region.py 프로젝트: nikrdc/outsider
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)
예제 #11
0
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'))