===========================
Wednesday, February 4, 2015
===========================

Final sprint before an upgrade in :ref:`cpaseupen`.

I moved :meth:`make_cache_file
<lino.core.kernel.Kernel.make_cache_file>` from :class:`Site
<lino.core.site.Site>` to :class:`Kernel <lino.core.kernel.Kernel>`.
This probably fixes a rather internal problem: Our basic strategy is
that Lino does not create any cache files when the directory specified
by :setting:`MEDIA_ROOT` does not exist.  In certain cases it got
created nevertheless, but became available only after restarting the
development server.

In yesterday's blog entry I can now easily refer e.g. to
:attr:`detail_handler_name
<lino.core.requests.ValidActionResponses.detail_handler_name>` using a
cool trick: the new :class:`lino.core.requests.ValidActionResponses`
class is a placeholder for defining the allowed keywords to
:meth:`ar.set_response
<lino.core.requests.BaseRequest.set_response>`.

Resolved :ticket:`81`.  The
:attr:`doctor_tye<lino_welfare.modlib.aids.models.RefundConfirmation.doctor_tye>`
of a
:class:`RefundConfirmation<lino_welfare.modlib.aids.models.RefundConfirmation>`
can now be left blank, and in that case the doctor's
client_contact_type will be used. A positive side effect: if no
doctor_type is given, the selection list for doctor no longer shows
all persons but only those who have a refundable client contact type
(i.e. :attr:`ClientContactType.can_refund
<lino_welfare.modlib.pcsw.models.ClientContactType.can_refund>` is
checked.)


Commit, push and upgrade on :ref:`lf`.

Resolved :ticket:`59`.  The default value for :attr:`Granting.signer
<lino_welfare.modlib.aids.models.Granting.signer>` was set in
:meth:`after_ui_create <lino.core.model.Model.after_ui_create>`, but
did not save the object again.  It is now set in :meth:`full_clean
<lino.core.model.Model.full_clean>`, which means that users cannot set
that field to `empty` for confirmations whose `aid_type` has
:attr:`confirmed_by_primary_coach
<lino_welfare.modlib.aids.models.AidType.confirmed_by_primary_coach>`
checked. Which anyway was just a theoretic possibility.


Resolved :ticket:`53`. The tricky part here is that
:class:`EventsByClient
<lino_welfare.modlib.cal.models.EventsByClient>` shows two types of
events: those who are "directly" linked to the client through their
:attr:`Event.project` field, **and** those where this client
participates as guest. Changed `insert_layout` and
:meth:`get_filter_kw <lino.core.tables.AbstractTable.get_filter_kw>`
of :class:`EventsByClient
<lino_welfare.modlib.cal.models.EventsByClient>`.

Commit & push

Started to evaluate whether :ticket:`76` is difficult to solve.
Discovered that eupen and chatelet could not print any presence
certificate.  They forgot to load the standard excerpt types (which
are in `std2` now).  Wrote a new tested document
:ref:`welfare.specs.excerpts`.

Commit, push and upgrade on :ref:`cpaseupen`.

The online demo of :ref:`faggio` was broken because i forgot to remove
`is_pupil` and `is_teacher` from a layout.

Commit, push and upgrade on :ref:`lf`.