Friday, August 28, 2015¶
Discovered and fixed #467.
Received and fixed #471. This was simply a custom
on_duplicate
method for
UserAuthored
.
En passant also a little API change: The manager_roles_required
of a
UserAuthored
must now
be an iterable of UserRole
subclasses (when not None). Until now it was expected to contain a
single role, making it impossible to require several roles at once.
The above API change revealed a subtle problem which took me two hours
of research: The lino.projects.min1
and
lino.projects.min2
sites had their user_types_module
set to
lino.modlib.users.roles
and not to
lino.modlib.office.roles
. Accordingly the user robin on these
sites should not see e.g. cal.MyEvents
since this table requires
OfficeUser
. For some
reason they saw it nevertheless. I guess it has to do with the fact
that the requirement sets for actor and action are being united in
BoundAction
and that this
operation got inadvertently loosened.
I also wrote my first custom exception: ChangedAPI
.
I fixed #465 by adding a section “Visibility of eID reader
actions” to The Lino Welfare “Eupen” variant. This brought some
optimizations into lino.utils.diag
:
Makes now usage of an analyzer object which has some more methods.
The list of window layouts no longer combines fields and visibility but shows two separate lists.
The list of profiles produced by
lino.utils.diag.visible_for()
no longer uses “all except” when there are more profiles which don’t see the action. And it no longer inserts commas between them.
These details in formatting make things easier to manage when a test case fails because something has changed.