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)))
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)))
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)))
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)))
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)))