import stuff

This commit is contained in:
vabene1111
2024-12-11 20:56:27 +01:00
parent f1f907ee33
commit ad57ce7790
38 changed files with 279 additions and 15 deletions

View File

@@ -1559,12 +1559,15 @@ class RecipeFromSourceSerializer(serializers.Serializer):
data = serializers.CharField(required=False, allow_null=True, allow_blank=True)
bookmarklet = serializers.IntegerField(required=False, allow_null=True, )
class SourceImportFoodSerializer(serializers.Serializer):
name = serializers.CharField()
class SourceImportUnitSerializer(serializers.Serializer):
name = serializers.CharField()
class SourceImportIngredientSerializer(serializers.Serializer):
amount = serializers.FloatField()
food = SourceImportFoodSerializer()
@@ -1572,25 +1575,30 @@ class SourceImportIngredientSerializer(serializers.Serializer):
note = serializers.CharField(required=False)
original_text = serializers.CharField()
class SourceImportStepSerializer(serializers.Serializer):
instruction = serializers.CharField()
ingredients = SourceImportIngredientSerializer(many=True)
show_ingredients_table = serializers.BooleanField()
class SourceImportKeywordSerializer(serializers.Serializer):
id = serializers.IntegerField(allow_null=True)
label = serializers.CharField()
name = serializers.CharField()
import_keyword = serializers.BooleanField()
class SourceImportPropertyTypeSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
class SourceImportPropertySerializer(serializers.Serializer):
property_type = SourceImportPropertyTypeSerializer(many=False)
property_amount = serializers.FloatField()
class SourceImportRecipeSerializer(serializers.Serializer):
steps = SourceImportStepSerializer(many=True)
internal = serializers.BooleanField()
@@ -1606,12 +1614,17 @@ class SourceImportRecipeSerializer(serializers.Serializer):
properties = serializers.ListField(child=SourceImportPropertySerializer())
class SourceImportDuplicateSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
class RecipeFromSourceResponseSerializer(serializers.Serializer):
recipe = SourceImportRecipeSerializer(default=None)
images = serializers.ListField( default=[])
images = serializers.ListField(child=serializers.CharField(),default=[], allow_null=False)
error = serializers.BooleanField(default=False)
msg = serializers.CharField(max_length=1024, default='')
duplicate = serializers.ListField(child=serializers.IntegerField(), default=[])
duplicates = serializers.ListField(child=SourceImportDuplicateSerializer(), default=[], allow_null=False)
class ImportImageSerializer(serializers.Serializer):

View File

@@ -1754,7 +1754,7 @@ class RecipeUrlImportView(APIView):
if scrape:
response['recipe'] = helper.get_from_scraper(scrape, request)
response['images'] = list(dict.fromkeys(get_images_from_soup(scrape.soup, url)))
response['duplicate'] = Recipe.objects.filter(source_url=url).values_list('id', flat=True).all()
response['duplicates'] = Recipe.objects.filter(space=request.space, source_url=url).values('id', 'name').all()
return Response(RecipeFromSourceResponseSerializer(context={'request': request}).to_representation(response), status=status.HTTP_200_OK)
else:

View File

@@ -43,6 +43,7 @@
"Color": "",
"Coming_Soon": "",
"Completed": "",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "",
@@ -80,6 +81,8 @@
"Documentation": "",
"Download": "",
"Drag_Here_To_Delete": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Edit_Food": "",
"Edit_Keyword": "",
@@ -284,6 +287,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "",
"Step": "",
"Step_Name": "",

View File

