Commit Graph
143875 Commits
Author SHA1 Message Date
William Braeckman 576a33bc4f [IMP] hr_work_entry_holidays: half day outside of working hours
Fixes taking a hald day outside of working hours counting as half a day
instead of nothing.

See odoo/odoo#68977

closes odoo/odoo#74015

X-original-commit: 7ad9af5b6fd3086d280b42f6769c66d579dd7f5f
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: William Braeckman (wbr) <Williambraecky@users.noreply.github.com>
2021-07-20 09:41:42 +00:00
Ivan Yelizariev a5a9a9672e [IMP] base: avoid unused reading in get_bindings
`load_views` calls `get_bindings` to render Action and Print menu. Before this
update, it read all action fields, including heavy computed fields
like `search_view` (which calls fields_view_get). But in fact just few fields
are used.

This slighly improves response time and data size.

closes odoo/odoo#73983

Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2021-07-19 15:59:25 +00:00
Kevin Baptiste 86aa7b78aa [IMP] *: introduce data-hotkey on form and modal views
Define `data-hotkey` on most used action buttons.

For the modals, the following keys are dedicated for "special"
actions:
 - Alt+G: add
 - Alt+V: save
 - Alt+Z: cancel

closes odoo/odoo#73275

Taskid: 2588233
Related: odoo/enterprise#19464
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-07-15 08:39:49 +00:00
Bruno Boi bb9ff3b62d [IMP] web: reload filtered kanban column if emptied
When dragging out the last record of a filtered column, its filter is cleared and the column is reloaded.

Taskid-2454209

closes odoo/odoo#72755

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2021-06-30 12:06:28 +00:00
Bruno Boi e248773826 [FIX] web: various filtering kanban column scenarii
BEFORE
Various scenarii leads to inconsistencies on the progressbars when a filter is activated:
- when dropping in a non matching record
- when the view domain is updated (e.g. from some input in the search panel)

NOW
These scenarii works fine.

Taskid-2491196
Taskid-2454209
2021-06-30 12:06:28 +00:00
william-andre 177dbd60a2 [FIX] base: company.bank_ids is not the company of the company
This field was only used by thinking it was the banks owned by the
company, and not the banks registered for all partners by that
company.[1]
It has always been like that, since 7eab8e26d3
even though the field didn't exist on `res.company` before that
refactoring.

[1]: checked with the following regex `compan((y(_ids?)?)|ies)\.bank_ids`

closes odoo/odoo#73229

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2021-07-21 13:12:20 +00:00
Roopam Rathod 7aef86fa69 [FIX] account:Auto Post scheduler action threads killed by timeout.
Before this commit:

  When there is too much records to post and it's take time more than 15 minutes then server was restarted.
  So scheduler action will do the process with the same records again and again.

After this commit:

  post record in batch of 1000

opw-2451446

closes odoo/odoo#70831

X-original-commit: 819321c3a129613890ce49e3efe9a903c3218070
Signed-off-by: rrt-odoo <rrt-odoo@users.noreply.github.com>
2021-05-17 06:38:08 +00:00
Habib (ayh) e79316d229 [FIX] l10n_eu_service: set country on new taxes
Since 14.3, Taxes have a country field. Newly created taxes don't always have the correct country set, thereby making the tax unusable.

Issue identified in task 2591541

closes odoo/odoo#74060

X-original-commit: e3a78dcb62200bf43c41c558a995afedf882d64a
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: Habib Ayob <h4818@users.noreply.github.com>
2021-07-20 17:13:17 +00:00
ijas ahammed 3e37cb92c8 [FIX] website: avoid traceback when clicking on stat buttons
Prior to this commit, if we go to visitors form view and clicked on
stat buttons like offline/connected or visits, a traceback was
thrown because the buttons are meant for showing stat only, they
aren't linked to real actions / methods. It used to work before, but
the recent traceback is result of more strict checks from the web-client
re-write. See the original commit[1] for more information.

This commit sets 'disabled' attribute on the buttons, and keeps the action
from being performed for display-only stat buttons.

commit[1] - https://github.com/odoo/odoo/commit/0573acae2306bf5da2005852da9323ddc59e5431

