The following rounding is incorrect:
```
>>> float_round(6.6 * 0.175, precision_digits=2)
1.15
```
Indeed, 6.6 * 0.175 = 1.155 ≈ 1.16.
In this specific case, the `epsilon` computed is not sufficient. A
precision of 53 gives:
normalized_value = 115.49999999999997
epsilon = 1.2823075934420547e-14
=> new normalized_value = 115.49999999999999
Bad luck, this is just not enough to tip the value in the right
direction.
However, a precision of 52 is sufficient:
normalized_value = 115.49999999999997
epsilon = 2.5646151868841094e-14
=> new normalized_value = 115.5
The value of 53 was chosen from the `binary64` number format precision.
In case of Python, the corresponding machine epsilon is 2^-52 [1].
Therefore, using 52 instead of 53 does make sense.
It is worth noting that the value of the machine epsilon
2^-52 = 2.2204460492503131e-16, which is still 2 orders of magnitude
below our dynamic estimation.
[1] https://en.wikipedia.org/wiki/Machine_epsilon
[2] `numpy.finfo(float).eps = 2.2204460492503131e-16`
opw-2047368
closesodoo/odoo#35521
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
When using limit=1, PostgreSQL sometimes use sub-optimal plan like
"Index Scan Backward using xxx". To avoid this, adding a fake sort
will make PostgreSQL to use the same plan as without limit, and in
this particular case, the index on message_id
closesodoo/odoo#29278
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
The field "date_planned_finished" was not computed when changing the fields
"date_planned_start" or "duration_expected".
opw:2048416
closesodoo/odoo#35537
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
- Set a language using RTL (e.g. Arabic)
- Activate mobile mode (through debug mode or on a mobile device)
- Go to the CRM kanban view (make sure no record exist so the no_content
message is displayed)
- Add a new record
- Fill in the name, click outside of the field
The no_content message is displayed over the form view and it is impossible
to save the record.
The root cause is the incorrect structure of the kanban view page in RTL,
leading the user to the wrong element and triggering the wrong event.
We make the structure of the view aware of the RTL configuration.
opw-2046231
closesodoo/odoo#35509
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
- Set a language using RTL (e.g. Arabic)
- Activate mobile mode (through debug mode or on a mobile device)
- Go to a grouped kanban view (e.g. CRM pipeline)
- Swipe to the left
The column to the left if shown instead of the column to the right.
In RTL, the kanban groups order are inverted. Therefore, we also need to
invert the swipe direction.
Before this commit, when a user imports an Excel file, with date as
strings. The _try_match_date_time function will try to find the best
date parsing to use in the import without taking into account the
language of the user.
Now, the function will take into account the language of the user when
trying to find the best date parsing pattern for the import.
opw-2046217
closesodoo/odoo#35540
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Sales > Configuration > Products
was present twice
Move to sale.prod_config_main and remove menu_product_settings in master
closesodoo/odoo#35159
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Before this fix the save button in settings was not replaced when
pos_mercury is installed.
Caused by 2 views with the same id.
closesodoo/odoo#35517
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Before this commit, when validating an e-invoice there are blocking
errors if VAT or Codice fiscale fields are empty for non Italians
buyers.
After this commit, if VAT or Codice Fiscale fields are empty for non
Italians buyers, the system will allow invoice validation.
opw-2045244
closesodoo/odoo#35515
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Although this makes sense to warn the user, a `UserError` stops the
execution of onchanges but do not prevent saving incorrect settings. A
non-blocking warning would be another solution, but one issue remains:
a pop-up is raised when the user opens the settings, even if they are
unrelated (e.g.: open Website settings, an error message implying
Inventory appears).
This reverts commit c7beb9994f.
closesodoo/odoo#35511
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
In the customize theme modal, if one option enabled views which were
a subset of the views which are enabled by another option, both options
would be checked on modal opening if all the related views were active.
This is the case for the "choose an image" and the "choose a pattern"
options: the first one enables a view which adds an image on the body
and the second one enables the same view but also another which enables
the fact that the image must be repeated.
This commit solves the issue by always selecting the option enabling
the most views among the checked options in a same set.
opw-1958395
closesodoo/odoo#35465
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Allow to see the lot/serial number on the order form, only for the users
with group group_production_lot.
opw-2037285
closesodoo/odoo#35443
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
- Set the user language to a RTL language, e.g. Arabic
- Open a list view containing float or monetary fields, e.g. the invoice
list view
The numbers are left aligned while the corresponding columns headers are
right aligned, making the list view confusing.
The header alignment is hardcoded at rendering rather than in the SCSS.
Therefore, `rtlcss` doesn't affect it.
Instead of hardcoding the alignment, we use a proper CSS class so it is
adapted by `rtlcss`.
opw-2044019
closesodoo/odoo#35414
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Install stock_dropshipping module and enable Routes on SO lines
- Create a storable product P with a supplier S
- Create a SO with P and set this line with the route dropship
- Confirm the SO ( a PO has been created to S with P)
- Change P on the SO with an other product
Bug:
The product P stayed on the PO.
So a product linked to a PO line cannot be changed on a SO.
opw:2040249
closesodoo/odoo#35383
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Open the reconciliation widget, with a statement line that has
some move lines to reconcile with
Put your browser in Fast 3G to slow down stuff
then click multiple times on a move line to add it to
the reconciliation chain of the statement line
Before this commit, as many lines appeared in the reconciliation
chain as many clicks were made
After this commit, one can only click once on the lines
linked to #35194
OPW 2042751
closesodoo/odoo#35417
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
A user without stock acces rights was not able to read the fields
added by the stock module
The statbuttons display the number of items available which are
computed fields An accountant (no inventory or sale access rights),
opening the product view will trigger the recompute which will fail
(no access on stock.warehouse.orderpoint)
closesodoo/odoo#32499
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Mass mailing themes are redefining some bg-* classes their own way...
unfortunately that way was not working anymore with BS3. This commit
adapts the CSS code to solve the problem but ideally, themes should be
refactored to be more BS4 compliant.
opw-2032131
closesodoo/odoo#35333
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this patch Amount currency was always +ve and doesn't care about about Debit/Credit values.
See _check_currency_amount constrains.
Fixes: #35403closesodoo/odoo#35422
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
It was not possible to manually set a default analytic account as it was
overriden by the onchange, even if no account was returned by account_get
Apply the same logic as in _prepare_invoice_line on sale.order.line
closesodoo/odoo#30282
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
An user with portal access puts a product into the wishlist.
The same product is "unpublished" from the site backend, while still
into the wishlist of the user. The user now cannot access the website,
because because of the record rule website_sale.product_template_public
which prevent the unprivileged user from accessing the products.
OPW-2042511
closesodoo/odoo#35397
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
This commit intend to allow better inheritance in the
account_move_line_creation_process
The new _prepare_account_move_and_lines method only prepare
the move and the lines but does not write and post them.
This is done by the former _create_account_move_line method.
Needed to fix pos_sessions with unbalanced journal entries
caused by round globally option with taxes included in price
I.E. opw-2038814
closesodoo/odoo#35351
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
When the product has a lot of variants which are displayed as checkboxes
or as colors, the jQuery selector was matching as many items, and the
event was triggered for each of them.
The result was the change event of website_sale being triggered many
times, where only one call would be enough.
The change replicates what was made on v12.0 on the same line by commit
f8dad1bb4b.
opw 2036356
closesodoo/odoo#35322
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
In the calendar view
In the partner filter in the calendar side bar
type something, and backspace rapidly to remove everything
Before this commit, there was a error because the framework tried to write something
in the corresponding field
This was because the o2m field was not initialized
with the correct values
After this commit, there is no error
OPW 2043975
closesodoo/odoo#35330
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Before this commit, the field intrastat_country_id was not propagated when refunding an invoice
After this commit, the refund invoice takes the same values for that field
as the invoice it is refunding
OPW 2028333
closesodoo/odoo#35309
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
- Admin (U1) user, Demo (U2) with Sales Manager rights
- Create parent company A and child company AA, U2 has access to A (U1 to both)
- Create 2 taxes, T1 for A, T2 for AA
- For product P, add tax T1 in company A, and T2 in company AA
- U2 creates a new SO in company A with no lines, export Order Lines/Product
- U2 edits the file to add product P
- U2 imports the file
Before this commit, the sale order's line had the taxes for bot company
After this commit, it only has the taxes for the company of the sale order
OPW 2036453
closesodoo/odoo#35294
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
In the planner the url are generated by prepare_backend_url that takes
an action's xml id as argument. The id passed should have the format
'module_name_where_the_action_is.action_name'. In this case the id passed
was product.product_template_action_product but the action is defined in
stock thus the prepare_backend_url was not able to find the associate action
and return a wrong(default) url.
This commit change the action id passed with the correct module.
closesodoo/odoo#18812
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
https://docs.python.org/3/library/stdtypes.html#truth
By default, an object is considered true unless
its class defines either a __bool__() method that returns False
or a __len__() method that returns zero
Since etree elements are iterator, they define a len function.
However it turns out that customerProfileId has always no children.
So bool(find(x)) is always False; the intended meaning was find(x) is None.
opw 1999427
closesodoo/odoo#34922
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
closesodoo/odoo#35246
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>