This new module integrate the 'Mercury Pay' electronic payment
provider with the point of sale.
This commit is the end result of a large branch whose main
author is Joren Van Onder <jov@odoo.com>, with additional
contributions from Martin Donies <mdo@odoo.com> and Frederic van
der Essen <fva@odoo.com>
Broke during migration of POS to the new keypress-oriented
barcode_events. The keyboard handler was written with keyup in mind, so
some keys got broken. This fixes everything and sets up a solution for
how to deal with keys that do not generate keypress events in
Chrom{e,ium}.
When a popup is displayed in the point of sale, it sets-up its
own barcode callbacks to prevent the screen's default barcode
action. If a barcode doesn't handle such a barcode, and has not
been setup to handle errors either, it will be ignored, and
a warning will be emitted to the console.
This makes the POS use the barcode_events framework class. It also
attempts to make the POS use only one type of keyevent, namely
keypress. This is not completely possible because we still have to
prevent backspace from doing back navigation. Backspace also doesn't
generate keypress events in Chrom{e,ium}. We handle that by calling the
keyboard handler explicitly for backspace.
The kanban view was changed recently to display the tooltips in column
headers. Sadly, it appears that the developer forgot to take into
account the case when there are on tooltips. This commit fixes this
unfortunate oversight.
The set_value() function of x2many fields is asynchronous. When a record is
loaded, the invisibility changers (IC) are evaluated once set_value() has been
performed on every fields. As set_value() didn't return its deferred, the IC where
evaluated with wrong values. It produced in particular the following bug:
Go to Customers > Agrolait (the Contacts tab is displayed), switch to next record,
which is the first contact of Agrolait. The Contacts tab is still displayed,
whereas it should not (the invisible condition being is_company == false and
child_ids == [], i.e. there is no contact).
Also call this._super() in set_value() of AbstractManyField instead of
duplicating the function of its parent.
updated their code accordingly.
Subtype display in the follower widget has been improved: now displaying correctly
subtypes ordered by related model, then internal / not internal, then sequence.
related to the mail.mail model in their own mail_mail.py file. This ease
the process of working on the mail.mail model and inheritance, if the
code is not hidden between unrelated models.
This change is required for new design compatibility because when
toggling the app switcher, the whole content is detached. The app
switcher is toggled once the deferred def is resolved. If def is
resolved before the dialog is closed, the dialog is detached as well,
and re-attached when clicking on another apps. With this rev., def is
resolved once the dialog is closed.
Also fixes the on_cancel() call which wasn't done at the right place.
- restyle the search field of livechat, more space between contacts, etc.
- kanban view should fit the style of new kanban views
- new images for status
Before this rev., the multi_select option wasn't enabled even by setting
disable_multiple_selection to false in the options, when the res_id key
wasn't defined in options (null != undefined). It was the case for every
X2Many views, except for the Many2ManyKanban view as we explicitely set
the disable_multiple_selection to false AND res_id to null. However, all
X2Many views should enable this option.
The intrastat report did not take care about
the multi-company concept.
In an multi-company environment, lines issued from
invoices in different company
(without a parent-children relationship)
were all displayed in this report.
opw-643685