Tuesday, February 28, 2017

An urgent upgrade for Roger

I finished two urgent tickets #780 and #1428 and then deployed to Die Eiche. #780 required a few new user role definitions. #1428 required a new virtual field trying on a course.

After upgrading on the server Lino reported Exception: <class 'lino_voga.lib.trading.models.InvoiceItem'> has bleached fields but `bleach is not installed.`. Oops, aha, so lino.utils.bleached is being used in Lino Voga, I had forgotten that. Maybe we would have done more testing if we had known that. But don’t worry, they almost never write anything themselves in the descriptions of their invoice items.

Of course I had to update bleach as described on Saturday, February 25, 2017,

And then I still had the problem under Apache and not when running on the command line:

$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bleach

This was caused by a missing python-path spec in their WSGIDaemonProcess directive.

I did a few optimization for #1513 in lino.core.auth: The user message should state clearly that authentication is failing because the IP has been blacklisted. Unfortunately this is not trivial, so I abandoned for today. At least users now get an “Ajax communication failed”, and Lino logs a PermissionDenied when it happens.

Writing service reports in Lino Noi

The idea of #1526 is that we can throw away what we currently call service reports, and then we implement them correctly using Invoiceable.

First code changes are in a branch named invoiceable_clocking_Session.

It also caused a few optimizations in Lino Così.

A review of authenticate

Tonis and I had a hangout where we accidentally started to write a new plugin lino.modlib.ipdict.