@@ -43,6 +43,7 @@
"Color": "Цвят",
"Coming_Soon": "Очаквайте скоро",
"Completed": "Завършено",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Копиране",
@@ -77,6 +78,8 @@
"Documentation": "Документация",
"Download": "Изтегляне",
"Drag_Here_To_Delete": "Плъзнете тук, за да изтриете",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Редактиране",
"Edit_Food": "Редактиране на храна",
"Edit_Keyword": "Редактиране на ключова дума",
@@ -277,6 +280,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Начален ден от седмицата",
"Step": "Стъпка",
"Step_Name": "Стъпка Име",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "",
"Comments_setting": "",
"Completed": "",
"Continue": "",
"Conversion": "",
"ConversionsHelp": "",
"CookLog": "",
@@ -112,6 +113,8 @@
"Documentation": "",
"Download": "",
"Drag_Here_To_Delete": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Edit_Food": "",
"Edit_Keyword": "Editeu paraula clau",
@@ -363,6 +366,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "",
"Split": "",
"Split_All_Steps": "",
"StartDate": "",
"Starting_Day": "",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "Již brzy",
"Comments_setting": "Zobrazit komentáře",
"Completed": "Dokončeno",
"Continue": "",
"Conversion": "Převod",
"ConversionsHelp": "",
"CookLog": "",
@@ -112,6 +113,8 @@
"Documentation": "Dokumentace",
"Download": "Stáhnout",
"Drag_Here_To_Delete": "Přesunutím sem smazat",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Upravit",
"Edit_Food": "Upravit potravinu",
"Edit_Keyword": "Upravit štítek",
@@ -359,6 +362,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Některá kosmetická nastavení mohou měnit správci prostoru a budou mít přednost před nastavením klienta pro daný prostor.",
"Split": "",
"Split_All_Steps": "Rozdělit každý řádek do samostatného kroku.",
"StartDate": "Počáteční datum",
"Starting_Day": "První den v týdnu",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "Kommer snart",
"Comments_setting": "Vis kommentarer",
"Completed": "Afsluttet",
"Continue": "",
"Conversion": "Konversion",
"ConversionsHelp": "",
"CookLog": "",
@@ -103,6 +104,8 @@
"Documentation": "Dokumentation",
"Download": "Download",
"Drag_Here_To_Delete": "Træk herhen for at slette",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Rediger",
"Edit_Food": "Rediger mad",
"Edit_Keyword": "Rediger nøgleord",
@@ -337,6 +340,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Opdel rækker i separate trin.",
"StartDate": "Startdato",
"Starting_Day": "Første dag på ugen",

View File

@@ -56,6 +56,7 @@
"Coming_Soon": "Bald verfügbar",
"Comments_setting": "Kommentare anzeigen",
"Completed": "Fertig",
"Continue": "Weiter",
"Conversion": "Umrechnung",
"ConversionsHelp": "Mit Umrechnungen kann die Menge einens Lebensmittels in verschiedenen Einheiten ausgerechnet werden. Aktuell wird dies nur zur berechnung von Eigenschaften verwendet, später jedoch sollen auch andere Funktionen von Tandoor davon profitieren.",
"CookLog": "Kochprotokoll",
@@ -114,6 +115,8 @@
"Documentation": "Dokumentation",
"Download": "Herunterladen",
"Drag_Here_To_Delete": "Hierher ziehen zum Löschen",
"Duplicate": "Duplikat",
"DuplicateFoundInfo": "Ein Rezept mit dieser URL wurde bereits in deinem Space gefunden. Trotzdem fortfahren?",
"Edit": "Bearbeiten",
"Edit_Food": "Lebensmittel bearbeiten",
"Edit_Keyword": "Schlagwort bearbeiten",
@@ -366,6 +369,7 @@
"SpaceMembers": "Space Mitglieder",
"SpaceSettings": "Space Einstellungen",
"Space_Cosmetic_Settings": "Einige optische Einstellungen können von Administratoren des Bereichs geändert werden und setzen die Client-Einstellungen für diesen Bereich außer Kraft.",
"Split": "Aufteilen",
"Split_All_Steps": "Teile alle Zeilen in separate Schritte auf.",
"StartDate": "Startdatum",
"Starting_Day": "Wochenbeginn am",

View File

