Friday, January 9, 2015

Benutzerprofil “Newcomers” übersetzen nach “Erstempfang”

The following fixes #54.

The German translation of the label of the user group “newcomers” is now “Erstempfang” (instead of “Neuanträge”). lino_welfare.modlib.newcomers now has an __init__.py. Moved some documentation of lino_welfare.modlib.isip into the module.

Termin erstellen für Klient ohne Begleitung

Working for #55

The CreateClientVisit action was being used only in reception.Clients, now it is injected to the pcsw.Client model (available on every Client table).

It now has a user_choices method which currently shows only active users (non-empty profile). This revealed a bug: defining a chooser on an action could cause a server-side error message AttributeError: 'CreateClientVisit' object has no attribute 'known_values'. Added a test to tests.test_welfare_demo which reproduces this error. Fixed the error by adding known_values = None to lino.core.utils.Parametrizable.

I wrote two actions on Client which are supposed to open the calendar panel, for a user to be selected manually. When creating an appointment in that panel, the Client would automatically be set.

One (find_date_dlg) is a dialog action where the agent is selected in a combobox. But it seems that this combination (dialog action with JS instead of AJAX call) is not yet possible. So this version is currently ifed out. But we might change the False to True because looking at it helps to imagine how it would look and whether it’s worth to make it possible.

The other implementation (find_date) uses a ButtonsTable. It has the advantage that it works. And in fact I think it is easier to use because you just click once on the name. Instead of selecting it from a combobox and then click “Submit”. I am not sure whether this is still true when there are 30 or 50 users. But we will see.

TODO: after creating an appointment, the client is not automatically added as a Guest to that appointment.