DigiTrace / AM-System

Asservaten-Management System via Symfony 5
GNU General Public License v3.0
1 stars 0 forks source link

Vernichtete Objekte lassen sich nicht mehr bearbeiten #11

Open EinType opened 3 years ago

EinType commented 3 years ago

Ein vernichtetes Objekt lässt sich nicht mehr verändern, es behält den Zustand wie zur Vernichtung. Das bedeutet insbesondere auch: Falls es zum Zeitpunkt der Vernichtung noch in einem Behälter eingelagert war, bleibt das Objekt dauerhaft in diesem Behälter.

Mögliche Lösung wäre das Entfernen des Objekts aus dem Behälter, wobei diese Lösung nicht alle Anforderungen erfüllt

benbro01 commented 1 week ago

@EinType Wie wäre es mit einer Checkbox mit "aus Behälter entfernen", welche standardmäßig checked ist? Die könnte man dann in der "alter object" ansicht einbauen, bevor man ein Objekt vernichtet

shaaati commented 1 week ago

Klasse wäre auch eine Möglichkeit, dass der Admin weiterhin Editierungen vornehmen kann. Ich weiß nicht, wie gut sich das ins aktuelle Rechtemodell einfügt.

EinType commented 1 week ago

Klasse wäre auch eine Möglichkeit, dass der Admin weiterhin Editierungen vornehmen kann. Ich weiß nicht, wie gut sich das ins aktuelle Rechtemodell einfügt.

Anstelle eines Overrides der bestehenden Regeln, wäre hier vllt etwas allgemeiner zu überlegen, wie man grundsätzlich mit Aktionen vorgeht, welche permanente Konsequenzen eines Objektes verursachen. Soweit mir bekannt, stellen die Statusarten "Zerstört" und "Verloren" aktuell die einzigen permamenten Aktionen dar, wo am Ende das Objekt nicht mehr zugreifbar ist/bzw. sein sollte. Letzte würde ich mittlerweile nicht mehr als permanent ansehen, weil gegebenenfalls ein Datenträger nach Jahren wiedergefunden werden könnte, was aktuell nicht abbildbar ist.

Zur Zerstörung selbst gehe ich allerdings weiter davon aus, dass die Richtung in Ordnung ist, allerdings die Lagerung im Behälter ungünstig ist. Hierbei kann es Fälle geben, wo ein Nutzer dokumentieren möchte, dass tatsächlich die reste eines Objekts noch aktiv vorgehalten werden (Beispiel bis zur Datenträgerentsorgung). Jedoch ist bei der Implementierung dieses Status der intendierte Zweck gewesen, dass das jeweilige Objekt nicht mehr exisitiert.

Ich würde aktuell ungern die Alter Object Form nehmen, da diese nahezu für alle Arten von Veränderungen eines Objektes verwendet wird. Möglicherweise könnte man überlegen, ein dediziertes Formular zu zu erstellen.

Wenn wir allerdings das "simpel" halten wollen, besteht die Möglichkeit, eine Variation der "neutralisieren" funktionalität zu implementieren. Diese Aktion ist "virtuell" (es gibt in der Datenbank keine dedizierte Statusid zu) und entfernt das entsprechende Objekt aus dem Fall, aus dem Behälter und nullt es, sofern dies notwendig ist. Angepasst auf diesen use case, könnten wir das Entnehmen aus dem Behälter umsetzen, wenn eine Zerstörung durchgeführt wird, sollte das Objekt sich in einem Behälter befinden.

benbro01 commented 4 days ago

@EinType vllt wäre es grundsätzlich praktisch eine Version der "alter object form" zu haben, die ein gewissen Grad an customizing erlaubt. Dies ist sicher auch für andere Dinge praktisch