@@ -53,6 +53,7 @@
"Coming_Soon": "Σύντομα διαθέσιμο",
"Comments_setting": "Εμφάνιση σχολίων",
"Completed": "Ολοκληρωμένο",
"Continue": "",
"Conversion": "Μετατροπή",
"ConversionsHelp": "",
"CookLog": "",
@@ -102,6 +103,8 @@
"Documentation": "Τεκμηρίωση",
"Download": "Λήψη",
"Drag_Here_To_Delete": "Σύρετε εδώ για διαγραφή",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Τροποποίηση",
"Edit_Food": "Τροποποίηση φαγητού",
"Edit_Keyword": "Τροποποίηση λέξης-κλειδί",
@@ -329,6 +332,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Διαχωρισμός όλων των γραμμών σε χωριστά βήματα.",
"Starting_Day": "Πρώτη μέρα της εβδομάδας",
"Step": "Βήμα",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "Coming-Soon",
"Comments_setting": "Show Comments",
"Completed": "Completed",
"Continue": "Continue",
"Conversion": "Conversion",
"ConversionsHelp": "With conversions you can calculate the amount of a food in different units. Currently this is only used for property calculation, later it might also be used in other parts of tandoor. ",
"CookLog": "Cook Log",
@@ -113,6 +114,8 @@
"Documentation": "Documentation",
"Download": "Download",
"Drag_Here_To_Delete": "Drag here to delete",
"Duplicate": "Duplicate",
"DuplicateFoundInfo": "A recipe with this URL was already found in your space. Continue anyway?",
"Edit": "Edit",
"Edit_Food": "Edit Food",
"Edit_Keyword": "Edit Keyword",
@@ -365,6 +368,7 @@
"SpaceMembers": "Space Members",
"SpaceSettings": "Space Settings",
"Space_Cosmetic_Settings": "Some cosmetic settings can be changed by space administrators and will override client settings for that space.",
"Split": "Split",
"Split_All_Steps": "Split all rows into separate steps.",
"StartDate": "Start Date",
"Starting_Day": "Starting day of the week",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "Próximamente",
"Comments_setting": "Mostrar Comentarios",
"Completed": "Completado",
"Continue": "",
"Conversion": "Conversión",
"ConversionsHelp": "",
"CookLog": "",
@@ -113,6 +114,8 @@
"Documentation": "Documentación",
"Download": "Descarga",
"Drag_Here_To_Delete": "Arrastrar aquí para eliminar",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Editar",
"Edit_Food": "Editar ingediente",
"Edit_Keyword": "Editar palabra clave",
@@ -362,6 +365,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Algunos ajustes de apariencia pueden ser cambiados por los administradores del espacio y anularán los ajustes del cliente para ese espacio.",
"Split": "",
"Split_All_Steps": "Dividir todas las filas en pasos separados.",
"StartDate": "Fecha de Inicio",
"Starting_Day": "Día de comienzo de la semana",

View File

@@ -29,6 +29,7 @@
"Close": "Sulje",
"Color": "Väri",
"Coming_Soon": "Tulossa pian",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Kopioi",
@@ -56,6 +57,8 @@
"Disable_Amount": "Poista Määrä käytöstä",
"Download": "Lataa",
"Drag_Here_To_Delete": "Vedä tänne poistaaksesi",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Muokkaa",
"Edit_Food": "Muokkaa ruokaa",
"Edit_Keyword": "Muokkaa avainsanaa",
@@ -206,6 +209,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Viikon aloituspäivä",
"Step": "Vaihe",
"Step_Name": "Vaiheen Nimi",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "Bientôt disponible",
"Comments_setting": "Montrer les commentaires",
"Completed": "Achevé",
"Continue": "",
"Conversion": "Conversion",
"ConversionsHelp": "",
"CookLog": "",
@@ -112,6 +113,8 @@
"Documentation": "Documentation",
"Download": "Télécharger",
"Drag_Here_To_Delete": "Glissez ici pour supprimer",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Modifier",
"Edit_Food": "Modifier laliment",
"Edit_Keyword": "Modifier le mot-clé",
@@ -363,6 +366,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Certains paramètres cosmétiques peuvent être modifiés par un administrateur de l'espace et seront prioritaires sur les paramètres des utilisateurs pour cet espace.",
"Split": "",
"Split_All_Steps": "Diviser toutes les lignes en étapes séparées.",
"StartDate": "Date de début",
"Starting_Day": "Jour de début de la semaine",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "בקרוב",
"Comments_setting": "הצג תגובות",
"Completed": "הושלם",
"Continue": "",
"Conversion": "עברית",
"ConversionsHelp": "",
"CookLog": "",
@@ -113,6 +114,8 @@
"Documentation": "תיעוד",
"Download": "הורדה",
"Drag_Here_To_Delete": "משוך לכאן למחיקה",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "ערוך",
"Edit_Food": "ערוך אוכל",
"Edit_Keyword": "עדכן מילת מפתח",
@@ -364,6 +367,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "חלק מהגדרות הקוסמטיות יכולות להיות מעודכנות על ידי מנהל המרחב וידרסו את הגדרות הקליינט עבור מרחב זה.",
"Split": "",
"Split_All_Steps": "פצל את כל השורות לצעדים נפרדים.",
"StartDate": "תאריך התחלה",
"Starting_Day": "יום תחילת השבוע",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "Hamarosan",
"Comments_setting": "Hozzászólások megjelenítése",
"Completed": "Kész",
"Continue": "",
"Conversion": "Konverzió",
"ConversionsHelp": "",
"CookLog": "",
@@ -101,6 +102,8 @@
"Documentation": "Dokumentáció",
"Download": "Letöltés",
"Drag_Here_To_Delete": "Törléshez húzza ide",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Szerkesztés",
"Edit_Food": "Alapanyag szerkesztése",
"Edit_Keyword": "Kulcsszó szerkesztése",
@@ -330,6 +333,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Ossza fel az összes sort különálló lépésekbe.",
"StartDate": "Kezdés dátuma",
"Starting_Day": "A hét kezdőnapja",