TaskID-2593552

closes odoo/odoo#73813

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-07-19 10:04:53 +00:00
Andrea Grazioso (agr-odoo) b54c199c88 [FIX] sale: fix section creation for the down payments
After FW-port https://github.com/odoo/odoo/pull/64721
Section for down payment were added multiple times because of a typo

closes odoo/odoo#74025

X-original-commit: 7bbf13d47b122d80fd16cb9db79be86c44be97b6
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
2021-07-20 10:49:20 +00:00
Andrea Grazioso (agr-odoo) 09f985aba5 [FIX] stock: allow to use already defined SN
- Define a [DEMO] prod with tracking by SN and add some SNs
- Activate "use existing lot/serial number" on the receipt picking type
- Create a purchase order for [DEMO]
- Process the receipt in the barcode app:
  * Scan the product
  * Scan the SN barcode
  * Validate

User will get an error.
It seems that Odoo is trying to create this SN instead of
matching the existing one

opw-2474347

closes odoo/odoo#73610

X-original-commit: 09a1252b8a5bc194ffccd6c2437985328d08ba08
Related: odoo/enterprise#19632
Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
2021-07-20 08:48:24 +00:00
Nicolas Lempereur 2c028ca2a6 [FIX] http_routing: geoip longitude/latitude available
In 2018 geoip2 support was added to allow the new database format that
are freely available. But for these, only a subset of properties are
available.

Since Odoo 13 (August 2019), the sign module is using geoip latitude and
longitude for logging access to sign module signatures, but this was
only working for database using the first version of GeoIP databases.

In other use case there would never be any geolocalization recorded.

With this change, latitude and longitude are available in the session if
the right module/database is installed.

opw-2426323

closes odoo/odoo#73997

X-original-commit: 2be13b57749ac2c45de60717544c3061bbb29671
Signed-off-by: Christophe Simonis <chs@odoo.com>
2021-07-19 18:49:19 +00:00
Xavier Morel 3fad7a39ea [FIX] web: a few JS docstrings
jsdoc apparently doesn't understand arrow functions to indicate
function-valued attributes. Also add some default values in the
notifications typedefs.

closes odoo/odoo#74003

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2021-07-20 06:50:38 +00:00
Jeremy Kersten 02df207a04 [FIX] website: configurator set custom image as public
Before this commit, overrided images was not visible if not logged in.

How to reproduce
----------------
Install a theme with configurator to have custom image of industries.
Log out
You have original image instead of industries

closes odoo/odoo#73921

X-original-commit: d1241379a7c5f999b7a82ca290dd8b5f212a0997
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-07-16 16:55:14 +00:00
Munaf Khan df59f75966 [IMP] fleet,website: avoid duplicate menu items
Currently, some business object related menus have the
same names with the technical menus and it creates
confusion among users.

This commit renames the following menus:

 - in fleet app, 'Models' menu is renamed to 'Vehicle Models'
 - in website app, 'Views' menu is renamed to 'Page Views'

Apart from that, to be consistent with menu item, this commit
also renames the action 'website_visitor_view_action' from
'Views' to 'Page Views'.

TaskId-2595993

closes odoo/odoo#73755

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-07-19 09:43:13 +00:00
JordiMForgeFlow a961edeff5 [FIX] sale_mrp: filter cancelled moves when computing dropship delivered qty
The current behaviour implies that the quantity delivered will never
be updated if there are related moves that have been cancelled.

After the fix, when computing the quantity delivered, it will only
consider the stock moves that are not cancelled.

closes odoo/odoo#73573

X-original-commit: 6f6366888415c5e020ffee893a78cc7a3f6925f5
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2021-07-12 12:29:57 +00:00
Odoo's Mergebot 80b27a672f [MERGE] *: deprecate and replace non-owl t-raw
non-owl JS-side of #68072:

