Exemplo n.º 1
0
	def get(self):
		if not self.current_user:
			self.redirect("/auth/facebook/login")
		else:
			format = self.request.get('format').lower()
			schedule = []

			if self.request.get("user"):
				user = User.get(self.request.get("user"))
			else:
				user = self.current_user
			
			if self.request.get('start_date'):
				dateparts = [int(i) for i in self.request.get("start_date").split("-")]
				start_date = datetime.date(dateparts[0], dateparts[1], dateparts[2])
			else:
				start_date = datetime.date.today()
			if self.request.get('nof_days'):
				nof_days = self.request.get('nof_days')
			else:
				from settings import SCHEDULE_DEFAULT_NUMBER_OF_DAYS
				nof_days = SCHEDULE_DEFAULT_NUMBER_OF_DAYS
			if self.request.get('direction')=='back':
				start_date -= datetime.timedelta(nof_days)
			if self.request.get('direction')=='forward':
				start_date += datetime.timedelta(1)
			
			for i in range(nof_days):
				date_next = start_date+datetime.timedelta(i)
				meal_query = Meal.gql("WHERE user = :1 AND date = :2", user, date_next)
				invitations_query = Invitation.gql("WHERE guest = :1 AND date = :2", user, date_next)
				date = {
					'date':date_next,
					'meals':meal_query,
					'invitations':invitations_query,
				}
				schedule.append(date)
				
			if format == 'partial':
				template_values = {
					'page':'schedule',
					'current_user':self.current_user,
					'schedule':schedule,
					'today':datetime.date.today(),
				}
				path = os.path.join(os.path.dirname(__file__), 'templates/schedule_days.html')
				self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))
			else:
				template_values = {
					'page':'schedule',
					'current_user':self.current_user,
					'user':user,
					'schedule':schedule,
					'today':datetime.date.today(),
				}
				path = os.path.join(os.path.dirname(__file__), 'templates/schedule.html')
				self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))
Exemplo n.º 2
0
	def get(self):
		
		if self.request.get("user"):
			user = User.get(self.request.get("user"))
		else:
			user = self.current_user
		
		todo = []
		
		meals_to_be_rated = []
		invitation_query = Invitation.all().filter('guest', user).filter('attending', 'yes').filter('food_rating', None)
		for i in invitation_query:
			if i.meal.date < datetime.datetime.today():
				meals_to_be_rated.append(i)
			
		todo.extend(meals_to_be_rated)
		
		import calendar
		import locale
		#locale.setlocale(locale.LC_ALL, 'english_US')
		#  update day names for new locale
		WEEKDAYS = [day for day in calendar.day_name] # list of day name strings
		
		template_values = {
			'page':'profile',
			'current_user':self.current_user,
			'user':user,
			'todo':todo,
			'weekdays':WEEKDAYS,
		}
		
		path = os.path.join(os.path.dirname(__file__), 'templates/profile_detail.html')
		self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))
Exemplo n.º 3
0
	def get(self):
		query = {}
		foodtype = None
		user = None
		
		if self.request.get('foodtype'):
			foodtype = FoodType.get(self.request.get('foodtype'))
			query['foodtype'] = foodtype
		if self.request.get('user'):
			user = User.get(self.request.get('user'))
			query['user'] = user
			
		# XXX: need a coherent way of checking whether a recipe is not just quickadded through the schedule
		recipes_query = Recipe.all().filter("quickadd", False)
		
		if foodtype:
			recipes_query = recipes_query.filter('foodtypes_list', foodtype)
		if user:
			recipes_query = recipes_query.filter('author', user)
		
		recipes_query = recipes_query.fetch(50)
		
		template_values = {
			'page':'recipes',
			'current_user':self.current_user,
			'foodtypes':FoodType.all(),
			'query':query,
			'recipes':recipes_query,
		}
		
		path = os.path.join(os.path.dirname(__file__), 'templates/recipe_list.html')
		self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))
Exemplo n.º 4
0
	def get(self):
		if self.request.get('key'):
			recipe = Recipe.get(self.request.get('key'))
		else:
			recipe = None
			
		template_values = {
			'page':'recipes',
			'current_user':self.current_user,
			'recipe':recipe,
		}
		
		path = os.path.join(os.path.dirname(__file__), 'templates/recipe_detail.html')
		self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))
Exemplo n.º 5
0
	def get(self):
		template_values = {
			'current_user':self.current_user,
		}
		path = os.path.join(os.path.dirname(__file__), 'templates/about.html')
		self.response.out.write(template.render(path, helpers.append_base_template_values(template_values)))