def post(self): if not isUserDelivery(self): self.session[LOGIN_NEXT_PAGE_KEY] = self.URL self.redirect("/") return day=getBaseDate(self) weekKey = self.request.get("weekKey") try: amount = int(self.request.get("todayPaid")) week = UserWeekOrder.get(weekKey) if day.weekday() == 0: week.mondayPaid = amount elif day.weekday() == 1: week.tuesdayPaid = amount elif day.weekday() == 2: week.wednesdayPaid = amount elif day.weekday() == 3: week.thursdayPaid = amount elif day.weekday() == 4: week.fridayPaid = amount elif day.weekday() == 5: week.saturdayPaid = amount elif day.weekday() == 6: week.sundayPaid = amount week.put() except: pass self.redirect(DeliveryReviewOrdersPage.URL + "?day=" + str(day));
def get(self): if not isUserDelivery(self): self.session[LOGIN_NEXT_PAGE_KEY] = self.URL self.redirect("/") return day=getBaseDate(self) calendar=day.isocalendar() #Organize into days dayTotal = 0 dayCount = 0 dayQuantity = 0 dayObject={} dayObject["day"]=dayNames[calendar[2]-1] dayObject["date"]=day prevDay=day+datetime.timedelta(days=-1) nextDay=day+datetime.timedelta(days=1) today=datetime.date.today() monday = getMonday(day) weeks = UserWeekOrder.all().filter('monday = ', monday) deliveries = [] for week in weeks: dailyUserTotal = 0 items = getOrderedItemsFromWeekData([week], day) if len(items) > 0: for item in items: dayTotal = dayTotal + item['orderedQuantity'] * item['price'] dailyUserTotal = dailyUserTotal + item['orderedQuantity'] * item['price'] orderAddress = getOrderAddress(week, day) if orderAddress == None: orderAddress = week.user.addresses.get(0) orderAddress.comment = getOrderComment(week, day) orderAddress.orderedItems = items orderAddress.week = week orderAddress.dailyUserTotal = dailyUserTotal orderAddress.dailyUserDelivery = getZipBasedDeliveryCost(orderAddress.zipNumCode, dailyUserTotal) orderAddress.todayPaid = getPaid(week, day) orderAddress.weeklyPaid = getWeeklyPaid(week) orderAddress.weeklyTotal = getOrderTotal([week]) orderAddress.weeklyDelivery = getWeeklyDelivery(week) deliveries.append(orderAddress) sortedDeliveries = sorted(deliveries, key=lambda item:item.zipNumCode) template_values = { 'next':nextDay, 'actual':today, 'orders':sortedDeliveries, 'day':dayObject, 'dayTotal': dayTotal, } template_values['prev'] = prevDay template = jinja_environment.get_template('templates/deliveryReviewOrders.html') self.printPage(str(day), template.render(template_values), False, False)
def get(self): if not isUserCook(self): self.redirect("/") return day = getBaseDate(self) #Organize into days menu=[] dishCategories=getDishCategories() monday = getMonday(day) days=[] for i in range(0,5): actualDay=monday+datetime.timedelta(days=i) days.append(getDay(actualDay, i, getDaysAvailableMenuItems(actualDay))) for category in dishCategories: if not category['canBeTopLevel']: continue actualCategoryObject={} actualCategoryObject['category']=category categoryKey=category['key'] dishes = getCategoryWithDishes(category['key'])['dishes'] availableDishes=sorted(dishes, key=lambda dish: dish['title']) actualCategoryObject['availableDishes']=availableDishes items=[] for i in range(0,5): actualDay=monday+datetime.timedelta(days=i) items.append(getDaysItemsForCategory(categoryKey, actualDay, i, days[i]["availableMenuItems"])) actualCategoryObject["days"]=items menu.append(actualCategoryObject) # A single dish with editable ingredient list prevMonday=monday+datetime.timedelta(days = -7) nextMonday=monday+datetime.timedelta(days = 7) today=datetime.date.today() actualMonday = getMonday(today) allDishes=getDishes() template_values = { 'days':days, 'prev':prevMonday, 'next':nextMonday, 'actual':actualMonday, 'menu':menu, 'allDishes':allDishes } template = jinja_environment.get_template('templates/menuEdit.html') self.printPage(str(day), template.render(template_values), False, False)
def get(self): if not isUserCook(self): self.redirect("/") return day = getBaseDate(self) #Determine the week nextCalendar=day.isocalendar() #Organize into days dayIndex=nextCalendar[2]-1 availableMenuItems = getDaysAvailableMenuItems(day) days = [] days.append(getDay(day, dayIndex, availableMenuItems)) menu = getMenu(day, dayIndex, availableMenuItems) # A single dish with editable ingredient list prevDay=day+datetime.timedelta(days=-1) nextDay=day+datetime.timedelta(days=1) nextCalendar=nextDay.isocalendar() #Organize into days if nextCalendar[2]==6: nextDay=nextDay+datetime.timedelta(days=2) elif nextCalendar[2]==7: nextDay=nextDay+datetime.timedelta(days=1) prevCalendar=prevDay.isocalendar() #Organize into days if prevCalendar[2]==6: prevDay=prevDay+datetime.timedelta(days=-1) elif prevCalendar[2]==7: prevDay=prevDay+datetime.timedelta(days=-2) allDishes=getDishes() template_values = { 'days':days, 'prev':prevDay, 'next':nextDay, 'menu':menu, 'allDishes':allDishes } template = jinja_environment.get_template('templates/menuEdit.html') self.printPage(str(day), template.render(template_values), False, False)
def get(self): if not isUserCook(self): self.session[LOGIN_NEXT_PAGE_KEY] = self.URL self.redirect("/") return day=getBaseDate(self) monday = getMonday(day) menu=[] #Contains menu items dishCategories=getDishCategories() orderedPrice = [0,0,0,0,0] orders = getOrdersForWeek(monday) for category in dishCategories: actualCategoryObject={} actualCategoryObject['category']=category categoryKey=category['key'] items=[] for i in range(0,5): actualDay=monday+datetime.timedelta(days=i) actualDayObject={} actualDayObject["day"]=dayNames[i] actualDayObject["date"]=actualDay menuItems = getDaysMenuItems(actualDay, categoryKey) composits=getDaysComposits(actualDay, categoryKey) #Filter menu items actualMenuItems=[] actualComposits=[] for menuItem in menuItems: itemKeyStr=menuItem['key'] if not orders.has_key(itemKeyStr): continue menuItem['orderedQuantity'] = orders[itemKeyStr] orderedPrice[i] = orderedPrice[i] + menuItem['price'] * int(orders[itemKeyStr]) actualMenuItems.append(menuItem) for composit in composits: itemKeyStr=composit['key'] if not orders.has_key(itemKeyStr): continue composit['orderedQuantity'] = orders[itemKeyStr] orderedPrice[i] = orderedPrice[i] + composit['price'] * int(orders[itemKeyStr]) actualComposits.append(composit) actualDayObject["menuItems"]=actualMenuItems actualDayObject["composits"]=actualComposits items.append(actualDayObject) actualCategoryObject["days"]=items menu.append(actualCategoryObject) days=[] totalPrice = 0 for i in range(0,5): actualDayObject={} actualDayObject["orderedPrice"] = orderedPrice[i] totalPrice = totalPrice + orderedPrice[i] actualDayObject["day"]=dayNames[i] actualDayObject["date"]=monday+datetime.timedelta(days=i) days.append(actualDayObject) # A single dish with editable ingredient list prevMonday=monday + datetime.timedelta(days=-7) nextMonday=monday + datetime.timedelta(days=7) template_values = { 'days':days, 'menu':menu, 'totalPrice':totalPrice } template_values['next'] = nextMonday template_values['prev'] = prevMonday # A single dish with editable ingredient list template = jinja_environment.get_template('templates/chefReviewOrders.html') self.printPage(str(day), template.render(template_values), True)