Monday, January 19, 2015

Reading eID cards

lino.modlib.beid : the “add” version of this action was hidden in the top toolbar until now. Now it is also visible there, has a vcard with a “+” as icon, and does what the users want it to do: read eID card and create a new client from it.

AgentsByClient and the actions API

Still trying to replace CoachingsByClient by its successor AgentsByClient. Names and look are different, but the idea is the same: show a list of agents “available” for his client, and for whom the reception clerk can register either a “prompt consultation” or a scheduled meeting in a calendar. We no longer speak about Coachings here because new clients don’t have any coaching yet. For new clients, our table should show a list of agents who have been marked accordingly.

Added two checkbox fields newcomer_appointments and coaching_supervisor to lino_welfare.modlib.users.models.User.

In AgentsByClient, we must create a button to invoke create_visit on a Client, passing the agent as a parameter value. This turned out to be rather difficult and required some internal changes

These changes cause a certain risk of having introduced bugs at the Javascript level (which is not yet covered by our test suite).

In Lino.ActionFormPanel.on_ok (in linoweb.js), I slightly changed the algorithm for computing the URL of the AJAX call.

An action request (lino.core.requests.ActionRequest) now analyzes the param_values and action_param_values during setup, no longer during __init__.

The region field

Fixed a bug which we discovered with Mahmoud: lino_cosi.projects.ylle did not have a region field.

This is controlled by the hide_region option of lino.modlib.contacts.

The bug was in the setup_plugins method.

Wrong:

def setup_plugins(self):
    self.plugins.contacts.configure(hide_region=False)
    ...
    super(Site, self).setup_plugins()

Correct:

def setup_plugins(self):
    super(Site, self).setup_plugins()
    self.plugins.contacts.configure(hide_region=False)
    ...

More documentation optimization

I converted the documentation of Lino Così to use autosummary instead of sphinx-apigen.

Removed the fab api command.

In atelier.sphinxconf.base, changed the sentence:

(This module's source code is available at `<%s>`__.)

into:

(This module's source code is available `here <%s>`__.)