コード例 #1
0
	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));
コード例 #2
0
	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)
コード例 #3
0
ファイル: menu.py プロジェクト: lajthabalazs/diet-futar
	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)
コード例 #4
0
ファイル: menu.py プロジェクト: lajthabalazs/diet-futar
	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)
コード例 #5
0
	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)