Beispiel #1
0
 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')
Beispiel #2
0
 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)
Beispiel #3
0
 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')