========================
Saturday, March 21, 2015
========================

Added a setting :attr:`responsible_user
<lino.modlib.checkdata.Plugin.responsible_user>` for
:mod:`lino.modlib.checkdata`. Example of local configuration::

    class Site(Site):

        def setup_plugins(self):
            super(Site, self).setup_plugins()
            self.plugins.checkdata.configure(responsible_user='annabell')

Added a new checker
:class:`lino.modlib.countries.models.PlaceChecker`, the first checker
in standard Lino.


Integrate repairable problems into plausibility
===============================================

Cool. Sometimes growing means to *reduce* the number of code
lines. Today is an example.  I integrated the `lino.mixins.repairable`
module into :mod:`lino.modlib.checkdata`.  

Instead of writing a `get_repairable_problems` method, we write
:class:`Checker <lino.modlib.checkdata.choicelists.Checker>`
classes and :meth:`activate
<lino.modlib.checkdata.choicelists.Checker.activate>` them.  And
the :meth:`get_checkdata_problems
<lino.modlib.checkdata.choicelists.Checker.get_checkdata_problems>`
method must yield `(fixable, message)` tuples instead of simple
strings.  And the :class:`Problem
<lino.modlib.checkdata.models.Problem>` model has a new field
:attr:`fixable <lino.modlib.checkdata.models.Problem.fixable>`.

- Added new icon `bell.png` for the CheckPlausibility action
- Messages are translated to the language of the responsible user.