Zum Inhalt springen

Datensatz als "in Bearbeitung" sperren

Erstellt am 9. Januar 2007 · 1 Antwort · letzte Antwort am 9. Januar 2007

Tags: Frage

Nick78 ·

hallo,

in meinem fe-plugin kann ich über ein auswahlmenü auf versch. datensätze zugreifen. ein klick auf submit öffnet ein formular mit den werten des gewählten datensatzes und erlaubt die änderung und erneute speicherung.

sobald ein solcher datensatz gewählt ist, soll er für andere user gesperrt sein. ich habe dies zunächst von hand programmiert. d.h.
jedesmal wenn ein datensatz geladen wird, wird in der db ein attribut "active" auf 1 gesetzt. greift ein anderer user auf den datensatz zu und aktiv ist 1, dann bekommt er ne entsprechende meldung. durch speichern des datensatzes über submit wird active wieder auf 0 gesetzt.

so weit so gut. nur es gibt folgende probleme:

user wählt datensatz => active=1. user schließt fenster oder browser oder geht auf einen anderen link ohne auf submit zu drücken. => active bleibt 1 und niemand kann mehr darauf zugreifen.
habe schon mit onUnload herumgefrickelt, aber das hat nicht so richtig hingehauen.

habe ich in typo die möglichkeit abzufragen, ob ein fe-plugin verlassen wird? wenn ja, soll genau in diesem moment ein db-update gemacht und active=0 gesetzt werden.

ne unschöne alternative wäre es, active für alle datensätze wieder auf 0 zu setzen, wenn niemand eingeloggt ist. aber es loggt sich ja auch nicht jeder brav aus, sondern macht einfach den browser zu o.ä., so dass man nicht genau im moment des ausloggens das db-update hätte machen können.

hat jmd eine idee, mache mir seit stunden einen knoten ins hirn.

vielen dank,
nick...