예제 #1
0
파일: app.py 프로젝트: jkopka/Essensplan
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"
예제 #2
0
파일: app.py 프로젝트: jkopka/Essensplan
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"]))