* deprecates `t-raw`
* adds a `t-out` which `t-esc` aliases and which "does the right thing"
* introduces a `Markup` function / object which is considered markup-safe by t-out (thus left unescaped)
  - unlike the python version, most of the override hooks (e.g. concatenation, formatting, ...) are not available in JS, we might eventually want to override some of the action methods (e.g. replace) but so far the needs seemed pretty limited
  - and javascript pretty strongly differentiates between a string (primitive) and a String (object), the latter being what Markup gets
  - so various constructs which can return a Markup in Python can't really afford to in JS: I tried with QWeb and e.g. jquery *really* does not deal well with non-primitive strings, as a result `_.escape` is shimmed to understand `Markup` objects but will not return markup objects when escaping strings
  - `sprintf` (the one from web.utils) was updated for Markup-awareness for convenience though
  - and `Markup` can be used as a template tag, in which case it will automatically escape the substitutions
- removed `messageIsHtml` from the non-owl notifications, replaced by the message being a markup object
- updated Dialog to work the same way (it did not even have a flag), removed explicit escaping from most of the callsites (only found one where we actually leveraged dialog titles being markup)
- modified the kanban view so HTML non-raw values automatically get wrapped in Markup

Also moved some formatting from the server to the client, either removing the need to inject markup entirely or making the use of `Markup` much cleaner than just "mark whatever the server returned as safe".

There are a few things I'm not entirely sure about e.g. whether even using markup is necessary for `formatMonetary`, doesn't the "unicode" NBSP work fine in HTML? Though we may need to keep `forceString` to ensure something like ascii-compatibility.

closes odoo/odoo#70004

Related: odoo/enterprise#18005
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2021-07-20 10:29:09 +02:00
Xavier Morel 22904af1f8 [FIX] website_event_exhibitor: de-traw-ify
Remove t-raw and mark website_description as markup-safe right after
fetching it.

Also update `_fetchSponsor` to use async/await, and remove seemingly
unnecessary empty div in template, and convert `<span>` to `<div>` as
the contents is arbitrary and thus could be a block.
2021-07-20 05:47:27 +00:00
Xavier Morel f7b1d02c16 [IMP] website_twitter: de-traw-ify
Not tested. I probably really need to add that replace() override
2021-07-20 05:47:27 +00:00
Xavier Morel 0691736b49 [IMP] website_slides: de-traw-ify
Replace the t-raws used for the end-of-quiz message by t-outs.

This requires marking the two subfields of `quiz/submit` as Markup,
rewrite the method in a more modern style while at it.

Also update the tour to ensure that the message is indeed inserted as
markup, reset the users' karma to a known value to ensure the
motivational message is predictable.
2021-07-20 05:47:26 +00:00
Xavier Morel 7f72555f4e [FIX] website_sale: de-traw-ify
* direct product attributes seem to not be necessary at all,
  `list_price` and `price` are just numbers
* mark `description_sale` as markup-safe at load
* mark ribbon.html as markup-safe at load
* mark embed code value as safe on rendering
2021-07-20 05:47:26 +00:00
Xavier Morel 2bd0873d44 [IMP] website_form: convert t-raw=0 to t-call 2021-07-20 05:47:24 +00:00
Xavier Morel e84a72767e [FIX] website: de-traw-ify dynamic snippets
Mark the fragments as markup-safe after fetching them.

Also make _render private (don't see any reason for it to be publicly
accessible), and avoid unnecessary intermediate enc/dec in it.
2021-07-20 05:45:52 +00:00
Xavier Morel cb5695f46f [FIX] website: remove t-raw in menu management
Update `_deletePage` to mark `.text` as markup-safe, and modernize the
code base: the outer promise seems useless, and so does the
`cancel_callback` of the dialog.
2021-07-20 05:45:48 +00:00
Xavier Morel 618562802e [IMP] [sale_]product_matrix: remove t-raw
Using `sale_product_matrix`'s tour as `product_matrix` doesn't
actually have any test for this.

Remove t-raw from the product_matrix(.extra_price) template, by moving
the formatting to the client side (unclear why it was done by the
server in the first place).

Also fixes a bug where a negative price_extra would have *two* `-`
signs: one before the currency, and one after the currency: the price
being formatted should be abs'd to avoid a negation being generated by
the monetary formatting. Also uses non-breaking spaces everywhere
where the server-side formatting mixed breaking and non-breaking
spaces. Keeps from the original the peculiarity that the extra price
should always have a sign positioned before prefix currency signs.

