Purpose
=======
Simplify / reduce the warning message when we update a record in multi-languages
Specification
=============
1/ Make the translation banner little bit lighter in design
2/ Make it still visible when coming back from breadcrumb
Before this public users could see pages before their
date_publish.
request.website.is_publisher is a function that always exists. So the
if body will never be executed. Additionally, is_visible is a
non-stored computed field that can't be searched. So instead grab all
records that match and filter the ones that are visible.
This commit closes#20296
Since procurement removal introduced by commit 0e4f3bb959
product is editable once picking, timesheet,... are created.
However if the user modify the product it will not be reflected to
the related downstream object.
Previously it checks if a procurement order was linked to the sale line
and thus make it readonly.
This commit reproduce the old behavior by using a computed field that
can be override in sale_x modules in order to block the product
change for defined object.
- Create a vendor bill with a line linked to an asset category
- Validate the bill => an asset is created
- Refund the bill
The refund is also linked to an asset category. Therefore, upon
validation, a negative asset will be created.
The refund should not be linked to the asset category in a first place.
The user should cancel/modify the asset manually.
opw-775933
Nsis installer was installing the wrong MS Visual C++ redistributable
file. Python 3.6 needs MS Visual C++ 2015 redistruibutable files.
Also, Nsis now differentiate Windows architecture for the nssm service
and the MS C++ redist.
The created accounting entries have their debit/credit columns switched
because
- they use the sign of the value to post to decide if it should be
credit or debit
- an out move always have a negative sign
As this code is always called on out moves, we can safely reverse the
sign when getting the price_unit of the move.
Fixes#20080
Errors that are not whitelisted are not managed correctly due to the jsonrpc behaviour in Odoo.
When we make a post in json using iap.jsonrpc function, it contacts iap.odoo.com.
However, if this url does not respond, it falls back to the 'typo' page and the answer to the call
has a '200' status code but with an 'error' key in its response.
Currently, we manage the errors via whitelisting, which hides this kind of errors.
We opted to raise this error (odoo server side) as a UserError and to add UserError to the whitelist.
This commit adds a "Regenerate Assets Bundles" entry in the debug menu,
whose role is to unlink all assets from ir.attachment, forcing their
regeneration.
Purpose
=======
Expected revenue field on pop up have no any indication of currency due to that people enter a dollar sign in the field. Eg: $1234
then an error appears when trying to save saying that the field is invalid but the user doesn’t know why. If the currency symbol was displayed it would solve the problem.
Specification
=============
'Expected Revenue' field on wizard should be monetary in order to display the currency symbol.
Commit aab6bdd54a was incorrectly forward-ported to
10.0 at abb726d4df . Indeed share users could land
to a wrong backend or frontend page depending on the target app due to an
indentation issue.
After setting the image on a product variant, the controller for `/web/image`
incorrectly returns the code 304 - Not Modified. This bug occurs because
1. the response ETag is a hash of the **last modified date** of the record;
2. the record is actually **not** updated in that case, because
- the image field is a non-stored computed field, and
- its inverse method only modifies the variant's template.
Fix the issue by making the response ETag a hash of the **content**, which is
read by the controller anyway.
OPW 769302
stock_landed_costs.yml is adapted to validate the picking before
applying a landed cost on there. Applying a landed cost on a non
validated picking was never supported but the test fails due to
implementation changes in v11.
Due to this change, the last assert was wrong: indeed, applying a landed
cost on a delivered product creates 6 account move lines if anglo saxon
accounting is enabled. This case creates 4 landed costs on 2 delivered
stock moves, 4*2*6 == 48 account move lines.
The value and remaining value fields were correctly adapted when a
landed cost was applied on a move, but not the unit price one. This is
problematic, as the product should indeed cost more.
To properly compute this value, we change the meaning of
`stock_landed_cost_value` which is now the total value of the landed
cost, not the prorated value of what is still in stock.
Also fix the computation of the quantity already delivered in case of
negative stock.
Fixes#19254
Before this commit, when putting the mouse over an attachment in the attachment drop menu list, the date time displayed was UTC only.
After this commit, we convert that value to the correct timezone datetime.
OPW 776704
+ Some layout fixes
+ Controllers routes renaming
+ SASS -> LESS
Note: animations and layout could be further improved but the goal of
this commit was to refresh the code to master's new conventions.
Instead of just using create_uid as responsible, use a plain user_id
field for the PO and PO agreement responsible. This field is named
purchase representative but works like SO responsible and is now
tracked.
Field is added to various views and filters to ease the daily job
of purchase representative people.
Closes#17788 .
Fine tuning of c477f0764e
When setting a pricelist to show the public price discount, it ignored
the pricelist item's base field (if not 'Other Pricelist') and set it
by default on the lst_price instead.
This did not work when you based your discount on the standard_price
(= cost price) with public price discount.
Now it does.
opw:775275
This is a hotfix/hack for a conflict between website_quote and
website_sale, on the field website_description.
The conflict happens when both modules are installed.
Fixes#20118
Before this commit, if you had a simple link (just a href, not handled
in JS), you couldn't simply make it clickable only once.
This could be a problem in some cases. (eg: a btn creating a record, it would
create as many record as many times you clicked on it)
The same behavior could occur for link/button redirecting to a route creating a
record. There is a window of time between the click on the btn and the moment
the page is getting redirected.
You have time to click multiple time on it and it would call the URL multiple
time.
Now, there is a class 'js_disable_on_click' that will be handled in
website_root.js and will disabled the button after the first click.
The fix was originally aimed to fix multiple click on "Create Page" btn on 404
Steps to reproduce the bug:
- In Sales settings, set "Tax display" as "Show line subtotals without taxes"
- Create an article A with a customer tax set as price-inclusive.
- associate on an other article B the pricelist P with a discount_policy
set as "without_discount"
- Ensure that the pricelist P is used in the shop.
-Go to the shop
Bug: The article A is considered as discounted but the price is full.
The prices with included taxes were considered as discounted because
lst_price - webstie_price were always greater than 0. When the
"Show line subtotals without taxes" is checked for Tax display,
the field website_price never includes the taxes. That's why the
included taxes are substracted from the website_price.
opw:776526
When creating a new record with a non empty default value for a one2many
field, we did send the command 0 (for each one2many line) instead of the
command 1 (update). This was a pretty big problem, because then the
server would try to create a line with possibly incomplete data.
For example, it was not possible to create expense sheets: go to expense
menu, select one expense in the list view, click on the action menu
'submit to manager', this opens a form view with a one2many with the
selected expense, then save. Before this commit, this would lead to a
server error.