Thursday, November 22, 2018

I continue to work at full speed for Lino Tera.

Oops, when opening the detail of a client with topics, I had a ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters. This happened because I passed something else than a string as second argument to obj2html (in lino_xl.lib.topics):

@classmethod
def summary_row(cls, ar, obj, **kwargs):
    if ar is None:
        yield six.text_type(obj.topic)
    else:
        yield ar.obj2html(obj, six.text_type(obj.topic))

I had to adapt the test suites after my changes. Travis helped me https://travis-ci.org/lino-framework/book/jobs/458143717

They had a series of data problems of style “Movement 731 1/2018.3 : account_id 193 != 235”. These were false alarms because the checker did:

for em in obj.movement_set.all():

instead of:

for em in obj.movement_set.order_by('seqno'):

Changes in the ledger.AccountDetail layout of Lino Tera.