def get(self): user = users.get_current_user() restaurant_name = self.request.get('restaurant_name') dish_name = self.request.get('dish_name') dish_price = float(self.request.get('dish_price')) quantity = int(self.request.get('quantity')) found = False restaurant = RestaurantModel.query(RestaurantModel.name==restaurant_name).fetch()[0] dish_query = DishModel.query(DishModel.name==dish_name, ancestor=restaurant.key).fetch() # self.response.write(dish_query[0].name) if (len(dish_query)>0): dish = dish_query[0] cart_query = CartModel.query(CartModel.user==user, CartModel.restaurant_name==restaurant_name).fetch() if (len(cart_query)>0): cart = cart_query[0] name = [] for order_key in cart.orders: # order = OrderModel.get_by_id(order_key.id()) order = order_key.get() dish_tmp = order.dish.get() # name.append(order.dish.get().name) if (dish_tmp.name==dish_name): # self.response.write("get!!") order.number = order.number + quantity order.put() cart.total = cart.total + dish_price*quantity cart.put() found = True self.redirect("/order?name=%s" % restaurant.name) if (found == False): new_order = OrderModel() new_order.number = quantity new_order.dish = dish.key key = new_order.put() cart.orders.append(key) cart.total = cart.total + dish_price*quantity cart.put() self.redirect("/order?name=%s" % restaurant.name) else: new_order = OrderModel() new_order.number = quantity new_order.dish = dish.key key = new_order.put() cart = CartModel() cart.orders = [] cart.orders.append(key) cart.total = quantity*dish.price cart.restaurant_name = restaurant_name cart.user = user cart.put() self.redirect("/order?name=%s" % restaurant.name) # self.redirect('/main') else: self.redirect('/main')
def post(self): user = users.get_current_user() dish_name = self.request.get('dish_name') restaurant_name = self.request.get('restaurant_name') id = int(self.request.get('id')) cart = CartModel.query(CartModel.user==user, CartModel.restaurant_name==restaurant_name).fetch()[0] order = OrderModel.get_by_id(id) order.number = order.number + 1 order.put() dish = order.dish.get() cart.total = cart.total + dish.price cart.put() # url = "/test?name=%s" % dish_name info = {"name": dish_name, "other": restaurant_name, "id":id, 'total': cart.total} info_json = json.dumps(info) self.response.write(info_json)
def get(self): user = users.get_current_user() restaurant_name = self.request.get('restaurant_name') id = int(self.request.get('id')) order = OrderModel.get_by_id(id) cart_query = CartModel.query(CartModel.restaurant_name==restaurant_name, CartModel.user==user).fetch() if (len(cart_query)>0): dish = order.dish.get() cart = cart_query[0] cart.orders.remove(order.key) cart.total = cart.total - order.number*dish.price cart.put() order.key.delete() p = urllib.urlencode({'name':restaurant_name}) URL = '/viewsinglecart?%s' % p self.redirect(URL) else: self.redirect('/error')