Employee-Controller: beim Gelöscht-Setzen Verknüpfung in Auth-DB lösen
authorMoritz Bunkus <m.bunkus@linet.de>
Mon, 9 Nov 2020 10:19:10 +0000 (11:19 +0100)
committerMoritz Bunkus <m.bunkus@linet.de>
Mon, 9 Nov 2020 10:19:10 +0000 (11:19 +0100)
commit7e61972690cfa1f688ebd9770fcf9d100b9dfdd0
tree74ba62b2f7d9a61a83339d543b44faed0ee5aeff
parentfe18b19ff491efb6768b5ddd56f9eb1c6b1f4467
Employee-Controller: beim Gelöscht-Setzen Verknüpfung in Auth-DB lösen

Beim Anlegen von Benutzer*inen in der Auth-DB werden sie nicht
zwangsweise auch in der Mandanten-DB angelegt, z.B. wenn die in dem
Moment noch nicht existiert. Daher werden bei jedem Login in einem
Mandanten alle Benutzer*innen, die in dem Moment mit dem Mandanten
verknüpft sind, in der Mandanten-DB angelegt (falls noch nicht
existierend) und das »gelöscht«-Flag wieder entfernt.

Beim Löschen von Benutzer*innen aus dem Admin-Bereich heraus ist das
soweit auch OK, denn dann wird in der Auth-DB der Eintrag entfernt und
in der Mandanten-DB das Login auf »gelöscht« gesetzt.

Es gibt aber auch im Mandantenbereich einen Controller zum Bearbeiten
von Benutzer*innen, in dem das »gelöscht«-Flag gesetzt werden
kann. Und hier wurde bisher nur die Mandanten-DB angefasst, nicht aber
die Auth-DB. Wenn also hier ein(e) Benutzer*in auf »gelöscht« gesetzt
wird, so wurde beim nächsten Login in den Mandanten in der Auth-DB
nachgesehen, dort war der Account noch verknüpft, also wurde das
»gelöscht«-Flag wieder entfernt.

Fix ist, dass nun auch in der Auth-DB die Verknüpfung des Accounts mit
dem Mandanten entfernt wird. Der Account wird in der Auth-DB aber
nicht gelöscht, weil er ja auch noch auf andere Mandanten Zugriff
haben könnte.

Fix für #97.
SL/Controller/Employee.pm