Sunday, October 2, 2016

Starting work session

I worked on #1194 (A developer cannot start a working session if he’s not the author) which I discovered yesterday with Rauno.

The solution was easy: just set readonly of lino_noi.lib.clocking.actions.StartTicketSession to True.

I also changed the sort_index of state actions (instances of ChangeStateAction) from 10 + i to 200 + i. Because state actions should come after custom actions.

For example in the workflow_buttons of a ticket, I want to have the [▶] button after the state change buttons. On a ticket whose state is “ToDo”, the workflow_buttons column said:

ToDo → [🗪] [🕸] [☐] [🗑] [▶] [☆]

Now it says:

ToDo → [▶] [☆] [🗪] [🕸] [☐] [🗑]

No –even better!– it says:

[▶] [☆] ToDo → [🗪] [🕸] [☐] [🗑]

Until now end-users were generally not aware about the difference between custom actions and state change actions. Now it is more visible for them.

A side effect is MyPendingGrantings (shown in The Social Aids module): the SignConfirmation action is technically not implemented as a subclass of ChangeStateAction, but “conceptually” (for the end-user) it does nothing but change the state.


I updated all sites on

Unknown Township ‘Nõmme’

There was a non-fatal error when initializing the vtp2014 online demo database. It was not fatal because it happened only during the garble_persons after initdb_demo. It came because garble_persons required the lino_xl.lib.countries.fixtures.eesti fixture.

I added a test case for this to lino_book.projects.min2 and discovered that garble_persons was not available there because it uses Plugin inheritance to extend lino_xl.lib.contacts and forgot to add a module for this command.

And then I fixed garble_persons so that it works also without the the eesti fixture (though it still requires at least few_countries few_cities, otherwise it makes no sense).