20120123¶
Fehlerjagd vor dem Release.
Der [Upload]-Button von
quick_upload_buttons
enthielt fehlerhaften Code:<a href='javascript:Lino.uploads.UploadsByOwner.insert({ "base_params": { "mt": 18, "type": 2, "mk": 200007 } },{ "data_record": { "phantom": true, "data": { "valid_until": null, "description": "", "created": null, "userHidden": 200067, "modified": null, "typeHidden": 2, "user": "lsaffre", "file": "", "owner": "<a href=\"javascript:Lino.dsbe.AllPersons.detail(undefined,{},{record_id:200007})\">MUSTERMANN Max (200007)</a>", "type": "Aufenthaltserlaubnis", "id": null }, "title": "Uploads von MUSTERMANN Max (200007)" } })'>Upload</a>
Der erste Parameter, caller fehlte. Außerdem habe ich Ticket docs/tickets/56 eröffnet.
Beim Ausdruck der contacts/Person/eid-content.odt (eID-Inhalt) kamen zwei Fehler:
“Error while evaluating expression “self.card_type_text()”. card_type_text() takes exactly 2 arguments (1 given)” –>
self.card_type_text()
wurde ersetzt durchself.card_type
.Error while evaluating expression “self.sex”. ‘Person’ object has no attribute ‘sex’
Person.card_type ist jetzt auch endlich eine ChoiceList namens
lino.apps.dsbe.models.BeIdCardTypes
. Folglich müssen diese Texte nun auch via poEdit übersetzt werden.Der Trick mit dem base_queryset, das in der Tabelle gespeichert wird, scheint nun ein Caching-Problem hervorzurufen. War einfach reproduzierbar, indem ich in einer Listenansicht einen Record erstellte. Anschließend wurde dieser Record erst nach einem Server-Neustart sichtbar. Seltsam, dass das nicht schon immer so war. Ich deaktiviere das ganze System, zumal ich nie nachgeprüft habe, ob das überhaupt was bringt. Kann auch sein, dass es bisher nur deshalb keinen Schaden anrichtete, weil es gar nicht funktionierte…
CalendarPanel machte “Uncaught TypeError: Cannot call method ‘getTime’ of null”. restful_view schickt jetzt für ein GET der Liste niemals einen Phantom-Record mit.
New utility class
lino.utils.Cycler
used inlino.apps.dsbe.fixtures.demo
.lino.tools.resolve_field()
now returns anlino.tools.UnresolvedField
Die Aktion
Eintragen
in der Tabelle derKandidaten pro Kurs
machte kein Refresh des Fensters. Das waren zwei Stunden Arbeit mit containing_window und containing_panel.Einige Übersetzungen der labels von .dtl-Dateien waren verschwunden. Kann sein, dass ich die .dtl.py-Dateien irgendwann mal gelöscht hatte und make appdocs vor dem letzten make mm nicht habe laufen lassen.
Und make appdocs funktionierte übrigens nicht:
File "t:\hgwork\lino\lino\apps\dsbe\models.py", line 1107, in setup_columns for pg in PersonGroup.objects.filter(ref_name__isnull=False).order_by('ref_name'): ... django.db.utils.DatabaseError: no such table: dsbe_persongroup
Das Detail-Fenster von User holte sich jetzt auch die .dtl-Dateien von Person. Das kam, weil
lino.modlib.contacts.models.PersonMixin
nur Person hieß.
Und dann habe ich in letzter Minute noch mögliche Performance-Probleme festgestellt. Schade! Aber es ist jetzt 23.30 Uhr, ich habe 8 Stunden intensive Fehlerjagd hinter mir… jetzt gehe ich erstmal schlafen, und morgen schaue ich mir die Sachen genauer an.
TODO: Lino.FormPanel sollte sein loadMask aktivieren (Meldung “Bitte warten”), wenn er speichert. Das ist nämlich vor allem bei aktiven Feldern (z.B. Eingabe einer Art60-7-Konvention) lästig.