Closed gysimichael closed 6 months ago
@gysimichael Der Bugfix ist auf dem dev
zum Testen bereit. Ich konnte den Bug immer reproduzieren indem ich zuerst eine neue Id erfasse & dann eine bestehende bearbeite & speichere. Dies hat immer dazu geführt, dass die bestehende Id gelöscht wird. Dies sollte nun nicht mehr passieren.
From PR: Resolves https://github.com/swisstopo/swissgeol-assets-suite/issues/33.
The bug can reproduced simply by adding a new alternative id, and then editing + saving an existing one. This will cause the id that is being edited to be removed from the form.
Cause: The fields used to create/edit an alternative id are in a standalone form (i.e. it's not part of the big form that controls the entire asset view). Instead, it's a small form that is "manually" synced back to the big form via observables. This is quite an opaque task with a lot of corner cases. In this case, a subscriber that syncs the two forms was triggered after saving the existing id, but before resetting the small form back to a non-edit state. This caused the subscriber to perceive the id as being "new", and the form as "cancelled", which is why it removes the "cancelled" id.
Solution: Reorder the state updates so that the subscriber is executed only after the form has been fully reset.
Auf dev getestet: neu erstellte oder bearbeitete Alternativ-ID's lassen sich direkt über "Speichern" bei ID's speichern und werden nicht mehr gelöscht. Vor Verlassen des Edit-Mode muss zum definitiven Speichern der Änderungen noch im Reiter "Administration" gespeichert werden, was dem normalen Vorgehen entspricht. Sonst erscheint die Warnmeldung vor dem Verlassen des Edit-Mode.
Das Problem scheint somit gelöst zu sein und ich verschiebe den Issue auf Done!
Bei der Erfassung von mehreren Alternativ-ID's über "Neue Alternativ-ID hinzufügen" (Edit-Mode, Tab "Allgemein") kann es vorkommen, dass die neu eingegebenen Angaben beim Speichern verloren gehen / nicht gespeichert werden (Speichern über Tab "Administration").
Dies insbesondere, wenn mehrere Alternativ-ID's ohne jeweilige Zwischenspeicherung zugefügt oder bestehende bearbeitet werden (über die 3 senkrecht angeordneten Punkte, Speichern direkt bei der Bearbeitung im Tab "Allgemein").
Die Verwaltung der Alternativ-ID's scheint allgemein noch etwas fehleranfällig und instabil zu sein.
Acceptance criteria