Also changes the calling conventions of `product_matrix.extra_price`:
instead of being called with a formatted `price` it's now called with
the entire cell object.
2021-07-20 05:41:36 +00:00
Xavier Morel 0fa788735a [FIX] pos_epson: convert t-raw=0 to t-out 2021-07-20 05:41:36 +00:00
Xavier Morel 129049f730 [IMP] portal: de-traw-ify chatter
Replace t-raw by t-out when outputting the chatter message.

Mark message body as safe during preprocessing: messages from the
portal chatter are automatically escaped when
posted (`/mail/chatter_post` assumes the message body is plaintext,
and escapes it before formatting it based on newlines, maybe one day
it'll accept markdown) while messages from the backend chatter are
"HTML-light" and should be sanitized.
2021-07-20 05:41:36 +00:00
Xavier Morel 492fcca54c [FIX] payment: de-traw-ify
Mark `display_message` (feedback from payment provider) as markup-safe.
2021-07-20 05:41:36 +00:00
Xavier Morel 5ff6faa67f [FIX] mrp, stock, purchase_stock: d-t-raw-ify leadDaysPopOver
And convert the `t-esc` in the template to `t-out` while at it.

So this was a bit of a bummer initially, the PopoverWidgetField gets a
pile of JSON as its value (so from the server), and that pile contains
a template name (optionally) and... the template context,
basically. For leadDaysPopOver the issue was some of that context is
supposed to be rendered HTML to straight inject into the template,
marking that as HTML-safe would be a bit of an issue (having the JSON
specify which parts of the value it returns are HTML-safe being a bit
of a conflict of interest).

However turns out the thing is way over-complicated and
over-engineered: `lead_days_description` necessarily has a very
regular structure owing to being injected as a set of table rows, so
the various overrides to `_get_lead_days` just make their own lives
complicated by formatting the values they want to return into table
rows matching the format of an unrelated template.

Instead we can change the signature of `_get_lead_days` so the
"description" is a list of values to inject in the table (list of
pairs, each pair matching the corresponding columns of the table). The
template can then take care of formatting those values into table rows
the usual way, removing the need for any injection of raw content.

This also makes for better / clearer translation strings.
2021-07-20 05:41:35 +00:00
Xavier Morel e1fdc523c6 [FIX] mail: remove non-owl t-raw
The Activity widget is apparently completely unused now that owl, so remove it, and its template
2021-07-20 05:41:35 +00:00
Xavier Morel 281f9c9738 [FIX] mail: de-t-raw-ify composer template
No idea why it's using a t-raw for smileys.
2021-07-20 05:41:35 +00:00
Xavier Morel b451441e58 [IMP] lunch: de-traw-ify
Remove t-raw of alert messages:

* Add alert testing to one of the existing tests.
* Transform widget data straight in `_fetchWidgetData` so the widget
  itself only ever sees the "proper" shape of things (to come), this
  includes the existing parsing and reformatting of `wallet`, as well as
  the new wrapping of all alerts' `message` in a `Markup`.

Note: conditional updating of `alerts` because while the endpoint
actual always sets it, test data doesn't necessarily do so (?).
2021-07-20 05:41:35 +00:00
Xavier Morel 75f13db36a [IMP] im_livechat: markup-ify im_livechat
Mark the message body as safe pretty much as soon as we receive the
message from the server:

* when receiving message-type notifications
* while loading history

Also reorder history loading a bit while at it:

* convert willStart to async
* immediately reverse & wrap history right there, seems unnecessary to
  wait until willStart since `reverse()` works in-place anyway
* when loading messages into the thread, `_.each` seems unnecessary,
  Array#forEach will do fine
2021-07-20 05:41:35 +00:00
Xavier Morel 9f9d913fb7 [FIX] web_editor: de-traw-ify wysiwyg template
`0` should be implicitly markup-safe.

Also migrate the two escs to t-out, there's no reason not to.
2021-07-20 05:41:35 +00:00
Xavier Morel 80061de80c [FIX] web, web_editor: de-traw-ify
Convert assets cssContents and jsContents to Markup objects.
2021-07-20 05:41:35 +00:00
Xavier Morel 67e7190611 [IMP] *: convert dialog title to t-out
Need to check and mark legit uses of HTML as Markup. Also fix some
title formattings which are not great (mostly around translations) and
de-escape titles which don't need to be escaped anymore.
2021-07-20 05:41:30 +00:00
Xavier Morel 0e552b96da [FIX] *: convert tip contents to t-out
Requires markup every markup-using tip content as Markup. Would be a
nice occasion to migrate everything to a markup-safe markdown I think,
especially if we could migrate the translations so we don't lose them.
2021-07-20 05:40:55 +00:00
Xavier Morel 27b02d2ec9 [FIX] web, *: de-t-raw kanban views
Add HTML fields support to kanban view (currently bespoke but maybe it
should be done via `format`), and remove t-raw for HTML fields there.

Also just strip some t-raws which were completely unnecessary to start with
2021-07-20 05:40:55 +00:00
Xavier Morel 5e987137a2 [FIX] web, project: remove t-raw from kanban example description
Descriptions which need to use markup should be explicitly marked as
such. Update examples test to check that both Markup and String
descriptions work fine.

`escFormat` had to be modified quite a bit and ended up requiring
being its own Markup-adjacent type: if the `sprintf()` result is wrapped
in a `Markup`, then what happens is we first decide to escape because
the object returned by `escFormat` only has a `toString()`, then that
blows up because `toString` returns a non-primitive object and the
regex used to implement `_.escape` is very very unhappy.

`escFormat` could return a `Markup` object but then it wouldn't be
lazy anymore which would rather miss the point.

Therefore implement `[_.escapeMethod]` on the thing, such that it
doesn't get escaped, because it's safe (ish).

Also as a result the icons probably don't need to be markup-ed. Oh
well shouldn't really matter.
2021-07-20 05:40:55 +00:00
Xavier Morel e89b626f54 [IMP] web: make formatMonetary return a Markup object for markup output
Only seems used by some obscure accounting widget, so even if it
breaks fast, we should be able to move things.
2021-07-20 05:40:55 +00:00
Xavier Morel 9d91d78f88 [FIX] web: remove t-raw in substates dropdown
it's just not useful
2021-07-20 05:40:54 +00:00
Xavier Morel 3151f42725 [FIX] web: remove t-raw from FieldMany2ManyTag template
`_badge_text` is just a dedup'd t-set body content, so should work
fine out of the box.
2021-07-20 05:40:54 +00:00
Xavier Morel 7689bf27c7 [IMP] web: remote t-raw from HiddenInputFile
t-call bodies (`0`) should always be markup-safe.
2021-07-20 05:37:42 +00:00
Xavier Morel 7e1827a011 [IMP] web: prepare for de-traw-ification
A note concerning the attributes which I will probably need to take a
look at in the vdom version: the Python version has to process attf in
order to stringify individual elements, and separately stringify the
attribute value so it gets forcefully escaped even if it's
markup-safe (because markup-safety and attributes-safety are
different).

The first should not need to be performed on the JS side, because
Markup can not overload addition, therefore in JS String + Markup is
String whereas in Python it's Markup (and the String gets forcefully
escaped). In general, js!markup is currently much simpler than
py!markup, both by necessity (can't overload operators) and
simplicity (we might want to overload some of the operations
e.g. String#replace, but that's complicated and it's not been strictly
necessary for now).

Also wrt Markup / _Markup: `class` ctors can only be invoked with
`new` meaning they can't be used as template strings or regular
functions. Here `class` is useful to avoid the mess of calling the
super's constructor explicitly (which may not even be possible for
`String`), however it means we need a facade function to support our
use-cases.