View File

@@ -21,6 +21,7 @@
"Categories": "",
"Category": "",
"Close": "",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "",
@@ -41,6 +42,8 @@
"DeviceSettings": "",
"DeviceSettingsHelp": "",
"Download": "Ներբեռնել",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Edit_Food": "Խմբագրել սննդամթերքը",
"Edit_Keyword": "Խմբագրել բանալի բառը",
@@ -147,6 +150,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Step": "",
"Step_start_time": "Քայլի սկսելու ժամանակը",
"Steps": "",

View File

@@ -47,6 +47,7 @@
"Coming_Soon": "",
"Comments_setting": "",
"Completed": "",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Salin",
@@ -91,6 +92,8 @@
"Documentation": "",
"Download": "Unduh",
"Drag_Here_To_Delete": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Sunting",
"Edit_Food": "Sunting Makanan",
"Edit_Keyword": "Rubah Kata Kunci",
@@ -307,6 +310,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "",
"Step": "Melangkah",
"Step_Name": "Nama Langkah",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "",
"Comments_setting": "",
"Completed": "",
"Continue": "",
"Conversion": "",
"ConversionsHelp": "",
"CookLog": "",
@@ -112,6 +113,8 @@
"Documentation": "",
"Download": "",
"Drag_Here_To_Delete": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Edit_Food": "",
"Edit_Keyword": "",
@@ -362,6 +365,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "",
"Split": "",
"Split_All_Steps": "",
"StartDate": "",
"Starting_Day": "",

View File

@@ -51,6 +51,7 @@
"Coming_Soon": "In-Arrivo",
"Comments_setting": "Mostra commenti",
"Completed": "Completato",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Copia",
@@ -96,6 +97,8 @@
"Documentation": "Documentazione",
"Download": "Scarica",
"Drag_Here_To_Delete": "Sposta qui per eliminare",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Modifica",
"Edit_Food": "Modifica alimento",
"Edit_Keyword": "Modifica parola chiave",
@@ -315,6 +318,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Divide tutte le righe in step separati.",
"Starting_Day": "Giorno di inizio della settimana",
"Step": "Step",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "",
"Comments_setting": "",
"Completed": "",
"Continue": "",
"Conversion": "",
"ConversionsHelp": "",
"CookLog": "",
@@ -103,6 +104,8 @@
"Documentation": "",
"Download": "",
"Drag_Here_To_Delete": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Edit_Food": "",
"Edit_Keyword": "Redaguoti raktažodį",
@@ -335,6 +338,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "",
"StartDate": "",
"Starting_Day": "",

View File

