20130717 (Wednesday, 17 July 2013)¶
Update your get_installed_plugins
¶
After yesterday’s changes, some tests were failing
because lino.ui
is no longer automatically being
yielded by lino.ui.Site.get_installed_plugins()
.
This change was necessary because otherwise it was impossible
to override the “ui” app
(and lino_welfare
now does exactly that).
This forced me to tidy up a few things.
I decided that lino.ui
is no longer an app.
The models SiteConfig, HelpText and TextFieldTemplate
and some system fixtures and tests
are now defined in a new module lino.modlib.system
.
References to these models have now the app_label “system” and no longer “ui”.
The lino.ui
module remains, but it is no longer a Django app.
It is an important core module.
lino.ui.Site
is the base for all Lino Site classes.
The separation between lino.Site
and
lino.ui.Site
is currently not important.
It exists theoretically in case one day somebody comes who wants
Lino, but wants to write her own user interface.
Existing Lino applications must add lino.modlib.system
to the list of apps yielded by
lino.ui.Site.get_installed_plugins()
.
More detailed instructions in https://www.lino-framework.org/changes.html.
Klientengespräche und Gäste in Lino-Welfare (weiter)¶
So. Nachdem wir die oben beschriebenen “kleinen technischen Details” geregelt haben, können wir weitermachen mit dem Empfangsmodul bzw. den Neuerungen im Kalendermodul.
welfare.cal.Calendar
hat jetzt ein neues Feld
invite_client, welches für Klientengespräche angekreuzt ist
(zumindest in der Demo-Datenbank. Produktionsdaten nach Release manuell
anpassen).
Die Demo-Termine hatten keinen Klienten. Jetzt wohl.
Die Tabelle der Gäste eines Termins hat jetzt ein Detail-Layout.
CreateMail didn’t work.
New setting lino.ui.Site.demo_email
used by
lino.modlib.system.fixtures.demo
and
lino_welfare.fixtures.demo
Lino-Welfare has two new SiteConfig fields client_guestrole and team_guestrole.
In der Demo-Datenbank gibt es jetzt sinnvolere Gastrollen. “Reiseführer” und “Teilnehmer” sind raus. Neue Rollen sind “Besucher” und “Kollege”. Von der Gastrolle hängt die Formulierung der Einladung ab.
TODO: Templates “Visitor.eml.html” und “Colleague.eml.html”
jinja_templates directories versus config directories¶
Until now, all Jinja templates were in
jinja_templates directories
while “config files”
(such as .odt templates for lino.mixins.printable
)
were in config directories.
Now these trees are merged:
existing applications must rename each jinja_templates directory
to config
(or, if a sibling config directory already exists,
merge the jinja_templates content to content).
These directory trees work like Django’s templates loading algorithm but with subtle differences, the biggerst one being that you can have “per-setting” and “local” config trees.
For both types of files Lino has a separate algorithm to load these
trees at startup.
These algorithms are in lino.core.web
for Jinja templates and in
lino.utils.config
for config files directories.