The assets_frontend inheritance made by the web_editor module should be
the first to be done as the website.assets_frontend rules have to come
after (LESS variables overridden).
The "Due Date" is invisible in the tree view because in most cases, the
`journal_type` is not in the context. Since it was shown all the time in
v8, we show as well.
opw-674815
When an invoice is cancelled, the attachments (including the printed
invoice) are not deleted. If the users resets the invoice to draft,
modify it, then print it again, the previously generated document will
be used instead.
opw-674678
The `account.voucher` field `date` was twice in the view
`view_purchase_receipt_form`
Besides the fact the field was twice in the view,
this prevented to set a date in the past
for the resulting journal entries,
as the second field `date` input of the view
contained the date of today, while
only the first one was visible and editable
by the user, and it was the second field
value which was took into account when
passing the form values to the server,
most-likely because this second field was set
further in the view.
opw-674712
The method `create_exchange_rate_entry` is called
either if one of the two parameter
`amount_diff` or `diff_in_currency` is not equal to 0.0
(or, near to zero, `float_is_zero`):
```
if currency and aml_to_balance \
and (float_is_zero(total_amount_currency, precision_rounding=currency.rounding) \
or float_compare(total_debit, total_credit, precision_rounding=currency.rounding) == 0):
```
Nevertheless, the method is called with the amounts not rounded,
and, therefore, one could be considered to 0.0 (if
closed to 0.0) but not be exactly equal to 0.00,
and it should therefore be rounded before the entries
creation.
opw-673854
In non grouped mode, a recent fix (fixing race condition in do_search)
introduced a new bug, the dataset size is not correctly set.
This is a quick and dirty fix, I believe that changing the dataset
internals like this commit (and other) do is really not correct.
However, the correct fix (working on the dataset API) is more dangerous
in a stable release.
Catching and hiding database transactional errors can
sometimes cause a POS order to be entirely lost.
When it occurs, the transaction won't be committed
into the database, and if there is only one order
in the batch, the server won't return any error to
the frontend POS which will consider the order saved.
This is very unlikely to be exploitable because the
alt-field usually comes from master data (e.g. product
names) that can't be injected.
Courtesy of Naglis Jonaitis
When creating an invoice from a contract with button "create invoices",
the description linked to the contract has to written in the comment field
of the invoice.
opw:671660
This commit protects tags having an alt attribute containing an @. Like
cite on blockquote, alt on image for example could contain an @. Do not
escape it as it could break images.
Rounding the unit price at that moment is a bad idea. Here is the use
case:
- Set the product 'Costing Method' to 'Real Price'
- Set the product 'Inventory Valuation' to 'Perpetual'
- Receive through a PO 9 products for a unit price of 115.80
- Receive through a PO 35 products for a unit price of 116.80
- Sell these 44 products thanks to a SO, generate and validate the
invoice
On the Stock Output Account, the following entries will be generated:
- First PO --> 1042.20 = 9 * 115.80
- Second PO --> 4088.00 = 35 * 116.80
- Invoice --> 5130.22 = 44 * 116.596
116.596 is the average price of the two POs, but rounded. The issue is
that there are 2 cents of difference... Nice ;-)
The fix is to avoid the rounding of the unit price, since we don't even
store it on the account move line anyway.
opw-673976
This code was used to automatically configure a fetchmail server, according to
a model. This followed a name convention, like 'module_', 'group_', ...
This mechanism was replaced by mail.alias system, and it not used anymore
by odoo modules.
It is time to remove this old hacky stuffs : fetchmail.config.settings
model is removed.
When the POSBox boots without a network cable attached it will
automatically launch a wireless AP that people can connect to. This
allows them to configure what wireless network the POSBox should connect
to.
This wireless AP was configured to use the 10.10.0.0/24 subnet. The AP
itself was on 10.10.0.1. Although this is fine if used as intended it is
a quick way to take down an existing network if you where to plug in an
ethernet cable after the wireless AP has started. 10.10.0.1 is commonly
used by routers all over the world and plugging in a booted POSBox into
their networks will cause serious issues because the POSBox will share
the same IP as the router.
This moves the POSBox AP to the 10.11.12.0/24 subnet, with the AP on
10.11.12.1.
This also makes the DHCP server listen only on wlan0 because otherwise
you can end up with two DHCP servers on the same network which would
still break stuff.