@@ -52,6 +52,7 @@
"Coming_Soon": "Kommer snart",
"Comments_setting": "",
"Completed": "Fullført",
"Continue": "",
"Conversion": "Omregn enhet",
"ConversionsHelp": "",
"CookLog": "",
@@ -100,6 +101,8 @@
"Documentation": "",
"Download": "Last ned",
"Drag_Here_To_Delete": "Dra her for å slette",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Rediger",
"Edit_Food": "Rediger Matrett",
"Edit_Keyword": "Rediger nøkkelord",
@@ -327,6 +330,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "",
"Starting_Day": "Dag uken skal state på",
"Step": "Steg",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "Binnenkort beschikbaar",
"Comments_setting": "Commentaar weergeven",
"Completed": "Voltooid",
"Continue": "",
"Conversion": "Omrekening",
"ConversionsHelp": "",
"CookLog": "",
@@ -104,6 +105,8 @@
"Documentation": "Documentatie",
"Download": "Download",
"Drag_Here_To_Delete": "Sleep hierheen om te verwijderen",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Bewerken",
"Edit_Food": "Bewerk Eten",
"Edit_Keyword": "Bewerk Etiket",
@@ -331,6 +334,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Splits alle rijen in aparte stappen.",
"Starting_Day": "Eerste dag van de week",
"Step": "Stap",

View File

@@ -56,6 +56,7 @@
"Coming_Soon": "Dostępne wkrótce",
"Comments_setting": "Pokaż komentarze",
"Completed": "Zakończone",
"Continue": "",
"Conversion": "Konwersja",
"ConversionsHelp": "",
"CookLog": "",
@@ -114,6 +115,8 @@
"Documentation": "Dokumentacja",
"Download": "Pobieranie",
"Drag_Here_To_Delete": "Przeciągnij tutaj, aby usunąć",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Edytuj",
"Edit_Food": "Edytuj żywność",
"Edit_Keyword": "Edytuj słowo kluczowe",
@@ -365,6 +368,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Administratorzy przestrzeni mogą zmienić niektóre ustawienia kosmetyczne, które zastąpią ustawienia klienta dla tej przestrzeni.",
"Split": "",
"Split_All_Steps": "Traktuj każdy wiersz jako osobne kroki.",
"StartDate": "Data początkowa",
"Starting_Day": "Dzień rozpoczęcia tygodnia",

View File

@@ -42,6 +42,7 @@
"Color": "Cor",
"Coming_Soon": "",
"Completed": "Completo",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Copiar",
@@ -81,6 +82,8 @@
"Disable_Amount": "Desativar quantidade",
"Download": "Transferência",
"Drag_Here_To_Delete": "Arraste para aqui para eliminar",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Editar",
"Edit_Food": "Editar comida",
"Edit_Keyword": "Editar Palavra Chave",
@@ -271,6 +274,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Dia de início da semana",
"Step": "Passo",
"Step_Name": "Nome do Passo",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "Em breve",
"Comments_setting": "Mostrar Comentários",
"Completed": "Finalizado",
"Continue": "",
"Conversion": "Conversão",
"ConversionsHelp": "",
"CookLog": "",
@@ -110,6 +111,8 @@
"Documentation": "Documentação",
"Download": "Baixar",
"Drag_Here_To_Delete": "Arraste aqui para deletar",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Editar",
"Edit_Food": "Editar Comida",
"Edit_Keyword": "Editar palavra-chave",
@@ -348,6 +351,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"StartDate": "Data Início",
"Starting_Day": "Dia de início da semana",
"Step": "Etapa",

View File

@@ -52,6 +52,7 @@
"Coming_Soon": "În curând",
"Comments_setting": "Afișează comentarii",
"Completed": "Completat",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Copie",
@@ -98,6 +99,8 @@
"Documentation": "Documentație",
"Download": "Descarcă",
"Drag_Here_To_Delete": "Mută aici pentru a șterge",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Editează",
"Edit_Food": "Editare mâncare",
"Edit_Keyword": "Editează cuvânt cheie",
@@ -319,6 +322,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Split_All_Steps": "Împărțiți toate rândurile în pași separați.",
"Starting_Day": "Ziua de început a săptămânii",
"Step": "Pas",

View File

@@ -37,6 +37,7 @@
"Color": "Цвет",
"Coming_Soon": "Скоро",
"Completed": "Завершено",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Копировать",
@@ -71,6 +72,8 @@
"Documentation": "Документация",
"Download": "Загрузить",
"Drag_Here_To_Delete": "Переместить для удаления",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Редактировать",
"Edit_Food": "Редактировать еду",
"Edit_Keyword": "Редактировать ключевое слово",
@@ -256,6 +259,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Начальный день недели",
"Step": "Шаг",
"Step_Name": "Имя шага",

