def create_tag(): tags = Tags() params = {} if request: params["tag"] = request.args.get('tag', '') if len(params["tag"]) == 0: return redirect(url_for('getTags')) tag_id = tags.create_tag(params) print(tag_id) # return "yay {0}".format(params["tag"]) # return redirect(url_for('getTags', msg='Tag {0} wurde hinzugefügt.'.format(params['name']))) return redirect(url_for('getTags')) else: return "Fehler" return "Fehler"
def createDish(): params = {} if request: params["name"] = request.args.get('name', '') params["note"] = request.args.get('note', '') params["ingredients"] = request.args.get('ingredients', '') params["countCooked"] = 0 params["tags"] = request.args.get('tags', '') params["tags"] = request.args.getlist('tags') tags_list = [] # Datenbank öffnen tags = Tags() for tag_name_request in params["tags"]: tag_id = tags.get_tag_id(tag_name_request)[0]['tag_id'] print("Tag_name: {0}".format(tag_name_request)) print(" Tag_id ist: {0}".format(tag_id)) if not tag_id: print(" Tag erstellen") tag_id = tags.create_tag("tag_name_request") tags_list.append(tag_id) print("") # Datenbank und Tabelle schließen del tags # Datenbank öffnen & Gericht erstellen dishes = Dishes() dish_id = dishes.create(params) del dishes # Zum testen hier die feste dish_id 22, somit wird nicht jedes mal ein Gericht angelegt # dish_id = 22 if dish_id: taggedDishes = TaggedDishes() for tag_id in tags_list: print("Zuweisung: {0} zu {1}".format(dish_id, tag_id)) taggedDishes.assign_tag_to_dish(dish_id, tag_id) return "Erfolgreich<br /><a href=\"" + url_for( 'listDishes') + "\">Gerichte anzeigen</a>" else: return "Fehler"
def editDish(): params = {} if request: params["dish_id"] = request.form.get('dish_id', '') params["name"] = request.form.get('name', '') params["note"] = request.form.get('note', '') # params["ingredients"] = request.args.get('ingredients', '') params["countCooked"] = "0" params["lastCooked"] = "2019-01-01" # params["tags"] = request.args.get('tags','') params["tags"] = request.form.getlist('tags') tags_list = [] # print(params["tags"]) # Datenbank öffnen tags = Tags() for tag_name_request in params["tags"]: tag_id = tags.get_tag_id(tag_name_request)[0]['tag_id'] # print("Tag_name: {0}".format(tag_name_request)) # print(" Tag_id ist: {0}".format(tag_id)) if not tag_id: # print(" Tag erstellen") tag_id = tags.create_tag("tag_name_request") tags_list.append(tag_id) # Übergabeparameter zusammenstellen dish_stuff = {} # dish_stuff['dish_id'] = params['dish_id'] dish_stuff['name'] = params['name'] dish_stuff['note'] = params['note'].splitlines() # dish_stuff['ingredients'] = params['ingredients'] dish_stuff['countCooked'] = params['countCooked'] # dish_stuff['lastCooked'] = params['lastCooked'] dish_stuff['lastCooked'] = params['lastCooked'] # Datenbank und Tabelle schließen del tags # Datenbank öffnen & Gericht erstellen dishes = Dishes() returnValue = dishes.update(params["dish_id"], dish_stuff) del dishes # Zum testen hier die feste dish_id 22, somit wird nicht jedes mal ein Gericht angelegt # dish_id = 22 taggedDishes = TaggedDishes() # print(tags_list) existing_tags = taggedDishes.list(params["dish_id"]) # print("Existing Tags: {0}".format(existing_tags)) # print("tags_list: {0}".format(tags_list)) for tag_id in tags_list: # print([item for item in existing_tags if item["tag_id"] == tag_id]) if not [ item for item in existing_tags if item["tag_id"] == tag_id ]: # print("tag_id: {0} - existing_tag: {1}".format(tag_id, existing_tag)) # print("Zuweisung: {1} zu {0}".format(params["dish_id"], tag_id)) taggedDishes.assign_tag_to_dish(params["dish_id"], tag_id) for existing_tag in existing_tags: if not existing_tag['tag_id'] in tags_list: # print("Zuweisung löschen: {1} zu {0}".format(params["dish_id"], existing_tag['tag_id'])) taggedDishes.remove_tag_from_dish(params["dish_id"], existing_tag['tag_id']) return redirect(url_for('showDish', dish_id=params["dish_id"]))