When compiling a less file in the asset bundles, we make sure that the
@import statements are 'sanitized', which is really non intuitive to
many developers. With this commit, we simply add more information to
the error message, to give them a better chance of not wasting their
time.
Thank you yenthe for the message...
Purpose
=======
The original yml doesn't test anything except a read on the related fields.
Specification
=============
Replace the test by a python test that compares the values with the expected ones.
If the user chose to "lock confirmed orders" in the sales's settings,
the procurements where not runned correctly and the associated delivery
orders were not created.
This issue is caused by the fact that `_action_launch_procurement_rule`
was done on done sale order line. We refactore the method so that we
call this method always when the sale order line are in `sale` state.
Fixes#20599
Make sure that the all move lines having the same result package have
the some destination location. This should not happen with the
previous commit.
Adapt the tests accordingly, their behaviour was wrong.
The user can only chose packages from the same location as the move line
as a source package.
The user can only chose packages
- of the same destination location as the move ine
- without location (meaning, empty)
- of the same id as the source location
as a destination location.
`document` variable may not be a filepath; in this case, it can contain
non-ascii characters that crash os.path.exists.
We improve the heuristic in order to avoid this.
When enabling the unit of measures, it was not possible to save a move
line as product_uom_id is required in the model and readonly in the
view. We add the "force_save" attribute.
Courtesy of @lap-odoo
Generalization of the field 'intercepts' at the
level of the function addMockEnvironment in
/web/.../testutils.js.
Previously, only createAsyncView had support for
'intercepts'. By moving to addMockEnvironment,
we generalize it, so that even mock environment
others than views could intercept bubbling events.
This is desirable in order to test the app_switcher,
so that we can intercept bubbling events like
'hide_app_switcher' to web_client.
Since addMockEnvironment already makes use of some
special intercepts ('call_service', 'load_views', ...),
We must handle the remaining intercepts afterwards,
hence at the very end of the definition of addMockEnvironment
In the FieldSelector, after clearing the chain and closing the popover,
the very first page was removed from the widget `pages`. This was causing
issue when trying to select a new field again.
This commit ensures that the first page is not sliced.
Previous to this commit, when importing a studio module with unmet
dependencies that were not studio the error message would just display
the Studio is required to install Studio customizations.
With this commit it should now correctly display the missing
dependencies by checking if only web_studio is in the set of unmet
dependencies
opw-777642
qsm:
This is because of multiple animations during edition (which is not
occuring afterwards). This is not supported, but as it does not break
anything, it can be kept as it is. However, we cannot access the
animation via 'snippet-view' anymore, which is fine as I am about to
deprecate it in master.
Remove weird special case: when the first field of the first line of a one2many
is empty, replace this first field by the comma-separated names of the lines,
and discard the other lines.
Fine tuning of this commit: 51d072db44
When clicking on the group of the Inventory at Date, the
product.price.inventory must follow the same order as the
read_group in stock.history.
opw:747857
trans_export has been decided to use a *bytes* output buffer as some of
the output formats are text-ish (e.g. po) but others are definitely
binary content (e.g. XML). Therefore, when calling trans_export with a
*file*, it needs to be open in *binary mode*.
Fixes#20555
Before this, if a new global was added to JS code (module toplevel,
function bodies are not considered) it would blow up when attempting
to resolve variable refs & uses.
Make the toplevel scope a defaultdict such that if e.g. a "foo" is
looked up in a module but not a local variable of that module it's
assumed to be an UnknownNS object (from which further UnknownNS can be
deref'd).
Before this commit, many2one fields were not (fully) usable in a list view: if
the user wrote some text, then when a dropdown with various choices
opened, pressed the 'down' key (to select a choice), the down keypress
caused a navigation move to the next line, which cancelled the
selection.
In this commit, we make the assumption that if the many2one dropdown is
opened, then navigation moves are not what the user wants.
- Create an asset, post one line.
- Go back to the asset => the button is green
- Click again on the line => the button is orange
There is no protection to prevent the user to post the same entry
several times (a new account move is created every time it is clicked).
We fix the JS widget, but we add an extra layer of protection at the
Python level.
opw-778756
When a lot is quick created, we don't want to be able to select a
product different than the one passed as default. So we have defined
where the product_id is readonly, and we still use the old view when a
lot is created from the menuitem lot.
Commit b131e9b0ef changed the way the keypress event was bound from vanilla JS to JQuery
In the pos, since it cleans up every jquery event for performances' sake, this binding was cancelled.
This commit cleans up the cleanup process of event at pos startup and rebind the keypress event to the now clean body.
OPW 778565
[FIX] point_of_sale: barcode bindings other strategy
closes#20535
Before the website refactoring, snippet animations were cleaned thanks
to the `stop` method. As those animations are now extensions of the
standard `Widget` class, the `stop` method was replaced by the standard
`destroy` method. This was tweaked so that the $el is not removed from
the DOM, but with proper cleaning of events. However, this changed the
way the `stop` method content has to be called. Indeed, we should be
allowed to call the `_super` method and then use the $el variable.
add missing string labels
rephrase the error message
add missing _description
removed forward-ported hr_equipment.pot
was unclear, courtesy of the translators
When creating a new company the system will generate a
new warehouse, its location and its routes.
However the default company is the company that the user is
using.
For example user is in company_1 and creates company_2 it will create:
'company_2: Receipt in 1 step' and the company_id on it will be company_1
This commit completes the dict for create routes in order to introduce
the key for company_id instead of using default value.
Use case to reproduce the bug:
- Enable multi company and create a second one.
- Add both company to another user and give him stock manager rights
- Login on the second user and select as active the created company
- Go to product and create one
-> access right error on stock.location.route message.
It happens because the routes 'buy' is selected by default.
However the route buy when created use the default company
although it's generic for all companies.
This commit change the data in order to remove the company on
routes buy, mto, manufacture and drop_shipping. Since this commit
was released after v11 release, it could happens that already created
database still have the problem thus the solution is to remove
manually the company on the routes quoted above.
opw-777718