Sunday, May 16, 2021¶
The file__thumbnail
in FileUsage.detail_layout
doesn’t seem to
work. Why?
Sharif submitted a solution, and this solution didn’t cause any test cases to break. But it would have caused a problem with a remote field to a virtual ForeignKey. I was afraid that there are uncovered cases where his change would break things. So I started to dig into it: Using remote virtual fields in a detail view. Result: yes, we do have remote fields to virtual ForeignKey fields, but until now we did never use them in any detail window. And the issue occurred only there. I verified also for Lino Welfare (added a list of all remote virtual fields in The Lino Welfare “Eupen” variant)
Minor internal changes:
lino.core.store.StoreField.value2dict()
now takes the field name as an
argument. The reason for this is a hack in
lino.core.store.create_atomizer()
where we create a StoreField instance
based on the leaf field and then patch some methods of it. A StoreField
actually doesn’t know its name. (TODO: shouldn’t we remove the StoreField.name
attribute altogether?)
I wrote a new utility function lino.api.doctest.walk_store_fields()
.
I thought “Oops, the actors users.My
, ledger.ItemsByVoucher
,
ledger.ByJournal
, ledger.PrintableByJournal
and
sheets.EntriesByReport
were not declared as abstract”.
But that was a pitfall. They don’t need to be explicitly declared abstract
because Lino knows it: They are subclasses of DbTable having their model
at None. I had forgotten the Actor.is_abstract()
method. The problem
was that lino.api.doctest.walk_store_fields()
filtered on
Actor.abstract
instead of calling Actor.is_abstract()
.
lino.utils.diag.Analyzer.get_complexity_factors()
now uses
Actor.is_abstract()