View File

@@ -38,6 +38,7 @@
"Color": "Barva",
"Coming_Soon": "Kmalu",
"Completed": "Končano",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Kopiraj",
@@ -71,6 +72,8 @@
"Disable_Amount": "Onemogoči količino",
"Download": "Prenesi",
"Drag_Here_To_Delete": "Povleci sem za izbris",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Uredi",
"Edit_Food": "Uredi hrano",
"Edit_Keyword": "Uredi ključno besedo",
@@ -246,6 +249,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Začetni dan v tednu",
"Step": "Korak",
"Step_Name": "Ime koraka",

View File

@@ -56,6 +56,7 @@
"Coming_Soon": "Kommer snart",
"Comments_setting": "Visa Kommentarer",
"Completed": "Avslutad",
"Continue": "",
"Conversion": "Omvandling",
"ConversionsHelp": "",
"CookLog": "",
@@ -114,6 +115,8 @@
"Documentation": "Dokumentation",
"Download": "Ladda ned",
"Drag_Here_To_Delete": "Dra hit för att radera",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Redigera",
"Edit_Food": "Redigera livsmedel",
"Edit_Keyword": "Redigera nyckelord",
@@ -365,6 +368,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Vissa kosmetiska inställningar kan ändras av hushålls-administratörer och skriver över klientinställningar för det hushållet.",
"Split": "",
"Split_All_Steps": "Dela upp alla rader i separata steg.",
"StartDate": "Startdatum",
"Starting_Day": "Startdag i veckan",

View File

@@ -55,6 +55,7 @@
"Coming_Soon": "Yakında Gelecek",
"Comments_setting": "Yorumları Göster",
"Completed": "Tamamlandı",
"Continue": "",
"Conversion": "Dönüşüm",
"ConversionsHelp": "",
"CookLog": "",
@@ -113,6 +114,8 @@
"Documentation": "Dokümantasyon",
"Download": "İndir",
"Drag_Here_To_Delete": "Silmek için buraya sürükleyin",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Düzenle",
"Edit_Food": "Yiyeceği Düzenle",
"Edit_Keyword": "Anahtar Kelimeyi Düzenle",
@@ -364,6 +367,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "Bazı kozmetik ayarlar alan yöneticileri tarafından değiştirilebilir ve o alanın istemci ayarlarını geçersiz kılar.",
"Split": "",
"Split_All_Steps": "Tüm satırları ayrı adımlara bölün.",
"StartDate": "Başlangıç Tarihi",
"Starting_Day": "Haftanın başlangıç günü",

View File

@@ -46,6 +46,7 @@
"Color": "Колір",
"Coming_Soon": "",
"Completed": "Виконано",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "Копіювати",
@@ -86,6 +87,8 @@
"Documentation": "",
"Download": "Скачати",
"Drag_Here_To_Delete": "Перемістіть сюди, щоб видалити",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "Редагувати",
"Edit_Food": "Редагувати Їжу",
"Edit_Keyword": "Редагувати Ключове слово",
@@ -292,6 +295,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Starting_Day": "Початковий день тижня",
"Step": "Крок",
"Step_Name": "Ім'я Кроку",

View File

@@ -54,6 +54,7 @@
"Coming_Soon": "即将到来",
"Comments_setting": "显示评论",
"Completed": "完成",
"Continue": "",
"Conversion": "转换",
"ConversionsHelp": "",
"CookLog": "",
@@ -110,6 +111,8 @@
"Documentation": "文档",
"Download": "下载",
"Drag_Here_To_Delete": "拖动此处可删除",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "编辑",
"Edit_Food": "编辑食物",
"Edit_Keyword": "编辑关键词",
@@ -358,6 +361,7 @@
"SpaceMembers": "",
"SpaceSettings": "",
"Space_Cosmetic_Settings": "空间管理员可以更改某些装饰设置,并将覆盖该空间的客户端设置。",
"Split": "",
"Split_All_Steps": "将所有行拆分为单独的步骤。",
"StartDate": "开始日期",
"Starting_Day": "一周中的第一天",

