Changes 2019 in Lino XL

2019-02-03

In lino_xl.lib.beid we moved some functionality from BeIdCardHolder into a separate new mixin SSIN which can be used also when the plugin is not installed. Existing applications don’t need to adapt. Converted docstrings to prosa docs.

More changes in the lino_xl.lib.orders plugin which is still work in progress.

2019-01-31

In lino_xl.lib.products we now have a new model PriceRule and a new choicelist PriceFactors (taken from lino_tera.lib.courses). For Lino Tera this means a minor data migration: change “courses.PriceRule” to “products.PriceRule” in the restore.py field.

We have a new plugin lino_xl.lib.orders that is being developed for Lino Presto. Not yet stable.

2019-01-24

The field lino_xl.lib.contacts.Role.type had a verbose name “Role” which was useless and irritating because “Function” is clear enough and the same word as in Configure ‣ Contacts ‣ Functions.

Optimized the detail layout of lino_xl.lib.ledger.Journal and the library base class for partner details (lino_xl.lib.contacts.PartnerDetail).

Fixed #2813 (the summary of lino_xl.lib.blogs.LatestEntries inserted an additional line break when rendering links to database objects using a memo command. Also the German translation did not correctly show date and author of a blog entry in this summary.

2019-01-22

Fixed a little bug in lino_xl.lib.vat : when you created an invoice in a journal with edit_totals and leave the total field empty, Lino said “TypeError: unsupported operand type(s) for -: ‘NoneType’ and ‘Decimal’”

Added intersphinx_urls, srcref_url and doc_trees settings to the main module so that other doctrees can link to the docs.

Released version 19.1.1

2019-01-21

The change notes for Lino XL docs are now separated from those of The Lino core.

New plugin attribute lino_xl.lib.tim2lino.Plugin.timloader_kwargs to be used e.g. as follows:

def setup_plugins(self):
    self.plugins.tim2lino.configure(
        languages='de fr',
        timloader_kwargs=dict(etat_registered="C"))
    super(Site, self).setup_plugins()

This new feature is not tested because the reason was just a missing “u” prefix.

2019-01-18

The categories (lino_xl.lib.products.ProductCat) now have a field product_type (i.e. all applications that depend on it need to migrate). This is because I realized that categories are not useless. The difference between the “category” and the “type” of a product is that end-users can edit the former while the latter are to be provided by the application developer.

I fixed a subtle bug in the lino_xl.lib.ledger.Plugin.setup_main_menu() method: the Accounting menu came before the Sales menu because a menu for “ledger” was being created before looping over the journal groups. I removed an unused plugin attribute intrusive_menu (whether a journal group is “intrusive” or not now depends on its menu_group).

2019-01-17

The ref_max_length for lino_xl.lib.ledger.Journal is now 5 instead of the default 40.

Printing invoices was broken (since we changed the default build method from appy to weasy). It said “No template found for sales/VatProductInvoice/default.weasy.html, excerpts/default.weasy.html”. We created a new template sales/VatProductInvoice/default.weasy.html (in the config directory of lino_xl.lib.sales).

2019-01-04

We released XL 19.1.0

The fields addr2 and prefix are now mostly hidden in forms. We consider them obsolete. lino_xl.lib.contacts.