Also update `utils.sprintf` to be Markup-aware: if the format string
is a Markup object, interpolated values get automatically escaped (if
necessary) and the result remains a Markup object.

If we need to perform explicit instance check we can always set
`Markup.prototype = _Markup.prototype` (I think), however in theory
that's not necessary: there are protocols in place for the relevant
pseudo-escaping operations and they ought suffice.

qweb/js divergence from qweb/py
===============================

Unlike qweb/py, qweb/js will *not* return a Markup object. That is
because in js a primitive `string` and a boxed `String` object don't
match when typechecking, and while `markup instanceof String` passes,
`typeof markup === 'string'` does not.

The overwhelming majority of string typechecks are the latter: there
are all of 6 `instanceof String` in the entire codebase, all in
dependencies, while there are hundreds of `typeof $X === 'string'`,
several of which get fed the output of template rendering
e.g. `jQuery.parseXML` or `AbstractView#init` (some widgets will
render a template then use it as the `arch` of a subview, so
`viewInfo.arch` can be the output of a qweb template rendering). This
makes for very annoying and somewhat gnarly debugging.

Plus jQuery in particular really doesn't like being fed a boxed
String, as it will interpret said boxed string as an array, and assume
it's an array of DOM elements to wrap, leading to a rather strange
jQuery object as output. Since feeding the result of a template
rendering to jQuery is a major use-case in non-vdom widgets... that's
a bit of an issue.

