The inventory adjustment form is not suitable for large inventories.
First, a list view embedded in a form view is not convenient since it
doesn't provide any search capabilities. The user has to rely on the
search feature of the browser, which has restricted features in
comparison to the Odoo search field.
Then, the existing onchange mechanism coupled with computed fields
triggers heavy computations impacting all lines each time a single
line is modified. This leads to a hanging page for every inventory line
modification, which causes a non-negligeable loss of time.
This commit introduces a new tree view for inventory lines, accessible
thanks to a stat button on the inventory page. This button is available
in debug mode, if the inventory is in state 'Confirmed'. The tree view
contains the same fields than the tree view embedded in the form view,
without the flaws of the latter.
opw-760614
* [ADD] doc: iap tutorial
Should be easier to approach than the raw APIDoc.
contains:
- overview of the flow
- tutorial (coalroller) with guidelines
- technical description of objects/helpers
This view was introduced by rev[1] to be more adequate in the usecase
of the finished move line in mrp. A priority was not set and thus it
became the default view for stock move line, even in the stock
application. Moreover, it used a field only used in mrp in a domain
resulting traceback when displayed in the context of stock.
[1] f6c89de81eFixes#20610
Do not try to run `action_assign` on the next move if it is done or
cancelled. The issue is that `action_assign` will first unlink the
existing pack operations before creating new ones, and the system
forbids to unlink these ones.
To reproduce this issue:
1. Create a product, routes manufacturing and MTO
2. Create SO with that product
3. Go to DO and force assign then cancel the delivery
4. Go to Manufacturing order created and produce
opw 778897
In 7eab8e26d3 res.partner was converted
to the new API, at that point company_type was changed from a stored
field manually synchronised with is_company (through create/write
overrides) into a proper computed field.
However to make it "editable" it was simply marked as
"readonly=False", which means even though UI-wise it looks editable
editing it does not actually do anything (things work in the partners
form because there's also an onchange which updates is_company on the
fly).
Fix by implementing an inverse function and actually do this
correctly.
Fixes#20623
- Go to Maintenance Requests, Create
- Go to 'Equipment' field, 'Create and edit'
- Go to 'Product Information' tab
- Click on 'Vendor' field, 'Create and edit'
'Is a Vendor' field is False
opw-779200
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
Fields `amount_type` on `account.tax` and `account.tax.template` are
already defined in the `account` module.
Redefining them here (with the same parameters) breaks every other
module that would have used `selection_add=` on those fields.
Actually, it is the case in `account_tax_python`, and thus, all the
localizations/customizations that depend on it were broken by this one.
~ Old API backport of 5d0d80afa5 ~
Fields `amount_type` on `account.tax` and `account.tax.template` are
already defined in the `account` module.
Redefining them here (with the same parameters) breaks every other
module that would have used `selection_add=` on those fields.
Actually, it is the case in `account_tax_python`, and thus, all the
localizations/customizations that depend on it were broken by this one.
(issue spotted by 11.0-nightly)
Closes#19812#20596
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