Esempio n. 1
0
    def delete(self, food_id, restaurant_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        if FoodDao.get_food_by_id(food_id) != None:
            FoodDao.del_food(food_id)
            DaoHelper.commit(db)
            return 204
        else:
            return {
                "message": "The food %d is not in the menu" % (food_id)
            }, 400
Esempio n. 2
0
    def get(self, restaurant_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        foods = FoodDao.get_foods(restaurant_id)
        return {'foods': [food.__json__() for food in foods]}, 200
Esempio n. 3
0
    def delete(self, restaurant_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        #data = parser.parse_args()
        data = request.get_json(force=True)
        if FoodDao.get_food_by_id(data['foods'][0]['food_id']) != None:
            FoodDao.del_food(data['foods'][0]['food_id'])
            DaoHelper.commit(db)
            return 204
        else:
            return {
                "message":
                "The food %d is not in the menu" %
                (data['foods'][0]['food_id'])
            }, 400
Esempio n. 4
0
    def get(self, food_id, restaurant_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        food = FoodDao.get_food_by_id(food_id)
        if food == None:
            return {"message": "No such food exists in this menu"}, 400
        else:
            return {'foods': [food.__json__()]}, 200
Esempio n. 5
0
 def get(self, user_id, restaurant_id, food_id):
     #data = parser.parse_args()
     food = FoodDao.get_food_by_id(int(food_id))
     #pdb.set_trace()
     if food == None:
         return {
             "message":
             "No such food %d exists in this menu" % (int(food_id))
         }, 400
     else:
         return {'foods': [food.__json__()]}, 200
Esempio n. 6
0
    def get(self, user_id, restaurant_id, order_id, food_id):
        identityPermission = Permission(UserNeed(user_id))
        if not identityPermission.can():
            abort(403)

        customer_order_items = OrderHistoryItemDao.get_order_history_items(
            int(order_id))
        for customer_order_item in customer_order_items:
            food = FoodDao.get_food_by_name(customer_order_item.name)
            if (food != None) and (food.id == int(food_id)):
                return {'foods': [food.__json__()]}, 200
        return {'message': "No such food exists in this order"}, 400
Esempio n. 7
0
    def put(self, restaurant_id, food_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        #data = parser.parse_args()
        data = request.get_json(force=True)
        food = FoodDao.get_food_by_id(food_id)
        #pdb.set_trace()
        if food == None:
            #由于传进来的json是数组形式来存储数据的,所以需要index来检索
            food = data['foods'][0]
            FoodDao.add_food(food['name'], food['price'], food['food_type'],
                             food['description'], food['image'],
                             service.str2bool(food['available']),
                             food['restaurant_id'])
            food_id = FoodDao.get_food_by_name(food['name']).id
        else:
            #food['available'] = service.str2bool(food['available'])
            #keys, values = service.get_keys_values(data['foods'][0])
            dict = data['foods'][0]
            dict['available'] = service.str2bool(dict['available'])
            FoodDao.update_food(int(food_id), dict)
        #pdb.set_trace()
        DaoHelper.commit(db)
        return {
            "URL":
            "/restaurants/%d/menu/%d" % (int(restaurant_id), int(food_id))
        }, 200
Esempio n. 8
0
    def post(self, restaurant_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        #data = parser.parse_args()
        data = request.get_json(force=True)
        #foods是一个list类型,里面的元素是food_item的json
        foods = data['foods']
        for i in range(len(foods)):
            food = FoodDao.get_food_by_name(foods[i]['name'])
            #如果提交的food的信息数据库里面有相同id,则更新它
            #pdb.set_trace()
            if food != None:
                foods[i]['available'] = service.str2bool(foods[i]['available'])
                #keys, values = service.get_keys_values(foods[i])
                FoodDao.update_food(food.id, foods[i])
            #如果没有则创建
            else:
                FoodDao.add_food(foods[i]['name'], foods[i]['price'],
                                 foods[i]['food_type'],
                                 foods[i]['description'], foods[i]['image'],
                                 service.str2bool(foods[i]['available']),
                                 foods[i]['restaurant_id'])
        DaoHelper.commit(db)
        food = FoodDao.get_food_by_name(foods[0]['name'])
        return {
            'URL': "/restaurants/%d/menu/%d" % (food.restaurant_id, food.id)
        }, 200
Esempio n. 9
0
    def get(self, restaurant_id, order_id, food_id):
        ownerPermission = ModRestaurantPermission(restaurant_id)
        if not ownerPermission.can():
            abort(403)

        food = FoodDao.get_food_by_id(food_id)
        if food == None:
            return {
                "message": "The food %d doesn't exist" % (int(food_id))
            }, 400
        return {
            "URL":
            "/restaurants/%d/menu/%d" % (int(restaurant_id), int(food_id))
        }, 200
Esempio n. 10
0
 def get(self, restaurant_id, user_id):
     foods = FoodDao.get_foods(restaurant_id)
     return {'foods': [food.__json__() for food in foods]}, 200