def home():
    if request.method == "GET":
        return render_template('food_form.html')
    elif request.method == "POST":
        form = request.form
        # print(form)
        t = form['title']
        l = form['link']
        f = Food(title=t, link=l)
        f.save()
        return redirect("/food/" + str(f.id))
Exemple #2
0
def add_food():
    if request.method == "GET":
        return render_template("food_form.html")
    elif request.method == "POST":
        form = request.form  # form la kieu dictionary   # form hay user trong register la ten dict, request.form thi form la form o trong file html
        # print(form)
        t = form["title"]
        l = form["link"]
        # print(t, l)
        f = Food(title=t, link=l)
        f.save()

        return redirect("/food/" + str(f.id))
def addWordFood():
    if request.method == "GET":
        return render_template("addWord.html")
    else:
        form = request.form
        add_word = Food(
            image=form["image"],
            word=form["word"],
            pronunciation=form["pronunciation"],
            mean=form["mean"],
            audio_link=form["audio_link"],
        )
        add_word.save()
        return redirect(url_for('admin'))
Exemple #4
0
def post_food(store_id):
    """
    Creates a Food
    """
    store = storage.get(Store, store_id)
    if not store:
        abort(404)
    if not request.get_json():
        abort(400, description="Not a JSON")
    if 'name' not in request.get_json():
        abort(400, description="Missing name")

    data = request.get_json()
    instance = Food(**data)
    instance.store_id = store.id
    instance.save()
    return make_response(jsonify(instance.to_dict()), 201)
Exemple #5
0
 def post(self, request):
     # 创建食品
     owner = request.u
     store = owner.store
     name = request.json.get("name")
     description = request.json.get("description")
     price = float(request.json.get("price"))
     stock = int(request.json.get("stock"))
     image_ids = request.json.get("image_ids")
     if not all([store, name, description, price, stock]):
         return JsonErrorResponse("store, name, description, price, stock are needed", 400)
     new_food = Food(
         name=name,
         description=description,
         price=price,
         stock=stock,
         image_ids=image_ids,
         store=store
     )
     try:
         new_food.save()
     except Exception, e:
         print e
         return JsonErrorResponse("Fail:" + e.message)
Exemple #6
0
#!/usr/bin/python3
from models.base import BaseModel
from models.store import Store
from models.food import Food
from models.drink import Drink
from models.order import Order
from models import storage
from models.confirmation import Confirmation

my_store = Store(name="JV")
my_store.save()

my_food = Food(price=4000, store_id=my_store.id, name="Tinto")
my_food.save()

my_drink = Drink(price=5000, store_id=my_store.id, name="Cafe")
my_drink.save()

my_order = Order(order_number=1,
                 drink_id=my_drink.id,
                 store_id=my_store.id,
                 user_name="Juan")
my_order.save()
all_order = storage.all(Order)

my_confirmation = Confirmation(store_id=my_store.id,
                               order_id=my_order.id,
                               order_number=3,
                               status="In Progress")
