Thursday, November 23, 2023
23 changes · 17.0
Enhancements to existing features
Return slips now show the two barcodes with extra spacing between them. This reduces the chance of scanning the wrong barcode during warehouse return processing.
Original PR description
Description of the issue/feature this PR addresses: On the return slip, the 2 barcodes are too close to each other. So, it's too easy to scan the wrong barcode. We should add a bit more space between the 2 barcodes (For the demo, I had to take another document for managing the scanning) Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
The Windows IoT setup now includes a missing required component so the image can run as expected. This prevents startup failures for Windows-based IoT deployments and improves installation reliability.
Original PR description
Before the windows image couldn't run because the module websocket-client was missing, now it's added in the list of module to install on windows --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This change updates an internal web field lookup to use the current data context after an earlier platform change. It helps keep many-to-one field behavior working reliably without changing the user experience.
Original PR description
Since the new RelationalModel (PR: odoo/odoo#114024), getEvalContext no longer exists. In this commit, we will therefore replace the uses of getEvalContext with evalContext. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Copy-paste mistake in the template after refactoring. IDCodice for the Sender has to be filled with the CodiceFiscale and not with the VAT number.  Task link: https://www.odoo.com/web#id=3597050&model=project.task opw-3597050 Forward-Port-Of: odoo/odoo#143122
Original PR description
Copy-paste mistake in the template after refactoring. IDCodice for the Sender has to be filled with the CodiceFiscale and not with the VAT number.  Task link: https://www.odoo.com/web#id=3597050&model=project.task opw-3597050 Forward-Port-Of: odoo/odoo#143122
Manufacturing orders with manual consumption were incorrectly being forced to provide lot numbers in some cases. This fix restores the intended behavior and updates the warning wording to use “consume” instead of “pick,” making the message clearer for manufacturing users.
Original PR description
During previous fix: odoo/odoo#141797, the `not move.picked` check was moved to earlier in the if statement to avoid unnecessarily looping through the move lines, but the ( was forgotten to be moved with it. Since we don't want to force all manual consumption marked moves to have a lot_id, let's move the (. ENT PR: odoo/enterprise#51171 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The search results dropdown in the helpdesk website was appearing at full width instead of matching the search input width. This fix adjusts the styling so the dropdown properly aligns with the search box, improving the visual appearance and usability of the search feature.
Original PR description
The w-lg-50 was applied on the search box but the dropdown displaying the search results is inside the form tag. This commit applies the classes on the `<form>` tag instead, for the width to be applied on both the input and its dropdown. task-3582583 | Before | After | | -- | -- | | |  |
The date selector buttons in the embedded calendar view within the Knowledge module have been realigned to the left side to match the standard calendar view design. This visual consistency improvement ensures a uniform user experience across different calendar views in the application.
Original PR description
Purpose: -------- Align the date selector buttons of the embedded calendar view to the left to match the design of the "regular" calendar view. Task-3598721
The timesheet timer was updated to work with Odoo's newer data model changes. This is an internal cleanup that helps keep the timesheet interface functioning reliably without changing the user experience.
Original PR description
Since the new RelationalModel (PR: odoo/odoo#114024), getEvalContext no longer exists. In this commit, we will therefore replace the uses of getEvalContext with evalContext.
This issue arises when attempting to edit the job location field for a remote job or when there is no value in the job location, try to edit and save record. Steps to produce : - Install `website_hr_recruitment` module. - Open a job position that has a remote job location or no value in the job location. - Open editor > Edit that field and save the record. - Error will be generated. see the traceback: ``` TypeError: int() argument must be a string, a bytes-like object or a real numbe
Original PR description
This issue arises when attempting to edit the job location field for a remote job or when there is no value in the job location, try to edit and save record. Steps to produce : - Install…
This issue arises when attempting to edit the job location field for a remote job or when there is no value in the job location, try to edit and save record.
Steps to produce :
- Install `website_hr_recruitment` module.
- Open a job position that has a remote job location or no value in the job location.
- Open editor > Edit that field and save the record.
- Error will be generated.
see the traceback:
```
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
File "odoo/http.py", line 2139, in __call__
response = request._serve_db()
File "odoo/http.py", line 1715, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1742, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1943, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 191, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 717, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 30, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "addons/website/models/ir_ui_view.py", line 485, in save
super(View, self).save(value, xpath=xpath)
File "addons/web_editor/models/ir_ui_view.py", line 175, in save
self.save_embedded_field(arch_section)
File "addons/web_editor/models/ir_ui_view.py", line 46, in save_embedded_field
value = converter.from_html(Model, Model._fields[field], el)
File "addons/web_editor/models/ir_qweb_fields.py", line 230, in from_html
many2one_id = int(element.get('data-oe-many2one-id'))
```
This issue occurs because here
https://github.com/odoo/odoo/blob/5e0f5c98330ca1b5d0696c109c9e3a2050a6210c/addons/web_editor/models/ir_qweb.py#L215 it will get None and then when it will try to convert in int than error occurs.
after this commit user will not be able to edit the job location field.
sentry-4588277341
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#141825
Forward-Port-Of: odoo/odoo#140857Steps to reproduce: - Go to website (in "Edit" mode) > Drop a new popup snippet > Make it visible on all pages ("Show On" = "All Pages") > Save. - Add a new language (e.g. fr) > Try to translate the page > A warning is displayed: "Action 'get_page_option' was not able to be handled." - Try to save > The "save" button just keeps loading and the same warning is displayed again. Now let's try to do the following actions [1]: - Go to website (in "Edit" mode) > Drop a countdown snip
Original PR description
Steps to reproduce: - Go to website (in "Edit" mode) > Drop a new popup snippet > Make it visible on all pages ("Show On" = "All Pages") > Save. - Add a new language (e.g. fr) > Try to translate the…
Steps to reproduce:
- Go to website (in "Edit" mode) > Drop a new popup snippet > Make it
visible on all pages ("Show On" = "All Pages") > Save.
- Add a new language (e.g. fr) > Try to translate the page > A warning
is displayed: "Action 'get_page_option' was not able to be handled."
- Try to save > The "save" button just keeps loading and the same
warning is displayed again.
Now let's try to do the following actions [1]:
- Go to website (in "Edit" mode) > Drop a countdown snippet in the
footer > Set a conditional visibility on it (e.g. "Visibility" =
"Conditionally" = "Visible for Logged In") > Save.
- Try to translate the page > Save > We get the same error described
above.
Technical details:
Starting from [2], user has the possibility to translate invisible
blocks by allowing `_updateInvisibleDOM()` in "Translate" mode, which
makes them accessible in the edit bar.
In the case of an "All page" popup (The snippet is moved to the
`<footer/>` element to make it available on all pages...), the snippet
editor will be created with the parent's one (`<footer/>` in this
case) leading to the following behaviour when saving the page content
in "Translate" mode:
A- `cleanForSave()` called for all snippets...
B- `toggleTargetVisibility()` is then called for the `<footer/>` (which
doesn't have a `o_snippet_invisible` class).
C- `onTargetShow()` is consequently called allowing `_isShown()` to
check the footer visibility via the `get_page_option` action.
Since the navbar action widget (`ContentMenu` in this case) that handles
the action is not available in "Translate" mode, the action demand will
be aborted and we get the warning above.
Implemented solution:
- In "Edit" mode (for `s_popup` snippets):
The initial goal of this commit was to fix this behaviour by excluding
the parents when creation the `s_popup` editor in "Translate" mode.
But after some discussion, we prevent this behaviour for all `s_popup`
snippets (even in "Edit" mode) since they should not display their
parents options.
- In "Translate" mode (for all invisible snippets):
As described in [1], the issue will always occur if an invisible element
enables a parent option that needs action handers... And since we only
need to hide / display invisible elements to translate them, we also
prevent creating parents editors in "Translate" mode.
[2]: https://github.com/odoo/odoo/commit/04409af0571ed763c5712dbf857ea7dda81b2374
opw-3485565
Forward-Port-Of: odoo/odoo#143061
Forward-Port-Of: odoo/odoo#136160Current behavior: If a product had a sales description, it was displayed in the order when settling it from a sale order. But only the name should be displayed in the PoS. Steps to reproduce: - Create a product with a sales description - Create a sale order with this product - Go to the PoS and settle the order from the sale order - The name of the product is name + sales description instead of just the name. opw-3547814 --- I confirm I have signed the CLA and read the PR guidelines
Original PR description
Current behavior: If a product had a sales description, it was displayed in the order when settling it from a sale order. But only the name should be displayed in the PoS. Steps to reproduce: - Create a product with a sales description - Create a sale order with this product - Go to the PoS and settle the order from the sale order - The name of the product is name + sales description instead of just the name. opw-3547814 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#142765 Forward-Port-Of: odoo/odoo#141306
Versions: --------- - saas-16.3+ Steps to Reproduce: ------------------- 1. go to Sales / Products / Discount & Loyalty; 2. go to 10% Discount Coupons; 3. click on Generate Coupons; 4. generate for Selected Customers (yourself); 5. repeat to get a second coupon; 6. go to webshop and try to buy something; 7. at checkout, try to apply the first coupon. Issue: ------ Clicking the coupon's "Use" button doesn't seem to do anything. Cause: ------ The `claim_reward` method iterat
Original PR description
Versions: --------- - saas-16.3+ Steps to Reproduce: ------------------- 1. go to Sales / Products / Discount & Loyalty; 2. go to 10% Discount Coupons; 3. click on Generate Coupons; 4. generate for Selected Customers (yourself); 5. repeat to get a second coupon; 6. go to webshop and try to buy something; 7. at checkout, try to apply the first coupon. Issue: ------ Clicking the coupon's "Use" button doesn't seem to do anything. Cause: ------ The `claim_reward` method iterates over all potential coupons, always selecting the last, most recent one, only to reject it if the code doesn't match the coupon selected by the user. Solution: --------- Return as soon as a matching coupon is found. opw-3562615 Forward-Port-Of: odoo/odoo#142054
When the user creates a new article in Knowledge using a template, the system shows a dialog indicating that there is a conflict between the client and the server. This commit will ensure that the conflict dialog won't show up when the document does not have any versioning yet. Steps to reproduce the issue: 1. Go on Knowledge 2. Open the editor 3. Click on the "Browse Template" button 4. Choose a template 5. Click on the "Load Template" button Justification --- When the editor i
Original PR description
When the user creates a new article in Knowledge using a template, the system shows a dialog indicating that there is a conflict between the client and the server. This commit will ensure that the…
When the user creates a new article in Knowledge using a template, the system shows a dialog indicating that there is a conflict between the client and the server. This commit will ensure that the conflict dialog won't show up when the document does not have any versioning yet. Steps to reproduce the issue: 1. Go on Knowledge 2. Open the editor 3. Click on the "Browse Template" button 4. Choose a template 5. Click on the "Load Template" button Justification --- When the editor is started, the system generates a new snapshot with ids generated randomly (see: constructor of `OdooEditor`, `historyReset`, `_historyGetSnapshotStep`). When checking if the document is "stale" (i.e: out of sync), the system verifies the existence of a history step with the id specified in the `data-last-history-steps` attribute of the first node of the document (see: `_isLastDocumentStale`). If such a history step does not exist, the client document is considered "stale" and will be discarded. The `data-last-history-steps` attribute is set by the last writer when saving the document. When creating an article from a template, the server generates a new record and copies the template's body in the article's body. The system does not set any `data-last-history-steps` in the document. As a result, the document will be considered "stale" when opening the article and a conflict dialog will warn the user that the current document will be discarded. This commit will update the `_isLastDocumentStale` function to ensure that a document that has not been versioned yet won't be considered as "stale". The `data-last-history-steps` attribute will then be set when the user opens the article and save it. task-3587990 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141821
When there was no product in 'Gift Card Products' every product was generating product equal to it's value. Now when there is no product specified, no product will generate gift card. opw-3415384 Forward-Port-Of: odoo/odoo#142503 Forward-Port-Of: odoo/odoo#140112
Original PR description
When there was no product in 'Gift Card Products' every product was generating product equal to it's value. Now when there is no product specified, no product will generate gift card. opw-3415384 Forward-Port-Of: odoo/odoo#142503 Forward-Port-Of: odoo/odoo#140112
I. In URL regex there were certain issues wherein it failed to validate against domain list under certain circumstances involving URLs with two dots. for eg. this.document.anything. Now we ensure that if a URL regex does not ends with the domains in tldWhiteList, it must start with `http://`, `https://`, `www.` or if it does not start with `http://`, `https://`, `www.`, it must end with a domain from the tldWhiteList. II. Commit [1](https://github.com/odoo/odoo/commit/a42a19e484d63cebeae
Original PR description
I. In URL regex there were certain issues wherein it failed to validate against domain list under certain circumstances involving URLs with two dots. for eg. this.document.anything. Now we ensure…
I. In URL regex there were certain issues wherein it failed to validate against domain list under certain circumstances involving URLs with two dots. for eg. this.document.anything. Now we ensure that if a URL regex does not ends with the domains in tldWhiteList, it must start with `http://`, `https://`, `www.` or if it does not start with `http://`, `https://`, `www.`, it must end with a domain from the tldWhiteList. II. Commit [1](https://github.com/odoo/odoo/commit/a42a19e484d63cebeaed10b75ac20e507ff85d56) introduces a stronger regex for url containing symbols. It did so by using a negative lookbehind, which was not supported on some version of Safari iOS and edge. Later commit [2](https://github.com/odoo/odoo/commit/ff99e454e2a38ae54aa57cb0df80df139e921ccb) was introduced in attempt to reproduce the same behaviour without using negative lookbehind but missed some cases such as github compare link where the url had multiple symbols. This commit is an attempt to reproduce the same behaviour like [1](https://github.com/odoo/odoo/commit/a42a19e484d63cebeaed10b75ac20e507ff85d56) while improving [2](https://github.com/odoo/odoo/commit/ff99e454e2a38ae54aa57cb0df80df139e921ccb). [1] : a42a19e [2] : ff99e45 task-3468646 Forward-Port-Of: odoo/odoo#135321
In Fattura Semplificata, copy-paste mistake in the template after refactoring. IDCodice for the Sender has to be filled with the CodiceFiscale and not with the VAT number. (We only use VAT number if we don't find the CodiceFiscale.) related PR: odoo/odoo#143122 Task link: https://www.odoo.com/web#id=3597050&model=project.task opw-3597050 Forward-Port-Of: odoo/odoo#143175
Original PR description
In Fattura Semplificata, copy-paste mistake in the template after refactoring. IDCodice for the Sender has to be filled with the CodiceFiscale and not with the VAT number. (We only use VAT number if we don't find the CodiceFiscale.) related PR: odoo/odoo#143122 Task link: https://www.odoo.com/web#id=3597050&model=project.task opw-3597050 Forward-Port-Of: odoo/odoo#143175
Correct the wording of "Visa Expire Date" to "Visa Expiration Date" for the visa_expire field to be more grammatically correct. task-3595978 Forward-Port-Of: odoo/odoo#143103 Forward-Port-Of: odoo/odoo#142161
Original PR description
Correct the wording of "Visa Expire Date" to "Visa Expiration Date" for the visa_expire field to be more grammatically correct. task-3595978 Forward-Port-Of: odoo/odoo#143103 Forward-Port-Of: odoo/odoo#142161
Description of the issue/feature this PR addresses: Current behavior before PR: condition: install sale_loyalty only - right after archived e-wallet program, system will show python pop-up error tuple index out of range Video before https://github.com/odoo/odoo/assets/106657372/f1d9267d-4ba0-4d1b-abff-0e730e1155d9 Desired behavior after PR is merged: - able to open archived e-wallet program Video after: https://github.com/odoo/odoo/assets/106657372/fc146400-4474-4580-b
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: condition: install sale_loyalty only - right after archived e-wallet program, system will show python pop-up error tuple index out of range Video before https://github.com/odoo/odoo/assets/106657372/f1d9267d-4ba0-4d1b-abff-0e730e1155d9 Desired behavior after PR is merged: - able to open archived e-wallet program Video after: https://github.com/odoo/odoo/assets/106657372/fc146400-4474-4580-b7de-1722f5c20341 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#143092
This commit fixes an issue where if one sets no_create_edit and no_quick_create to true on a m2o while no_create is unset, no dropdown is shown to tell the user that no record was found. task-3599696 Forward-Port-Of: odoo/odoo#142880
Original PR description
This commit fixes an issue where if one sets no_create_edit and no_quick_create to true on a m2o while no_create is unset, no dropdown is shown to tell the user that no record was found. task-3599696 Forward-Port-Of: odoo/odoo#142880
The arrow in the inputs of the side panel was stuck to the side of the input, without any padding. Task: [3376873](https://www.odoo.com/web#id=3376873&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139808
Original PR description
The arrow in the inputs of the side panel was stuck to the side of the input, without any padding. Task: [3376873](https://www.odoo.com/web#id=3376873&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139808
This commit fixes a bug in page creation by the configurator. This only happened with pages containing only one snippet, like the "Pricing" page or the "Privacy Policy" page (default themes). Because of this bug, the snippet that should be placed in the page had its parent element `<section>` replaced with a `<div>`, so the section options were no longer available in edit mode, such as background options, delete/duplicate/save the snippet, etc. Steps to reproduce the bug: - Create a new we
Original PR description
This commit fixes a bug in page creation by the configurator. This only happened with pages containing only one snippet, like the "Pricing" page or the "Privacy Policy" page (default themes). Because of this bug, the snippet that should be placed in the page had its parent element `<section>` replaced with a `<div>`, so the section options were no longer available in edit mode, such as background options, delete/duplicate/save the snippet, etc. Steps to reproduce the bug: - Create a new website using the configurator. - Check the "Pricing" box in the list of features to create the "Pricing" page. - Once the website creation is complete, go to the "/pricing" page. - In edit mode, click on the "comparisons" snippet. - Bug: Some options are missing for the snippet, for example, it's not possible to delete the snippet or change its background. task-3570903 Forward-Port-Of: odoo/odoo#139867
Various fixes over the subcontracting flow, mainly due to the mixup between setting a `quantity_done` directly on the subcontracted move then validating the reception picking and using the `record components` menu. More details in the commit messages. Task-3383596 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141065 Forward-Port-Of: odoo/odoo#129009
Original PR description
Various fixes over the subcontracting flow, mainly due to the mixup between setting a `quantity_done` directly on the subcontracted move then validating the reception picking and using the `record components` menu. More details in the commit messages. Task-3383596 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#141065 Forward-Port-Of: odoo/odoo#129009
Steps to Reproduce : - In the settings - Go to technical - In decimal accuracy select product price and change digits to 3 the digits is impacting product form view and not the add product view in the field service. Fix : We have passed field_digits in the options task-3268763 Forward-Port-Of: odoo/enterprise#51108 Forward-Port-Of: odoo/enterprise#40065
Original PR description
Steps to Reproduce : - In the settings - Go to technical - In decimal accuracy select product price and change digits to 3 the digits is impacting product form view and not the add product view in the field service. Fix : We have passed field_digits in the options task-3268763 Forward-Port-Of: odoo/enterprise#51108 Forward-Port-Of: odoo/enterprise#40065