20101012¶
Detail layouts now stored in *.dtl
files¶
Wow: Layout definitions for Detail panels are now stored in individual text files named app_name.model_name.*dtl.
These are the logical equivalent of *.msk
files in TIM.
They are stored in a config subdir of each Django application (INSTALLED_APPS
)
and automatically discovered and loaded at server startup.
Report.reset_details and Report.add_detail no longer exist; detail layouts are never defined in source code anymore.
New function lino.modlib.tools.find_config_files()
.
Also converted modules lino.modlib.projects
, lino.modlib.products
, lino.modlib.trading
used by igen and lino.demo.
Other changes¶
New Report
notes.NotesByType
is used innotes.NoteType.dtl
Neues Feld
notes.NoteType.remark
Meldung “Cannot show detail of phantom record.” wenn man auf der Phantom-Zeile Detail klickt.
There was a “Maximum recursion limit” when using the following Detail Layout for notes.NoteType:
main = id name print_method template remark notes.NotesByType
Solved by removing the “reorganisation into element groups” in
lino.ui.extjs.ext_elems.Panel
.Committed Lino revision 1161 and DSBE 166
Layout editor now works again, and files are never written to the source directories, always to DATA_DIR/config. New class
lino.modlib.tools.ConfigDir
.Layout editor has now basic error handling: if the user-submitted description causes some error, the file is not saved and the user get the error message in the console.
Wenn ein Detail- oder Insert-Fenster nur einen Tab hat, dann wird dessen Titel (“Detail”) jetzt nicht mehr angezeigt.
Quickfilter im Detail von Personen geht wieder. Wenn durch meinen Filter der Record, auf dem ich gerade stand, verschwindet, springt er auf den ersten sichtbaren Record.
Felder mit Id-Kartennummer und -Gültigkeit sind jetzt disabled für importierte Partner:
dsbe.Person.card_number
,dsbe.Person.card_valid_from
,dsbe.Person.card_valid_until
NoteTypes wurden in
dsbe.management.commands.initdb_tim
nicht gelöscht (weil ‘notes’ beim reset nicht in der Liste der Anwendungen war) und außerdem wurde ungefähr jede Notizart doppelt angelegt.Performance : In Report.queryset wird jetzt beim ersten Request ein queryset instanziert, das dann für alle späteren Requests als Vorlage dient. Kann sein, dass Django dadurch schneller ist.
Release¶
Released https://www.lino-framework.org/releases/2010/1012.html