:date: 2017-10-06

=======================
Friday, October 6, 2017
=======================

Difference in Service Report
============================

I fixed :ticket:`2098`.
I added a new field
`lino_xl.lib.tickets.Site.reporting_type`. This confirms that some day
we will completely remove "tickets.Projects" (currently called
"Missions") from :ref:`noi`.  The only difference between project and
site is that a site is not :class:`Hierarchical`. And after having
removed the projects, we will probably rename "site" to "project". We
go that detour because this direction wasn't visible when we started
to move.

New feature : :meth:`lino.core.choicelists.ChoiceList.field` now
returns a DummyField when the plugin is not installed. Used for
`ReportingTypes`

Deploy to Jane, including a snapshot/restore.


Optimizations for :ref:`tera`
=============================

For :ticket:`2099` I added a new trade type "Bank payment orders"
(internal name :attr:`TradeTypes.bank_po`).

The field `Journal.partner` wasn't yet visible in :class:`JournalDetail`.

Sorting order of :class:`lino_xl.lib.ana.InvoicesByJournal` was wrong.

Deploy to :ref:`spz`.  I had to do a database migration because new
trade type had added a field :attr:`bank_po_allowed`.

.. currentmodule:: lino_xl.lib.accounting

That was because in the :xfile:`models.py` module of
:mod:`lino_xl.lib.accounting` we currently do::

    for tt in TradeTypes.objects():
        dd.inject_field(
            'accounts.Account',
            tt.name + '_allowed',
            models.BooleanField(verbose_name=tt.text, default=False))

It is used for limiting the choices for the account field during
manual entry of an invoice.  Actually this isn't a good approach since
that field is absolutely useless.  To prepare some other approach in
the future, I added a new method
:meth:`TradeType.get_allowed_accounts`.  We already had a method
:meth:`Journal.get_allowed_accounts`.


Miscellaneous
=============

The :xfile:`MANIFEST.in` of :ref:`vilma` contained some useless
entries which caused warning messages during :cmd:`inv test`::
         
    no previously-included directories found matching '.build'