Friday, January 18, 2019

I worked on #2798 (A Lino for Yvonne).

At first I thought to extend Lino Così. Yes, Lino Così is meant to show how easy accounting can be if you do it with Lino, that’s why it has “only” accounting. No orders and offers. The only addition to a pure accounting app is the possibility write sales invoices using a list of configurable products because otherwise it makes really no sense.

But the Cosi project is basically asleep and might never wake up. Finding a user who wants to do bare accounting in Lino is rather utopic because there are enough pure accounting software for cheaper than any free software can be.

That’s why I thought “Why not change its destiny and use it for Yvonne”. That’s why in Lino Così we now have two product types “services” and “products”. That’s why Lino Così now has its own lino_cosi.lib.products plugin.

But then I decided to leave Cosi minimalistic and start a new application for Yvonne. Lino Pronto was born.

The categories (lino_xl.lib.products.Category) 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.accounting.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).

I undid a change I made yesterday : the “Offers” journal is not added in lino_xl.lib.accounting.fixtures.minimal_ledger but in lino_pronto.lib.pronto.fixtures.demo. Because in Lino Così we don’t want any offers (at least not in the demo… it’s still possible to add a journal in a Cosi site).