============================ Thursday, September 18, 2014 ============================ Cool: I finally fixed a bug in `linoweb.js` which has caused already quite some irritation: Lino.HtmlBoxPanels failed to automatically refresh after certain actions. The reason was: :meth:`Lino.FormPanel.get_status` must not store the whole `data_record` (only the `record_id`) because that would prevent the form from actually reloading when :meth:`set_status` is called after a child window closed. Opened ticket :srcref:`docs/tickets/125`. ... and in the evening also did it for Lino and :ref:`welfare`. The Emacs manual explains who to do a `replace operation across more than one file `_. Summary: - `M-x find-name-dired` to assemble a list of files - `t` (toggle selection) - `Q` to start a `query-replace-regexp` session on the selected files - `Y` to accept all replacements in all files. :srcref:`docs/tickets/124` --------------------------- Continued to work on :srcref:`docs/tickets/124`. - Added a clickable checkbox indicating the primary household in the summary view of :class:`ml.households.MembersByPerson`. - :attr:`ml.cal.Event.user` : `verbose_name` is now "Agent" instead of "Responsible user" :mod:`lino.modlib.reception` now adds two new states "excused" and "absent" to :class:`ml.cal.GuestStates`. Added :attr:`dd.AbstractTable.variable_row_height` to :class:`ml.reception.AppointmentsByPartner`. Before and after: .. image:: 0918a.png :scale: 90 .. image:: 0918b.png :scale: 90 (Also tried whether it makes a difference when in :file:`lino.css` I change the `white-space` property of `lino-auto-height` class from ``normal`` to ``wrap``.) The :mod:`lino_welfare.projects.chatelet` variant now has a completely redesigned :mod:`welfare.cv` module (currently in :mod:`lino_welfare.chatelet.lib.cv`). It is functionally almost equivalent to :mod:`lino_welfare.modlib.cv` which I plan to deprecate since it uses :mod:`lino.modlib.properties`. 22:50 - I moved `HowWell` and `DoYouLike` from :mod:`lino.dd` back to `properties`, because I don't want these choicelists in the global :mod:`dd` module. This also has the advantage that I don't need a conversion during data migration (remember that `properties` stores their `app_label`). And then I use their copy in the new :mod:`lino_welfare.chatelet.lib.cv` module. - A DummyField is now a FakeField and may be used to explicitly ignore its name in a layout specification. This subtle new feature is used by chatelet's `cv` app to solve the fact that `SiteConfig.detail_layout` contains three fields `propgroup_skills`, `propgroup_softskills` and `propgroup_obstacles` which are needed in eupen but not in chatelet. Declaring them as a `DummyField`