======================= Tuesday, April 22, 2014 ======================= Working on :srcref:`docs/tickets/93`. "Must read eID card" action in `newcomers.NewClients` ------------------------------------------------------ Fixed the bug (discovered yesterday) on the "Must read eID card" action link in `newcomers.NewClients`. This was indeed because the action is being called using pcsw/Clients instead of pcsw/NewClients as URI. The action link is generated (by the `eid_info` virtual field defined on :class:`BeIdCardHolder `) using the following code:: msg = _("Must read eID card!") ar.instance_action_button(self.read_beid, msg, icon_name=None) The culprit was :meth:`lino.modlib.extjs.ext_renderer.ExtRenderer.action_call_on_instance` who ignored that `ba.actor` may differ from `ar.actor` when defined on a different actor. global name 'Answers' is not defined ------------------------------------ Also fixed a bug in :mod:`lino.modlib.polls` which caused an :ref:`ise` "global name 'Answers' is not defined" in :ref:`polly` when a Response was being displayed. Note that :ref:`polly` is still not usable after adding support for multiple choices. The `select_by_response` action doesn't yet work. Preventing duplicate person records ----------------------------------- Cool: Yesterday I just used a dummy example of a possible callback confirmation: "Is that true? Your name is 'Foo'?" Now I wrote the real action. And it was really easy:: qs = dedupe.SimilarPersons.find_similar_instances(obj) if qs.count() > 0: msg = _( "There are %d clients with similar name:") % qs.count() for other in qs[:4]: msg += '
' + unicode(other) msg += '
' + _("Are you sure you want to create a new " "client named %s?") % obj.get_full_name() ar.confirm(ok, msg) I also optimized in our :meth:`find_similar_instances ` method, which continues to be rather simplistic. Added test cases in :ref:`welfare.specs.pcsw`. Started to try to get the welfare test suite repaired. But after some hours I decided that for the moment this would be inefficient because many tests are still going to change. Multiple addresses per Client ----------------------------- Started to work on the next item of :srcref:`docs/tickets/93`: multiple client addresses. It is the first time that we want SubmitInsert to *not* switch to detail window. It seems that we need a concept of "edit mode", that is, a new url parameter to add to the AJAX call, so that the action can know whether it was called from a grid or from a detail. Also added new Actor attribute `stay_in_grid`. Checkin. TODO: After click on "primary address", Lino now closes the detail window and displays that address's detail.