For the same reason while `_.escape` is `Markup`-aware, unlike
`markupsafe-escape` it does not *produce*, though it is
`Markup`-transparent.
2021-07-20 05:37:42 +00:00
Xavier Morel 7a8c4068de [FIX] website_crm_partner_assign: de-traw-ify
Inserted content comes from markup so it's safe by
definition. Apparently missed it when cleaning up the server-side
templates.

Also remove the useless `ref_content` local, that's what `0` is for.
2021-07-20 05:37:41 +00:00
Xavier Morel ce50728aa0 [REM] lunch: outdated / unused file
lunch.xml apparently stoped being used in
855c6dac25, but was never deleted.

Finally drop it, and its t-raw.
2021-07-20 05:37:41 +00:00
Xavier Morel d60f73985b [FIX] payment_ogone: markupsafe HTML_ANSWER 2021-07-20 05:37:41 +00:00
svs-odoo 16be2b0705 [FIX] mrp_subcontracting: record components
Before this commit, for a subcontracted product with reserved available
tracked components, if at least one component is recorded but not all,
the "Record components" button isn't available anymore.

How to reproduce:
  - Create a product and create a subcontracting BOM for this product;
  - Add a tracked component for this product;
  - Add some qty. for the tracked component in the subcontracting loc.;
  - Create a receipt for the subcontracted product (for demand qty. more
    than 1) with the subcontractor as partner and confirm it:
    => The "Record components" button should be visible.
  - Record a part of the demand qty. then click on "Continue", then on
    "Discard":
    => The "Record components" button is now hidden.

It's because the button is hidden if all the MO are done or to close
(they are) and if all the tracked move lines have a SN/LN (they have as
they are reserved).

task-2604728

closes odoo/odoo#73991

X-original-commit: 392bc27c0ef0bc238a7eac98497b293622f0fe1d
Related: odoo/enterprise#19756
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2021-07-19 16:55:55 +00:00
Nicolas Bayet ac4ded1639 [FIX] web_editor: delete a contenteditable='false' node
Deleting a node with attribute contenteditable="false" did not work.

closes odoo/odoo#73987

Related: odoo/odoo#73588
X-original-commit: 1e15a85575d867f85c056c564dda94c900da1ea7
Signed-off-by: Antoine Guenet <Zinston@users.noreply.github.com>
2021-07-19 15:50:41 +00:00
Thierry Ducrest 569bd99781 [13.0][FIX] stock_account: average unit cost price
When the cost of a product is set to a value below the currency rounding
the average purchase cost price will be wrongly set to zero.

It can happen for product sold in large quantity, that the cost of one product
must be smaller than the smallest unit of currency.

Instead of doing the zero check with currency precision using the
product price precision, which is the one used for the `standard_price`
fields, makes more sense and fixes the problem.

opw-2601121

closes odoo/odoo#73985

X-original-commit: 251be6b943ea8c3f274bb0863d0af3f7c6b8d10d
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2021-07-19 15:23:02 +00:00