Changes 2019 in Lino XL¶
2019-03-19¶
Released Lino XL 19.3.2 to PyPI.
2019-03-18¶
- New config setting
lino_xl.lib.vat.Plugin.declaration_plugins
.
2019-03-17¶
- Added a new plugin
lino_xl.lib.eevat
. This is a quickly adapted copy of bevat where we just removed the regimes that make no sense in Estonia. The declaration itself will need more work.
2019-03-16¶
lino_xl.lib.bevat
has been cleaned up and documented because it will serve as template for the newlino_xl.lib.eevat
plugin.
2019-03-15¶
lino_xl.lib.vat
can now be used without also using any oflino_xl.lib.bevat
orlino_xl.lib.bevats
. It defines a VAT regimenormal
and a VAT rule which allows everything.lino_xl.lib.ledger.MatchRule
now hasallow_cascaded_delete
set to “journal” (when you delete a journal, related match rules should delete automatically)
2019-03-11 (v 19.3.1)¶
Moved read_card_data_from_file()
out of load_card_data()
.
This is just an internal change used for writing test cases.
Released XL 19.3.1 to PyPI.
2019-03-07 (v 19.3.0)¶
Released XL 19.3.0 to PyPI.
2019-03-04¶
Add new action lino_xl.lib.ledger.Voucher.changing_state()
to the lino_xl.lib.ledger.Voucher
. This action
changes the invoice between the two Registered and Draft states. This action can be trigger using the Ctrl+X keyboard
shortcut. It is defined in the lino_xl.lib.ledger.ui.Vouchers.get_actions_hotkeys()
.
2019-02-27¶
Courses with a Course.max_date before today are now longer available as choices when creating a new enrolment. As it was already before for Course.enrolments_until
2019-02-25¶
Fixed #2811 (UnicodeError when re-reading a beid card where the diff contained non-ascii chars).
2019-02-20¶
It is now possible to easily redefine the detail layout for
lino_xl.lib.cal.Rooms
by overriding
lino_xl.lib.cal.RoomDetail
2019-02-13¶
lino_xl.lib.ledger.Voucher.get_wanted_movements()
now has a default
implementation which returns no movements.
2019-02-12¶
More changes in the lino_xl.lib.orders
plugin which is still work in
progress for Lino Presto.
2019-02-09¶
Released Lino XL 19.2.0 to PyPI.
2019-02-08¶
Changes in lino_xl.lib.vat
and lino_xl.lib.ledger
to use the new
“volumes” feature (library uploads). For #2826.
Concretely:
The detail of a
lino_xl.lib.vat.VatAccountInvoice
now shows theUploadsByController
slave table.But what if an application wants to use
lino_xl.lib.vat
withoutlino.modlib.uploads
? e.g. Lino Tera. Quick fix : add plugins also to these applications.And
lino_xl.lib.vat.VatAccountInvoice
should implement this method by asking the journal. New fieldlino_xl.lib.ledger.Journal.uploads_volume
.Every voucher is now potentially an upload controller:
ledger.Voucher
inherits fromUploadController
.Added a new field
lino_xl.lib.ledger.Journal.uploads_volume
, and theUploadController.get_uploads_volume()
for a voucher returns this.
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 .
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 Lino core docs.
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
.