20100803¶
5.30 Uhr¶
Done:
Bei prev/next im Detail wurden die Slavegrids nicht aktualisiert.
Das war mal wieder ein Problem wegen this
.
Für mich als JavaScript-Anfänger und langjähriger Python-Liebhaber ist das this
sehr gewöhnungsbedürftig…
Weiter mit:
disabled_fields auch in der Grid sperren
Das beforeedit-Event wird zwar jetzt korrekt aufgerufen, aber die Records der Grid haben noch kein Attribut disabled_fields.
Also muss ich in ViewReportRequest.row2dict() ein Level mehr produzieren (dict(data=das_was_bisher_war,disabled_fields=[])
) und dann aber auch den http://www.sencha.com/deploy/dev/docs/?class=Ext.data.JsonStore entsprechend anpasse. Hm, das sieht nicht leicht aus…
Jedenfalls muss disabled_fields pro Record und vom Server ermittelt werden.
24 Uhr¶
Ha! Die Erleuchtung (nach einem Tag des Grübelns): nicht wie ich mir das heute morgen dachte, sondern einfach im Store ein Pseudo-Datenfeld ‘disabled_fields’ definieren. Dazu brauchen wir eine eigene Klasse lino.ui.extjsw.ext_store.DisabledFieldsStoreField
, die eine ganz neue Art von lino.ui.extjsw.ext_store.StoreField
ist, weil sie keinem existierenden django.db.models.Field entspricht. Deshalb darf man bis auf weiteres in keinem Model ein echtes Datenbankfeld mit dem Namen ‘disabled_fields’ definieren. Falls das mal stören sollte, muss ich den verwendeten Namen z.B. nach ‘_disabled_fields’ ändern.
Nebenbei: lino.ui.extjsu
kann jetzt weg. Und lino.ui.extjsw
heißt jetzt wieder lino.ui.extjs
.