View File

@@ -18,6 +18,7 @@
"Categories": "",
"Category": "",
"Close": "",
"Continue": "",
"ConversionsHelp": "",
"CookLog": "",
"Copy": "",
@@ -33,6 +34,8 @@
"DeviceSettings": "",
"DeviceSettingsHelp": "",
"Download": "",
"Duplicate": "",
"DuplicateFoundInfo": "",
"Edit": "",
"Email": "",
"Energy": "",
@@ -117,6 +120,7 @@
"SpaceMemberHelp": "",
"SpaceMembers": "",
"SpaceSettings": "",
"Split": "",
"Step": "",
"Step_start_time": "步驟開始時間",
"Steps": "",

View File

@@ -134,6 +134,7 @@ models/ShareLink.ts
models/ShoppingListEntry.ts
models/ShoppingListEntryBulk.ts
models/ShoppingListRecipe.ts
models/SourceImportDuplicate.ts
models/SourceImportFood.ts
models/SourceImportIngredient.ts
models/SourceImportKeyword.ts

View File

@@ -13,6 +13,13 @@
*/
import { mapValues } from '../runtime';
import type { SourceImportDuplicate } from './SourceImportDuplicate';
import {
SourceImportDuplicateFromJSON,
SourceImportDuplicateFromJSONTyped,
SourceImportDuplicateToJSON,
SourceImportDuplicateToJSONTyped,
} from './SourceImportDuplicate';
import type { SourceImportRecipe } from './SourceImportRecipe';
import {
SourceImportRecipeFromJSON,
@@ -35,10 +42,10 @@ export interface RecipeFromSourceResponse {
recipe?: SourceImportRecipe;
/**
*
* @type {Array<any>}
* @type {Array<string>}
* @memberof RecipeFromSourceResponse
*/
images?: Array<any>;
images?: Array<string>;
/**
*
* @type {boolean}
@@ -53,10 +60,10 @@ export interface RecipeFromSourceResponse {
msg?: string;
/**
*
* @type {Array<number>}
* @type {Array<SourceImportDuplicate>}
* @memberof RecipeFromSourceResponse
*/
duplicate?: Array<number>;
duplicates?: Array<SourceImportDuplicate>;
}
/**
@@ -80,7 +87,7 @@ export function RecipeFromSourceResponseFromJSONTyped(json: any, ignoreDiscrimin
'images': json['images'] == null ? undefined : json['images'],
'error': json['error'] == null ? undefined : json['error'],
'msg': json['msg'] == null ? undefined : json['msg'],
'duplicate': json['duplicate'] == null ? undefined : json['duplicate'],
'duplicates': json['duplicates'] == null ? undefined : ((json['duplicates'] as Array<any>).map(SourceImportDuplicateFromJSON)),
};
}
@@ -99,7 +106,7 @@ export function RecipeFromSourceResponseToJSONTyped(value?: RecipeFromSourceResp
'images': value['images'],
'error': value['error'],
'msg': value['msg'],
'duplicate': value['duplicate'],
'duplicates': value['duplicates'] == null ? undefined : ((value['duplicates'] as Array<any>).map(SourceImportDuplicateToJSON)),
};
}

View File

@@ -0,0 +1,74 @@
/* tslint:disable */
/* eslint-disable */
/**
* Tandoor
* Tandoor API Docs
*
* The version of the OpenAPI document: 0.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { mapValues } from '../runtime';
/**
*
* @export
* @interface SourceImportDuplicate
*/
export interface SourceImportDuplicate {
/**
*
* @type {number}
* @memberof SourceImportDuplicate
*/
id?: number;
/**
*
* @type {string}
* @memberof SourceImportDuplicate
*/
name: string;
}
/**
* Check if a given object implements the SourceImportDuplicate interface.
*/
export function instanceOfSourceImportDuplicate(value: object): value is SourceImportDuplicate {
if (!('name' in value) || value['name'] === undefined) return false;
return true;
}
export function SourceImportDuplicateFromJSON(json: any): SourceImportDuplicate {
return SourceImportDuplicateFromJSONTyped(json, false);
}
export function SourceImportDuplicateFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceImportDuplicate {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'],
};
}
export function SourceImportDuplicateToJSON(json: any): SourceImportDuplicate {
return SourceImportDuplicateToJSONTyped(json, false);
}
export function SourceImportDuplicateToJSONTyped(value?: SourceImportDuplicate | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'name': value['name'],
};
}

