During the last month we continued to fix bugs, improve the behaviour of things, and resolve performance issues - building on the other changes since our last release. We also added some new features which you can find out more about in this newsletter.
For an in depth overview of Tryton development you can take a look at our issue tracker and also see the issues and merge requests filtered by label.
Changes for the User
Sales, Purchases and Projects
It is common, for marketing purposes, to show the sale amount before the promotion and also the amount once the promotion has been applied. So we’ve now added the original amounts before the promotion.
Accounting, Invoicing and Payments
We now use the payment
-element for Stripe checkouts.
To help users decide if they really want to overrule a credit limit, we now show the amount the credit limit has been exceeded by, the dunning level, the amount and the account code.
We’ve now added reporting with latest date and amount per statement journal.
The move description and description on the general ledger line have been merged together. As the move origin is a fall-back of the line origin, the description is now calculated as the move description.
Stock, Production and Shipments
Most of the time users are only interested by the storage, view and warehouse location types, so we filter out the other location types by default now.
User Interface
The search on model.fields.Char
and model.fields.Text
in the client will give different results when using Text: =
or Text: =""
depending on whether the text is NULL
or an empty string. So we now convert NULL
values for Char and Text fields to an empty string when searching for Char or Text field values.
We now display the link symbol when hovering over a many2one or reference column in tree views.
We now prevent iOS input zooming in Sao.
The icons that we use are now more explicit:
System Data and Configuration
We updated the country subdivision types:
More
- European collectivity
- Federal entity
- Overseas departmental collectivity
- Overseas unique territorial collectivity
- State city
We now support searching on subdivision codes when searching a pattern.
We’ve also updated the tax identifiers:
More
- Brazillian Company Identifier
- Canadian Business Number
- Croatian Identification Number
New Documentation
The contents of the Migration Topic have been moved into the Migration section of the Tryton documentation.
New Releases
We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.
Security
We enforce the record rules for resources now like we did with model access rules.
We now also use the party access rules for address, contact mechanism and identifier.
Changes for the System Administrator
We now log the request-duration
at the wsgi-app-level instead of the with_pool level to get more accurate timings.
Changes for Implementers and Developers
We now test that the on_change_with
getter has the same name as the Function
-field using it.
Updating XML-records which could be modified manually by the users is a complex task. In general the process works automatically, but sometimes the user has to manually check and decide whether to synchronize the model data from the menu entry Administration → Models → Data.
As we no longer import data like countries or currencies from the XML files, the whole mechanism is no longer necessary.
So we now, in general, forbid the manual modification of XML introduced data and always synchronise the XML-data with the database, even if it was modified. The only exception to this is if the noupdate
flag is set on the XML data, in this case we just apply the XML-data once when the module is activated and leave the maintenance of that data to the users.
Also we now call on_change_notify for fields updated by on_change and on_change_with methods.
We now support object-instances in addition to object-ids as default values.
We’ve added the metadata columns, by default, to ModelSQL based on table queries:
More
- create_uid,
- create_date,
- write_uid and
- write_date
The data
is now included as part of the ir.model.Report
header key.
We now test that ids are of the right type when instantiating ModelStorage.
We now validate integer digits when they are not None.
We support EXTRACT
from INTERVAL
in the SQLite backend to be able to extract epoch durations.
Both msg_gettext
and msg_ngettext
have been added to the Report context.