Friday, July 27, 2018

I did some optimizations in lino_xl.lib.ana for Lino Tera: #2454, #2455 and #2456.

Some of them are in the linoweb.js file, so there is no test suite to cover them. That’s why I did a relase on Jane and a Lino Amici production site so that any bugs would go to these as well. That’s called “testing by end-users”. In general our end-users manage quite well with this philosophy (with some exceptions), and it’s so much cheaper.

I also did a release for Lino Welfare (mostly for #2382 daily calendar planner). During the restore.py I had problems of style Event lasts 140 days but only 1 are allowed which lead to Abandoning with 297 unsaved instances. Without verifying I guess that most of these calendar entries are actually single day and that users forget to look at the end_date when moving an appointment to another date in the calendar. Or maybe they changed the max_days of some event type to 1. Theoretically I could have run a checkdata before doing the upgrade, so that lino_xl.lib.cal.LongEntryChecker would have fixed them.

To have Lino fix it now during restore, I updated Event.full_clean() so that it now sets the end_date to None on every entry whose type has a max_days value of 1 (instead of raing a ValidationError). I think we should even to leave this behaviour for good.

I started a new page of the Developers Guide: Disabling individual fields.