my_confirmation.save()
Exemple #7
0
def create():

    logged_in_user_id = request.form.get('user_id')
    food_name = request.form.get('food_name')
    criterion_z1 = int(request.form.get('criterion_z1'))
    criterion_z2 = int(request.form.get('criterion_z2'))
    criterion_z3 = int(request.form.get('criterion_z3'))
    criterion_z4 = int(request.form.get('criterion_z4'))
    criterion_z5 = int(request.form.get('criterion_z5'))
    food_picture = request.files['food_picture']
    latitude = float(request.form.get('latitude'))
    longitude = float(request.form.get('longitude'))
    price = float(request.form.get('price'))

    # logged_in_user_id = request.json.get("user_id")
    # food_name = request.json.get('food_name')
    # criterion_z1 = request.json.get('criterion_z1')
    # criterion_z2 = request.json.get('criterion_z2')
    # criterion_z3 = request.json.get('criterion_z3')
    # criterion_z4 = request.json.get('criterion_z4')
    # criterion_z5 = request.json.get('criterion_z5')
    # food_picture = request.json.get('food_picture')
    # latitude = request.json.get('latitude')
    # longitude = request.json.get('longitude')
    # price = request.json.get('price')
    # tag_list = request.json.get('tag_list')

    food_already_exist = Food.select().where(
        Food.name == food_name, Food.latitude > latitude - 0.0002,
        Food.latitude < latitude + 0.0002, Food.longitude > longitude - 0.0002,
        Food.longitude < longitude + 0.0002)

    # print(food_already_exist, "FOOD ALREADY EXIST OBJECT")
    food_already_exist_id_arr = [
        food_already_exist_element.id
        for food_already_exist_element in food_already_exist
    ]

    # print(food_already_exist_id_arr, "FOOD ALREADY EXIST ARRAY")
    # print(food_already_exist_id_arr[0], "FIRST INDEX FOOD ALREADY EXIST")
    if food_already_exist:

        review_already_exist = Review.get_or_none(
            user_id=logged_in_user_id, food_id=food_already_exist_id_arr[0])
        # print(review_already_exist, "REVIEW ALREADY EXIST")

        if review_already_exist:
            print("HELLO WORLD I WENT IN ")
            return jsonify({
                "status":
                "failed",
                "message":
                "You have already submitted a review for this dish in this location"
            }), 400
        else:
            print("I AM CREATING A REVIEW INSTANCE")
            new_review_instance = Review(user_id=logged_in_user_id,
                                         food_picture=food_picture,
                                         criterion_z1=criterion_z1,
                                         criterion_z2=criterion_z2,
                                         criterion_z3=criterion_z3,
                                         criterion_z4=criterion_z4,
                                         criterion_z5=criterion_z5,
                                         food_id=food_already_exist_id_arr[0])
            if new_review_instance.save():
                file = request.files['food_picture']
                if file and allowed_file(file.filename):
                    file.filename = secure_filename(file.filename)
                    output = upload_file_to_s3(file, S3_BUCKET_NAME)
                    food_picture = str(output)
                    new_review_instance = Review(
                        user_id=logged_in_user_id,
                        food_picture=food_picture,
                        criterion_z1=criterion_z1,
                        criterion_z2=criterion_z2,
                        criterion_z3=criterion_z3,
                        criterion_z4=criterion_z4,
                        criterion_z5=criterion_z5,
                        food_id=food_already_exist_id_arr[0])
                    if new_review_instance.save():
                        # Creation of tag
                        # for tag_element in tag_list:
                        #     tag_already_exist = Tag.get_or_none(name = tag_element)
                        #     if tag_already_exist:
                        #         new_tag_review_instance = TagReview(review_id = new_review_instance.id, tag_id = tag_already_exist.id)
                        #         new_tag_review_instance.save()
                        #     else:
                        #         new_tag_instance = Tag(name = tag_element)
                        #         new_tag_instance.save()
                        #         new_tag_instance_id = Tag.get_or_none(name = tag_element).id
                        #         new_tag_review_instance = TagReview(review_id = new_review_instance.id, tag_id = new_tag_instance_id)
                        #         new_tag_review_instance.save()
                        # if food image upload success
                        return jsonify({
                            "logged_in_user_id": logged_in_user_id,
                            "food_picture": food_picture,
                            "criterion_z1": criterion_z1,
                            "criterion_z2": criterion_z2,
                            "criterion_z3": criterion_z3,
                            "criterion_z4": criterion_z4,
                            "criterion_z5": criterion_z5,
                            "food_id": food_already_exist.id,
                            "price": price,
                            "latitude": latitude,
                            "longitude": longitude
                            # "tag_list": tag_list
                        }), 200
                    else:
                        # if jsonify error
                        return jsonify({"err": "Something went wrong"}), 400
                else:
                    return jsonify({"err": "Something went wrong"}), 400
                    # if image fail to upload
    else:
        new_food_instance = Food(name=food_name,
                                 longitude=longitude,
                                 latitude=latitude,
                                 price=price)
        if new_food_instance.save():
            print(food_picture)
            # print(food_picture.files)
            file = request.files['food_picture']
            print(file.filename)
            if file and allowed_file(file.filename):
                file.filename = secure_filename(file.filename)
                output = upload_file_to_s3(file, S3_BUCKET_NAME)
                food_picture = str(output)

                # print(food_name,"NAME OF FOOD")

                # print(latitude, "LATTITUDE")
                # print(longitude, "LONGITUDE")
                # print(type(latitude), "LATITUDE TYPE OF")
                # print(type(longitude), "LONTITUDE TYPE OF")

                latitude = str(latitude)
                longitude = str(longitude)
                # print(latitude, "LATTITUDE 2")
                # print(longitude, "LONGITUDE 2")

                # print(type(latitude), "LATITUDE TYPE OF 2")
                # print(type(longitude), "LONTITUDE TYPE OF 2")

                new_food_instance = Food.get_or_none(name=food_name,
                                                     longitude=longitude,
                                                     latitude=latitude)
                # print(new_food_instance, "REVIEW INSTANCE")
                # print(new_food_instance.id, "REVIEW INSTANCE ID")
                new_review_instance = Review(user_id=logged_in_user_id,
                                             food_picture=food_picture,
                                             criterion_z1=criterion_z1,
                                             criterion_z2=criterion_z2,
                                             criterion_z3=criterion_z3,
                                             criterion_z4=criterion_z4,
                                             criterion_z5=criterion_z5,
                                             food_id=new_food_instance.id)
                if new_review_instance.save():
                    # Creation of tag
                    # for tag_element in tag_list:
                    #     tag_already_exist = Tag.get_or_none(name = tag_element)
                    #     if tag_already_exist:
                    #         new_tag_review_instance = TagReview(review_id = new_review_instance.id, tag_id = tag_already_exist.id)
                    #         new_tag_review_instance.save()
                    #     else:
                    #         new_tag_instance = Tag(name = tag_element)
                    #         new_tag_instance.save()
                    #         new_tag_instance_id = Tag.get_or_none(name = tag_element).id
                    #         new_tag_review_instance = TagReview(review_id = new_review_instance.id, tag_id = new_tag_instance_id)
                    #         new_tag_review_instance.save()
                    # if food image upload success
                    return jsonify({
                        "logged_in_user_id": logged_in_user_id,
                        "food_picture": food_picture,
                        "criterion_z1": criterion_z1,
                        "criterion_z2": criterion_z2,
                        "criterion_z3": criterion_z3,
                        "criterion_z4": criterion_z4,
                        "criterion_z5": criterion_z5,
                        "food_id": new_food_instance.id,
                        "price": price,
                        "latitude": float(latitude),
                        "longitude": float(longitude)
                        # "tag_list": tag_list
                    }), 200
                else:
                    # if jsonify error
                    return jsonify({"err": "Something went wrong"}), 400
            else:
                return jsonify({"err": "Something went wrong"}), 400
                # if image fail to upload
        else:
            return jsonify({"err": "Something went wrong"}), 400