================================ 20130325 (Monday, 25 March 2013) ================================ A :class:`lino_welfare.modlib.debts.models.Budget` now has two new checkbox fields :attr:`print_empty_rows ` and :attr:`ignore_yearly_incomes `. Discovered and fixed a few little aftermaths of the conversion to babel. For example the string "Working" is translated differently in :mod:`lino.modlib.tickets.models` than in :mod:`lino_welfare.modlib.jobs.models`. Or the difference between a Designation ("Bezeichnung") and a Description ("Beschreibung"). ActionRunner ------------ An internal syntactical optimization: :class:`lino.core.actions.Action` now has a descriptor (a `__get__` method) which returns an :class:`ActionRunner `. Result: I can now execute actions more easily from Python code. I use this to write tested documents like :ref:`welfare.specs.debts` or the new test case :func:`lino_welfare.tests.pcsw_tests.test10`. Internally I splitted `Action.run` into two parts: `run_from_ui` and `run_from_code`. `run_from_code` can return an action-specific value, e.g. obj.duplicate() will return new newly created object.