View File

@@ -131,6 +131,7 @@ export * from './ShareLink';
export * from './ShoppingListEntry';
export * from './ShoppingListEntryBulk';
export * from './ShoppingListRecipe';
export * from './SourceImportDuplicate';
export * from './SourceImportFood';
export * from './SourceImportIngredient';
export * from './SourceImportKeyword';

View File

@@ -28,6 +28,15 @@
</v-text-field>
<v-textarea :placeholder="$t('paste_json')"></v-textarea>
<v-alert variant="tonal" v-if="importResponse.duplicates && importResponse.duplicates.length > 0">
<v-alert-title>{{ $t('Duplicate') }}</v-alert-title>
{{ $t('DuplicateFoundInfo') }}
<v-chip-group>
<v-chip :to="{name: 'view_recipe', params: {id: r.id}}" v-for="r in importResponse.duplicates" :key="r.id"> {{ r.name }}</v-chip>
</v-chip-group>
<v-btn color="primary" class="float-right" @click="stepper = '2'">{{ $t('Continue') }}</v-btn>
</v-alert>
</v-card-text>
</v-card>
</v-stepper-window-item>
@@ -50,18 +59,47 @@
</v-stepper-window-item>
<v-stepper-window-item value="3">
<v-list>
<v-list-item border v-for="k in importResponse.recipe.keywords" :key="k" :class="{'bg-success': k.import}" @click="k.import = !k.import">
<v-list-item border v-for="k in importResponse.recipe.keywords" :key="k" :class="{'bg-success': k.importKeyword}"
@click="k.importKeyword = !k.importKeyword">
{{ k.label }}
<template #append>
<v-checkbox-btn :model-value="k.import"></v-checkbox-btn>
<v-checkbox-btn :model-value="k.importKeyword"></v-checkbox-btn>
</template>
</v-list-item>
</v-list>
</v-stepper-window-item>
<v-stepper-window-item value="4">
test4
<v-row>
<v-col class="text-center">
<v-btn-group border divided>
<v-btn prepend-icon="fa-solid fa-shuffle">Auto Sort</v-btn>
<v-btn prepend-icon="fa-solid fa-maximize">Split All</v-btn>
<v-btn prepend-icon="fa-solid fa-minimize">Merge All</v-btn>
</v-btn-group>
</v-col>
</v-row>
<v-row>
<v-col>
<v-list>
<v-list-item v-for="(s,i) in importResponse.recipe.steps" :key="i">
<v-list-item-title>
<v-chip color="primary">#{{ i + 1 }}</v-chip>
<v-btn variant="plain" size="small" class="float-right">
<v-icon icon="$settings"></v-icon>
<v-menu activator="parent">
<v-list>
<v-list-item prepend-icon="$delete">{{ $t('Delete') }}</v-list-item>
<v-list-item prepend-icon="fa-solid fa-maximize">{{ $t('Split') }}</v-list-item>
</v-list>
</v-menu>
</v-btn>
</v-list-item-title>
<v-textarea class="mt-2" v-model="s.instruction"></v-textarea>
</v-list-item>
</v-list>
</v-col>
</v-row>
</v-stepper-window-item>
<v-stepper-window-item value="5">
<v-btn @click="createRecipeFromImport()">Import</v-btn>
@@ -103,12 +141,18 @@ function loadRecipeFromUrl() {
let api = new ApiApi()
api.apiRecipeFromSourceCreate({recipeFromSource: {url: importUrl.value}}).then(r => {
importResponse.value = r
if (r.duplicates.length == 0) {
// automatically continue only if no duplicates were found
stepper.value = "2"
}
}).catch(err => {
useMessageStore().addError(ErrorMessageType.FETCH_ERROR, err)
})
}
/**
* create recipe in database
*/
function createRecipeFromImport() {
let api = new ApiApi()
console.log(importResponse.value)