X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Fcsv-import-from-shell.sh;h=94e44355d4582069808409dbe3de7376e2ea106e;hb=bfa674c9d4edc551afa6e27aac6f684a7b8cb656;hp=cf99deffa2777fa6f6231d37e30689d3387040ec;hpb=0354374c1b8a2b6189cb83231ea02cac61aaaea0;p=kivitendo-erp.git diff --git a/scripts/csv-import-from-shell.sh b/scripts/csv-import-from-shell.sh old mode 100644 new mode 100755 index cf99deffa..94e44355d --- a/scripts/csv-import-from-shell.sh +++ b/scripts/csv-import-from-shell.sh @@ -14,6 +14,7 @@ # ---- Logindaten und URL anpassen: ---- login=MyLxOfficeUserName password=MySecretPassword +client_id=ClientDatabaseID url='https://localhost/kivitendo-erp/controller.pl' function fail { @@ -52,7 +53,10 @@ function do_curl { # "UTF-8". # "settings.duplicates": Doublettencheck; "no_check", "check_csv", - # "check_db" + # "check_db". Falls angestellt wird, werden weitere Einstellungen + # "settings.duplicates_....=1" benötigt, die vom Programm logisch + # mit "und" verknüpft werden. Diese Einstellungen sind für jeden + # Typ weiter unten beschrieben. # Parameter für Artikel: @@ -62,7 +66,7 @@ function do_curl { # "settings.apply_buchungsgruppe": Buchungsgruppe wo anwenden: # "never", "all", "missing" - # "settings.parts_type": Artikeltyp: "part", "service", "mixed" + # "settings.part_type": Artikeltyp: "part", "service", "mixed" # "settings.article_number_policy": Artikel mit existierender # Artikelnummer: "update_prices", "insert_new" @@ -78,17 +82,50 @@ function do_curl { # "settings.shoparticle_if_missing": Shopartikel setzen falls # fehlt: "1", "0" + # "settings.duplicates_partnumber=1": Doublettencheck nach + # Artikelnummer (nur, wenn "settings.duplicates" auch gesetzt + # ist). + + # "settings.duplicates_description=1": Doublettencheck nach + # Artikelnummer (nur, wenn "settings.duplicates" auch gesetzt + # ist). + # Parameter für Kunden/Lieferanten: # "settings.table": Zieltabelle: "customer", "vendor" - # Parameter für Ansprechpartner: - # Nur die Standard-Parameter von oben + # "settings.duplicates_name=1": Doublettencheck nach + # Kunden-/Lieferantennamen (nur, wenn "settings.duplicates" auch + # gesetzt ist). + + # Parameter für Ansprechperson: + + # "settings.duplicates_cp_name=1": Doublettencheck nach Namen der + # Ansprechperson (nur, wenn "settings.duplicates" auch gesetzt + # ist). # Parameter für Lieferanschriten: # Nur die Standard-Parameter von oben + # Parameter für Projekte: + + # "settings.duplicates_projectnumber=1": Doublettencheck nach + # Projektnummer (nur, wenn "settings.duplicates" auch gesetzt + # ist). + + # Spaltenzuordnungen für Benutzerdefinierte Variablen: + # Beispiel (Achtung, die Reihenfolge ist wichtig): + + # "mappings[+].from=vm_product_length" + # "mappings[].to=cvar_vm_product_length" + # "mappings[+].from=vm_product_width" + # "mappings[].to=cvar_vm_product_width" + # "mappings[+].from=vm_product_height" + # "mappings[].to=cvar_vm_product_height" + curl \ + -X 'POST' \ + -H 'Content-Type:multipart/form-data' \ --silent --insecure \ -F 'action=CsvImport/dispatch' \ -F "${action}=1" \ @@ -102,13 +139,14 @@ function do_curl { -F 'settings.default_buchungsgruppe=395' \ -F 'settings.duplicates=no_check' \ -F 'settings.numberformat=1.000,00' \ - -F 'settings.parts_type=part' \ + -F 'settings.part_type=part' \ -F 'settings.sellprice_adjustment=0' \ -F 'settings.sellprice_adjustment_type=percent' \ -F 'settings.sellprice_places=2' \ -F 'settings.shoparticle_if_missing=0' \ -F "{AUTH}login=${login}" \ -F "{AUTH}password=${password}" \ + -F "{AUTH}client_id=${client_id}" \ -F "file=@${file}" \ ${url} } @@ -116,10 +154,10 @@ function do_curl { tmpf=$(mktemp) do_curl 'action_test' > $tmpf -if grep -q -i 'es wurden.*objekte gefunden, von denen.*' $tmpf; then +if grep -q -i 'Ihr Import wird verarbeitet' $tmpf; then rm $tmpf do_curl 'action_import' > $tmpf - if grep -i 'von.*objekten wurden importiert' $tmpf ; then + if grep -i 'Ihr Import wird verarbeitet' $tmpf ; then rm $tmpf else echo "Import schlug fehl. Ausgabe befindet sich in ${tmpf}"