KIX - Forum

Community => Fragen | Konfiguration | Hilfe => Thema gestartet von: Marvin G. - FZJ am 01.06.2022 15:03:13

Titel: Organisationen automatisch importieren
Beitrag von: Marvin G. - FZJ am 01.06.2022 15:03:13
Hallo,


über das Webinterface habe ich die Möglichkeit, eine csv-Liste mit Organisationen zu importieren. Hierbei werden noch nicht vorhandene Organisationen neu angelegt und bereits vorhandene angepasst. 
Habe ich die Möglichkeit, per API die Organisationen zu importieren? Ich kann zwar per API einzelne Organisationen anlegen oder einzelne Updaten, einfacher wäre es aber, wenn ich wie beim Import einfach meine Liste mitgeben könnte und dann selbst angelegt/upgedatet wird, je nachdem ob die Organisation schon da ist oder nicht. Aktuell müsste ich immer prüfen, gibt es eine Organisation XY schon, wenn ja muss ich mit der ID ein PATCH machen und wenn nein ein POST. Das ist ziemlich aufwendig, wenn ich dies regelmäßig mit einer Liste der aktuellen Organisationen machen möchte.


Vielen Dank 
Marvin
Titel: Re: Organisationen automatisch importieren
Beitrag von: mplan am 01.06.2022 15:49:26
Hallo,
Es gibt dafür das Script kix18.CSVSync.pl (https://github.com/cape-it/kix18sync#sync-from-csv-file---kix18csvsyncpl).
Damit kann man auch Organisationen importieren.

Viele Grüße,
Michael


Titel: Re: Organisationen automatisch importieren
Beitrag von: Marvin G. - FZJ am 01.06.2022 16:32:21
Hey Michael, 


ah perfekt. Damit klappt es wunderbar, danke. Das hatte ich gar nicht auf dem Schirm. 


Viele Grüße 
Marvin
Titel: Re: Organisationen automatisch importieren
Beitrag von: Marvin G. - FZJ am 01.06.2022 17:30:22
Hey Michael,


ich habe doch noch ein kleines Problem. Ich würde hierüber auch gerne Organisationen auf invalid setzen.


Ich habe mir das Script mal angeschaut:


my $ValidId = 1;
if( $Config{'Org.ColIndex.ValidID'} =~/^SET\:(.+)/) {
  $ValidId = $1;
}
else {
  $ValidId = $CurrLine->[$Config{'Org.ColIndex.ValidID'}];
}


# get fixed organization attributes..
my %Organization = (
    City            => $CurrLine->[$Config{'Org.ColIndex.City'}],
    Number   => $CurrLine->[$Config{'Org.ColIndex.Number'}],
    Name     => $CurrLine->[$Config{'Org.ColIndex.Name'}],
    Comment  => $CurrLine->[$Config{'Org.ColIndex.Comment'}],
    Street   => $CurrLine->[$Config{'Org.ColIndex.Street'}],
    City     => $CurrLine->[$Config{'Org.ColIndex.City'}],
    Zip      => $CurrLine->[$Config{'Org.ColIndex.Zip'}],
    Country  => $CurrLine->[$Config{'Org.ColIndex.Country'}],
    Url      => $CurrLine->[$Config{'Org.ColIndex.Url'}],
    ValidID  => $ValidId,
);



So wie ich das verstehe, sollte er doch die Organisation Invalid setzen, wenn ich entweder SET:0 oder 0 in die Spalte schreibe, oder nicht? Das will er bei mir nicht so wirklich übernehmen, weder mit dem einen, noch mit dem anderen.


Viele Grüße 
Marvin

Titel: Re: Organisationen automatisch importieren
Beitrag von: mplan am 02.06.2022 16:37:25
Hi Marvin,
bin jetzt kein großer Perl Experte ...
Nach dem Script müsste aus der Config die Zeile 
   Org.ColIndex.ValidID           = "SET:1"
ausgewertet werden und wenn der Wert mit "SET" beginnt, der Variablen ValidId zugewiesen werden.
Wird kein "SET" gefunden, wird der Wert aus der Konfig-Datei übernommen.
Es sollte also mit "SET:0" funktionieren, die Organisation "Ungültig  zu setzen".

Man könnte mal ein "print STDOUT ..." Statement dort hineinsetzen, um zu sehen, was für ein Wert geprüft wird und welchen Wert dann $ValidId nach der if-else hat.

Viele Grüße,
Michael


Titel: Re: Organisationen automatisch importieren
Beitrag von: Torsten Thau am 06.06.2022 19:52:08
Hallo,

die ValidIDs lauten wie folgt


kix=# SELECT id, name FROM valid;
id |        name
----+---------------------
  1 | valid
  2 | invalid
  3 | invalid-temporarily
(3 rows)
kix=#


...wenn Du also "SET:2" machst, sollte es ein ungültiger Eintrag werden.

CU, Torsten
Titel: Re: Organisationen automatisch importieren
Beitrag von: mplan am 08.06.2022 17:08:25
Danke, Thorsten

An die Nummerierung der Valid Zustände/Prüfung über die Tabelle hatte ich gar nicht weiter gedacht. Super!

Viele Grüße,
Michael
Titel: Re: Organisationen automatisch importieren
Beitrag von: Marvin G. - FZJ am 20.06.2022 08:32:06
Morgen, 


so einfach gehts, vielen Dank Torsten für den Hinweis mit der 2. 


Viele Grüße 
Marvin