=========================== 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`.