rowe42 / lhm_animad_admin_html5

0 stars 6 forks source link

Hinzufügen von OneToMany-Relationen verhindern, wenn Entität bereits in Relation #269

Closed rowe42 closed 6 years ago

rowe42 commented 6 years ago

Wenn man heute bspw. bei einer Enclosure ein Animal hinzufügt, das bereits zu einem anderen Enclosure hinzugefügt wurde, bekommt man eine Fehlermeldung im Backend. Diese kommt zudem im Frontend so generisch an, dass man die Fehlermeldung als Nutzer nicht versteht.

Wir haben aber in der Diskussion herausgearbeitet, dass man es gar nicht so weit kommen lassen sollte, dass man so ein bereits verwendetes Animal hinzufügen kann. Es sollte beim hinzufügen eine Fehlermeldung kommen.

@xdoo @ejcsid @Baumfrosch @dragonfly28

rowe42 commented 6 years ago

Pull Request #270 hierfür erstellt.

dragonfly28 commented 6 years ago

Bei Gehege<->Tier funktioniert es korrekt: 1.) ein bereits zugeordnetes Tier kann einem Gehege nicht ein zweites Mal zugeordnet werden 2.) ein dem Gehege A zugeordnetes Tier kann nicht mehr zu Gehege B zugeordnet werden

Dabei ist mir allerdings noch folgendes aufgefallen: 1.) Bei den Tieren funktioniert das anders - da kann ich mehrmals den gleichen Wärter fürs selbe Tier angeben; die Relation ist aber ManyToMany, was heissen sollte, dass ein Wärter mehrere Tiere bzw. ein Tier mehrere Wärter haben darf. Falsch ist hier aber, wenn ein Tier denselben Wärter mehrfach hat... grafik 2.) Das Anlegen eines neuen Geheges/Tiers über das 'Create formular' erfordert zwingend die Eingabe einer Tier/Wärter-Relation - ist das so gewollt oder müsste man die Entitäten im ersten Schritt nicht einfach auch ohne Relation anlegen können? grafik

rowe42 commented 6 years ago

Danke für dein Review.

Zu 1) Ja, du hast recht. Fachlich ist es Unsinn, dass man den selben Wärter mehrfach hinzufügen kann. Allerdings ist es technisch im Backend durchaus möglich. Und der Hauptgrund war ja, dass man im Frontend nicht etwas eingeben kann, was das Backend dann nicht verträgt. Ich würde das also jetzt nicht unbedingt als Bug, sondern eher als mögliches Enhancement verstehen zu prüfen, ob der Wärter an diesem Tier schon dranhängt.

Zu 2) Ein Gehege ohne Tier bzw. ein Tier ohne Wärter lässt sich im Backend nicht speichern. Ergo muss man das auch im Frontend so fordern. Sehe ich also als gewollt.

Vorschlag: Magst du den PR erstmal nach Master übernehmen und vielleicht ein neues "Enhancement"-Issue für den "doppelten Wärter" erstellen?

Danke!

dragonfly28 commented 6 years ago

geschlossen mit PR #270