def create_meal(): form_create_meal = CreateMeal() print(Activity.find_activities_by_x_category('cukier')) if form_create_meal.validate_on_submit(): ing = { 'carbs_ingredients': form_create_meal.carbs_ingredients.data, 'meat_ingredients': form_create_meal.meat_ingredients.data, 'ingredients': form_create_meal.ingredients.data, 'warzywa_ingredients': form_create_meal.warzywa_ingredients.data, } print(ing, 'whole data with ingredients') meal_name = form_create_meal.meal_name.data ingredients = Meal.ingredients_for_meal(**ing) try: assert (Meal.query.filter_by(name=meal_name).first().name, f' good, {meal_name} meal not exist in database') print(f'the {meal_name} is in the menu') return render_template('meal.html', form_create_meal=form_create_meal, ingredients=ingredients, meal_name=meal_name, in_menu=True) except AttributeError as e: new_meal = Meal( ingredients=ingredients['string_of_ingridients_ids'], name=meal_name) Meal.save_to_db(new_meal) flash(f'we added {new_meal.name} to the menu') return render_template('meal.html', form_create_meal=form_create_meal, ingredients=ingredients, meal_name=meal_name) return render_template('meal.html', form_create_meal=form_create_meal)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) full_activity_list = Activity.list_of_activity_objects() self.ingredients.choices = [ (str(single['id']), single['name']) for single in Activity.find_activities_by_x_category( 'białka mleka', 'cukier', 'laktoza', 'inne') ] # Meal.json_meal() self.meat_ingredients.choices = choices_by_category('wysoko białkowe') self.carbs_ingredients.choices = choices_by_category( 'wysoko weglowodanowe', 'bezglutenowe', 'gluten') self.warzywa_ingredients.choices = choices_by_category( 'warzywa', 'owoce')