Friday, November 8, 2019

“New ticket” instead of “Insert into All Tickets”

I fixed #3327. This was an unpaedagogic move because the ticket was introduced by newbie Amber who should have had the honour of working on it till the end. But the idea is so good, and I couldn’t wait having this in Lino… And we would have to wait because there are a few more issues that I would have to explain to Amber:

  • Don’t break virtual tables where lino.core.actors.Actor.model is None. This is just a theoretic possibility, I didn’t yet find an example for it.

  • Don’t forget to translate this to German and French because the change is quite visible and customers would complain otherwise. I have a feeling that the translation should use format_lazy().

  • The book test suite did not fail after this change. Which means that the code was not covered. The welfare suite however did fail. It’s nothing new that the welfare test suite covers quite some functionalities which are not covered by the book. I added two of these tests to the book so that the change is now covered (in households : Handling households and their members and Clients in Lino Avanti).

Here is a list of the changes that were needed for this ticket:

  • 2019-11-08 02:27 in lino: fab54ea

  • 2019-11-08 02:27 in book: 9431172

  • 2019-11-08 02:27 in welfare: 8df8c87

  • 2019-11-08 02:30 in book: cc7248f

User types in Lino Noi

Tonis will start working on #3313 and #3284.

We should start by reviewing the available user_types in Noi. They should be named e.g. “Customer”, “Contributor”, “Trusted Worker”, “Site manager”. A customer sees their own contact data but no other customers. A contributor should not see any customer data and should not have permission to delete any valuable data. A trusted worker can see all customers, triage tickets, see overviews, write service reports, … and a site manager can additionally create system users.

I added some coverage in a new specs document users (User management in Noi) (also moved some sections from Lino Noi Overview to this new page). These pages will change of course after Tonis’ work.

A new volunteer contributor

It is possible that we will get yet another volunteer contributor for Lino: Khaled from Tunisia.

I asked him to work through Developer Guide and reviewed it at this occasion, adding a general paragraph:

This website is meant to be read like a book, in sequence. Use the “next” and “previous” links for navigation. Feel free to jump to linked pages, but don’t get lost into details. The Lino Book should be interesting and understandable for any motivated Python developer with at least basic knowledge. But it is only work in progress and we count on you as a reader to help us. Please let us know whenever you stumble over a section that does not satisfy the goal of this book.

Trying the Chatter project

Amber discovered that the lino_book.projects.chatter requires a redis-server to be running. I updated the instructions in Install your Lino developer environment.

I then tried to install redis-server as instructed. But oops:

$ getlino configure --clone --devtools --redis
...
File "/home/luc/work/getlino/getlino/configure.py", line 276, in configure
NameError: name 'context' is not defined

When redis-server is installed and you sign in, you get:

unsupported operand type(s) for -: 'NoneType' and 'datetime.datetime'

This was an unknown bug in lino.modlib.comments. Fixed.

TODO: The chatter project is underdocumented. Maybe a screen cast would be nice.