Thursday, June 19, 2014

New Site attribute confdirs

I noticed a bug which had been living for some time: the internal list of config directories had duplicate entries.

I changed the lino.utils.config module to not use global variables because I thought that this might be the reason. It wasn’t the reason, but has the advantage of removing one pitfall: until now it was not allowed to import this module at the global level of a models module because importing it will fill the config dirs, i.e. will try to import every installed models module. That’s why we have the new Site attribute lino.core.site.Site.confdirs

The true reason was a bug in lino.core.site.Site.for_each_app().

Editing print templates

lino.mixins.printable.EditTemplate did not yet manage the problem of library templates. The local system manager had to dedide for every library template whether it should be editable locally by copying the file manually to the local config directory. This is now done in a user-friendly way through the web interface.

When using lino.modlib.excerpts, the body_template is often more important than the main template. This template is now also editable through the web interface: New virtual field body_template_content on any excerpt.

Working on system notes

The dd.Model.get_system_note_recipients() actions for welfare.pcsw.Client and welfare.pcsw.Coaching gave invalid recipient addresses for coaches with empty email address. These are now silently ignored.