Friday, December 15, 2023
37 changes · 17.0
New functionality added to Odoo
This change adds sample accounting data for Uruguay, including demo companies, partners, journals, invoices, refunds, currency rates, and related localization records. It helps users and implementers evaluate and demonstrate the Uruguayan accounting setup more easily without creating sample transactions manually.
Original PR description
Task: 33903 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
Enhancements to existing features
Adds clearer repository description and a new pull request template to make contributions easier to understand and standardize. Also includes a contributor license agreement signature update, supporting compliance for future work.
Original PR description
## [README & PR TEMPLATE](https://trello.com/b/byaP2Cqt/odoo-reservist-management) _Media not available / not needed._ ## Description: Created a pull request template, as the old one didn't fit into…
## [README & PR TEMPLATE](https://trello.com/b/byaP2Cqt/odoo-reservist-management) _Media not available / not needed._ ## Description: Created a pull request template, as the old one didn't fit into our needs. Created a _docs_ folder and in it, created the file named _pull_request_template.md_. Also, added a description section for the README.md, as it didn't exactly specify what's the need for this repository. ## Changes: - Created _docs_ folder containing the PR template file. - Added a new section to the _README.md_, which describes the use of the repository. ## How to test: - This is feature is not testable. ## Sources cited: - [Chapter 2: Development environment setup](https://www.odoo.com/documentation/16.0/developer/tutorials/getting_started/02_setup.html) - [Make your first contribution](https://www.odoo.com/documentation/16.0/contributing/development.html#contributing-development-first-contribution) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
LATAM journals will no longer show gap warnings that do not fit how local vendor bills and customer invoices are numbered. This reduces confusing messages for accounting users and helps them focus on relevant document issues.
Original PR description
…se for LATAM journals 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
Documentation and clarification updates
This pull request records that contributor JoonasHeinonen has accepted and signed Odoo's Contributor License Agreement. This supports legal compliance for accepting their contributions and has no direct effect on product features or users.
Original PR description
# I accept CLA... I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
task id: 3621302 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#144510
Original PR description
task id: 3621302 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#144510
This change prevents an error that could occur when processing certain Latin American accounting documents, such as withholdings. It helps users complete these transactions without interruption.
Original PR description
introduce by https://github.com/odoo/odoo/commit/1485692bb9d144375c81e353ccc3e358646fbacc Description of the issue/feature this PR addresses:  for example on `Withholding` because `move_type` = `'entry'` CC: @jco-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The POS payment screen now correctly shows the Customer label in the user's selected language. This improves the checkout experience for non-English users by removing an untranslated label.
Original PR description
### Steps to reproduce issue: 1. Select non english language 2. Open a POS session 3. Select a product 4. Got to payment UI 5. "Customer" is not translated ### Explanation: Concerned element uses a `t-out` with an `or` operator, translation can not apply to it. ### Suggested fix: Use of distinct tags with `t-if` and `t-else` instead, to make translation work. (Due to a field having the same key and the affected file already being referenced, the .pot file does not need updates.) opw-3636234
This fixes an issue where checkboxes marked as selected by default in website forms lost that setting after the page was saved. Businesses using website forms can rely on preselected checkbox options staying in place for visitors, avoiding configuration errors and inconsistent form behavior.
Original PR description
Before this commit and since PR [1], the default "checked" value set on checkboxes field on the form snippet were lost once the page is saved. This is because [1] changed the rendering engine of qweb…
Before this commit and since PR [1], the default "checked" value set on checkboxes field on the form snippet were lost once the page is saved. This is because [1] changed the rendering engine of qweb templates from our own qweb js rendering code to owl templates rendering. By doing so, `t-att-checked="'checked'"` would toggle the "internal" checkbox checked value but would not add the checked attribute on the element. It's a deliberate choice made in owl. As the checked attributed does not mean the same as the internal checked value, it makes sense. Indeed, the checked attribute is about the default value of the checkbox while the checked internal value is about the current checked state of the checkbox. In React, for instance, the same behavior can be seen. And if one wants to really set the checked attribute, they got to go with `defaultChecked`. Same apply with `value`. Maybe owl will implement the same `defaultXXX` behavior in the future as it's something that was already discussed on their side. [1]: https://github.com/odoo/odoo/pull/130467
The website page list no longer offers a duplicate action that could create pages with the same URL. This prevents hidden or confusing duplicate pages and keeps the proper cloning flow through page properties, where users are asked for a new page name and URL.
Original PR description
Before this commit and since commit [1], it was possible to clone a page in the page list view. It shouldn't be the case, cloning a page lead to bad result: a page with the same URL which is not shown in the page list view because pages are filtered by URL to remove duplicates. Cloning a page has always had to be done through the page properties > "clone page" button. Doing it this way will ask the user for a new page name (and so a new url). The page will then correctly be listed. [1]: https://github.com/odoo/odoo/commit/3192051806e0da1276604a31ad818f8768105362 opw-3591738
This update removes unnecessary extra spacing that was appearing on the right side of embedded views in the Knowledge module. The spacing was previously added but is not needed for comments in embedded views, so it has been cleaned up to improve the visual appearance and layout of the interface.
Original PR description
This PR removes the extra space on the right side of an embedded view. The extra space was added in https://github.com/odoo/enterprise/commit/3f5487f89e27, but we don't need that space for comments in the case of embedded views. Therefore, we are removing it. **Task**-3619543
A bug was fixed in the Documents module where the system was attempting to write to a display name field on attachments that doesn't have a setter function. This fix prevents errors and ensures the attachment handling works correctly without trying to modify read-only fields.
Original PR description
This field is only a getter with no setter. https://github.com/odoo/odoo/pull/146109
This update fixes a technical error that occurred when users tried to group calendar events by partner in the gantt view. The fix removes unused code that was causing the error. This was leftover from a previous feature attempt that was discontinued, so no users should be affected by this change.
Original PR description
Currently if you group the gantt view on calendar events by partner_ids you get a traceback because we try calling a method that is not named properly. As the intended feature is not supported and we don't expect anybody to have been using the method nor is it used anywhere internally we remove both the python method that should have been called and its caller in js. It was a remnant of trying to make grouping by partner_ids the default Which ended up being scrapped except for this part. Although it is being reestablished in 17.0 and up with this task task-3452277 Forward-Port-Of: odoo/enterprise#52702
This fix removes a duplicate entry of the fiscal regime information that was appearing twice in Mexican invoice reports. The fiscal regime is now displayed only once, cleaning up the invoice layout and ensuring accurate document presentation for Mexican tax compliance.
Original PR description
[FIX] l10n_mx_edi: Remove duplicated Fiscal Regime. After checking with the PO, this fix is to resolve a duplicate of the fiscal regime in the `invoice_report` as it is mentioned twice. opw-3601138 Forward-Port-Of: odoo/enterprise#52438
The reconciliation wizard now hides the 'Allow partial' option when processing a single transaction line, since partial reconciliation doesn't apply in this scenario. This streamlines the user experience by removing unnecessary options and preventing confusion during the reconciliation process.
Original PR description
Make the 'Allow partial' checkbox invisible if the wizard is opened with one and only one line. It doesn't make sense to have partials on a single line since for now the amount of the write-off is not editable/customizable (that will change in master). task-id: opw-3490136 Forward-Port-Of: odoo/enterprise#51815
Snailmail letters failed to fail in newer version of Odoo starting from saas-16.2. The cause is a report attachment was supplied at the creation of the letter, preventing the snailmail module to generate its own report with its custom CSS. Said CSS was also rewritten to be clearer and to fix the follow up report's broken snailmail layout. Forward-Port-Of: odoo/odoo#145368
Original PR description
Snailmail letters failed to fail in newer version of Odoo starting from saas-16.2. The cause is a report attachment was supplied at the creation of the letter, preventing the snailmail module to generate its own report with its custom CSS. Said CSS was also rewritten to be clearer and to fix the follow up report's broken snailmail layout. Forward-Port-Of: odoo/odoo#145368
Steps to reproduce [1]: - Go to website (blog post page) > Change the layout of the cover (Customize > 'Regular' Cover). - Click on the cover (in edit mode) > You can type anything inside and use the text tools (E.g. if you add an image from the toolbar, it will be added on all blog posts). Steps to reproduce [2]: - Go to website (`/calendar` page) > Unpublish an appointment page. - Go back to the `/calendar` page > Switch to edit mode > You still can edit the "unpublished" ta
Original PR description
Steps to reproduce [1]: - Go to website (blog post page) > Change the layout of the cover (Customize > 'Regular' Cover). - Click on the cover (in edit mode) > You can type anything inside and use the…
Steps to reproduce [1]: - Go to website (blog post page) > Change the layout of the cover (Customize > 'Regular' Cover). - Click on the cover (in edit mode) > You can type anything inside and use the text tools (E.g. if you add an image from the toolbar, it will be added on all blog posts). Steps to reproduce [2]: - Go to website (`/calendar` page) > Unpublish an appointment page. - Go back to the `/calendar` page > Switch to edit mode > You still can edit the "unpublished" tag on the items cover (add text, images,... using text tools). The editor uses some methods (`getContentEditableAreas()`, `getReadOnlyAreas()`,...) to check if an area should be marked as editable on load, there is already a cover selector used to define a record cover as an editable zone, but this selector is targeting the whole element, leading to the behaviour described in [1] & [2]. We actually just need to set the savable content (usually the record `name` and `subtitle` fields) as editable and not the whole element. The goal of this commit is to fix this behaviour by removing the cover along with its descendants from the initial editable zones (especially to prevent the scenario in [2], see: `$editableSavableZones`) and only setting the savable fields as editable areas. opw-3561659 Forward-Port-Of: odoo/odoo#146038 Forward-Port-Of: odoo/odoo#144391
This PR improves phone_validation tooling * fix issue when adding or removing a 'phone.blacklist' record with a void number; * improve parsing, try to be defensive with input number to recover from some commonly found issues with '+' or '00' prefixes; * add tooling to extract region information from a number. See sub commits for more details. Task-3608129 (Whatsapp: Moultifix !) Forward-Port-Of: odoo/odoo#145554
Original PR description
This PR improves phone_validation tooling
* fix issue when adding or removing a 'phone.blacklist' record
with a void number;
* improve parsing, try to be defensive with input number to recover
from some commonly found issues with '+' or '00' prefixes;
* add tooling to extract region information from a number.
See sub commits for more details.
Task-3608129 (Whatsapp: Moultifix !)
Forward-Port-Of: odoo/odoo#145554**steps to reproduce:** - configure your POS with anglosaxon accounting and "Update quantities in stock" at session closing and enable "Use QR code on ticket" - open the POS, sell a storable product and close the session - scan the QR code on the ticket to create an invoice - check the pickings on the session form view **before this commit:** - 2 pickings are created, one at session closing and one from the invoice **after this commit:** - if the session is closed, do not create a ne
Original PR description
**steps to reproduce:** - configure your POS with anglosaxon accounting and "Update quantities in stock" at session closing and enable "Use QR code on ticket" - open the POS, sell a storable product and close the session - scan the QR code on the ticket to create an invoice - check the pickings on the session form view **before this commit:** - 2 pickings are created, one at session closing and one from the invoice **after this commit:** - if the session is closed, do not create a new picking opw-3592418 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145970 Forward-Port-Of: odoo/odoo#145473
Since PR odoo/odoo/pull/124068, the browser history back no longer works correctly when navigating from the home menu to applications. It requires two history backs instead of one. Why: Two pushStates are performed on the router, the first to add the menu_id and the second to apply the action associated with the menu. These two pushStates are not in the same setTimeout, which causes two changes to the url. So two entries in the browser history . Solution: We perform the two pushStates in
Original PR description
Since PR odoo/odoo/pull/124068, the browser history back no longer works correctly when navigating from the home menu to applications. It requires two history backs instead of one. Why: Two…
Since PR odoo/odoo/pull/124068, the browser history back no longer works correctly when navigating from the home menu to applications. It requires two history backs instead of one.
Why:
Two pushStates are performed on the router, the first to add the menu_id and the second to apply the action associated with the menu. These two pushStates are not in the same setTimeout, which causes two changes to the url. So two entries in the browser history .
Solution:
We perform the two pushStates in the same setTimeout. This causes only one url modification and therefore one entry in the browser history.
How to reproduce:
- Go to the home menu
- Click on the app A
- Return to the home menu using the toggle menu
- Click on the app B
- Perform a history back
- The home menu is displayed
- Perform a history back
Before this commit:
The home menu is still displayed
After this commit:
The app A is displayed.
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#146095**Description of the issue/feature this PR addresses**: Add groups to product tree view to prevent ACLs error with quantity fields. **Current behavior before PR**: - Create a product A. - Update the available quantity of the product. - Create a basic user without Inventory permissions. - Go to the product list (`product.product` or `product.template`) and get an error when access to stock.move records to set the `qty_available` field (for example). **Desired behavior after PR is merge
Original PR description
**Description of the issue/feature this PR addresses**: Add groups to product tree view to prevent ACLs error with quantity fields. **Current behavior before PR**: - Create a product A. - Update the available quantity of the product. - Create a basic user without Inventory permissions. - Go to the product list (`product.product` or `product.template`) and get an error when access to stock.move records to set the `qty_available` field (for example). **Desired behavior after PR is merged**: No `stock.move` access error displayed in product list. @Tecnativa TT45220 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#142408 Forward-Port-Of: odoo/odoo#136603
Before this commit, attempting to do `self.env['calendar.event'].write({'partner_ids': [0, 1, 2]})` would give a traceback as the method that updates attendees only supports parsing commands, not ids. This is a problem as that method is called from 'write' and other methods with the assumption that partner_ids can only contain commands. This will not be the case when using a gantt view and grouping by partner_ids for example, and cannot be worked around. task-3452277 --- I confirm
Original PR description
Before this commit, attempting to do
`self.env['calendar.event'].write({'partner_ids': [0, 1, 2]})` would give a traceback as the method that updates attendees only supports parsing commands, not ids.
This is a problem as that method is called from 'write' and other methods with the assumption that partner_ids can only contain commands.
This will not be the case when using a gantt view and grouping by partner_ids for example, and cannot be worked around.
task-3452277
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#146161Since [this other commit], we add ZWS characters to the edges of links. Unfortunately, this breaks the label option of the link tools that has been introduced in [this commit]. Steps to reproduce the issue: - Go to website - Edit a page - Click on the contact us button in the header - Using the label option of the link tools, delete the final character => Nothing happens. The final character is not deleted as expected. [this other commit]: https://github.com/odoo/odoo/commit/ab40
Original PR description
Since [this other commit], we add ZWS characters to the edges of links. Unfortunately, this breaks the label option of the link tools that has been introduced in [this commit]. Steps to reproduce the issue: - Go to website - Edit a page - Click on the contact us button in the header - Using the label option of the link tools, delete the final character => Nothing happens. The final character is not deleted as expected. [this other commit]: https://github.com/odoo/odoo/commit/ab40f484d55e151e175ccf9d6b3ea3bf34c56b35 [this commit]: https://github.com/odoo/odoo/commit/75166dbcd4962f30624fe19829757acbf8e76022 Related to runbot-44779 Forward-Port-Of: odoo/odoo#146242 Forward-Port-Of: odoo/odoo#145770
The issue: having 2 invoices with different customer, each customer has a different language, the 'Unaxed amount' string will get translated into the first language of the first invoice partner. The fix: including the customer language in the context opw-3569173 Forward-Port-Of: odoo/odoo#145420 Forward-Port-Of: odoo/odoo#143321
Original PR description
The issue: having 2 invoices with different customer, each customer has a different language, the 'Unaxed amount' string will get translated into the first language of the first invoice partner. The fix: including the customer language in the context opw-3569173 Forward-Port-Of: odoo/odoo#145420 Forward-Port-Of: odoo/odoo#143321
Step to reproduce: - Go to Website Editor - Add a block like Text-Image - Change the Font Color for the title to a "Gradient" - Add an icon in the title -> The icon is not displayed on iphone Note that it was probably working with commit [1] but not anymore with commit [2]. [1]: https://github.com/odoo/odoo/commit/187acb938f70a2130d25fa76079221339c742f1e [2]: https://github.com/odoo/odoo/commit/372eeebb47b93890d567185879981e817cdc1326 opw-3614325 | Before | after | | - | - | |
Original PR description
Step to reproduce: - Go to Website Editor - Add a block like Text-Image - Change the Font Color for the title to a "Gradient" - Add an icon in the title -> The icon is not displayed on iphone Note that it was probably working with commit [1] but not anymore with commit [2]. [1]: https://github.com/odoo/odoo/commit/187acb938f70a2130d25fa76079221339c742f1e [2]: https://github.com/odoo/odoo/commit/372eeebb47b93890d567185879981e817cdc1326 opw-3614325 | Before | after | | - | - | |  |  | Forward-Port-Of: odoo/odoo#146117
__Current behavior before commit:__ `_compute_meeting` computes the meetings linked to the children of the partners in `self`. To do so, it first retrieves all children partners of `self`, then it loops through all of them to apply the meetings to the parents. This way of doing is inefficient because it is useless to iterate over the children that don't have any meetings. This can be particularly annoying if there is a partner that is a big company with 100k+ children partners. If this co
Original PR description
__Current behavior before commit:__ `_compute_meeting` computes the meetings linked to the children of the partners in `self`. To do so, it first retrieves all children partners of `self`, then it…
__Current behavior before commit:__ `_compute_meeting` computes the meetings linked to the children of the partners in `self`. To do so, it first retrieves all children partners of `self`, then it loops through all of them to apply the meetings to the parents. This way of doing is inefficient because it is useless to iterate over the children that don't have any meetings. This can be particularly annoying if there is a partner that is a big company with 100k+ children partners. If this company apperas in the res.partner kanban view, it will load for several minutes even when there is no partner with a meeting. __Description of the fix:__ Optimize `_compute_meeting` by looping through the partners that have a meetings instead of all children partners. __Benchmark:__ | len(all_partners) | w/o fix | with fix | | ----------------- | ------- | -------- | | 1k | 111 ms | 19 ms | | 150k | > 3 min | 1.82 s | opw-3511371 Forward-Port-Of: odoo/odoo#145545 Forward-Port-Of: odoo/odoo#137279
Description of the issue/feature this PR addresses: Within the project task form view, in the timesheet notebook, the "Remaining Hours on SO" label becomes misaligned when the planned hours are set to 0. Fix: To ensure proper alignment, add a condition for the label. task:3468392 Forward-Port-Of: odoo/odoo#146012 Forward-Port-Of: odoo/odoo#134078
Original PR description
Description of the issue/feature this PR addresses: Within the project task form view, in the timesheet notebook, the "Remaining Hours on SO" label becomes misaligned when the planned hours are set to 0. Fix: To ensure proper alignment, add a condition for the label. task:3468392 Forward-Port-Of: odoo/odoo#146012 Forward-Port-Of: odoo/odoo#134078
[FIX] web_editor: make loadImageInfo() robust to protocol relative URLs Steps to reproduce: - Add a "Text-Image" on the website. - Replace the image by one of your own. - Save. - With the html editor, remove the `mimetype` attribute, the `data-original-src` attribute and change the `src` of the picture into the corresponding protocol-relative one. The `src` then looks like "//domain/web/image/...". - Save the modifications of the html editor. - Enter in edit mode. - Click on the ima
Original PR description
[FIX] web_editor: make loadImageInfo() robust to protocol relative URLs Steps to reproduce: - Add a "Text-Image" on the website. - Replace the image by one of your own. - Save. - With the html…
[FIX] web_editor: make loadImageInfo() robust to protocol relative URLs Steps to reproduce: - Add a "Text-Image" on the website. - Replace the image by one of your own. - Save. - With the html editor, remove the `mimetype` attribute, the `data-original-src` attribute and change the `src` of the picture into the corresponding protocol-relative one. The `src` then looks like "//domain/web/image/...". - Save the modifications of the html editor. - Enter in edit mode. - Click on the image. -> It is now impossible to change options such as `Filter`, `Width` and `Quality`. Because the `data-original-src` attribute was removed from the image, the system tries to add it back thanks to the `loadImageInfo()` logic. Because the `src` attribute of the image is now a protocol relative url, `new URL(src)` will raise an error and the logic will use this url as argument for the `/web_editor/get_image_info` route. Because the url given in argument of the rpc call is not the relative one, the system fails to find the original attachment. The `mimetype` attribute is therefore not added back on the image, leading to the impossibility to change some options. To solve the problem, this commit modifies a bit [this commit]. In order to be robust to absolute, relative and protocol relative URLs, an URL object is first created from the image src. The relative URL (`.pathname`) of the URL object is then used to retrieve the original attachment linked to the image. Let's synthesize the different `relativeSrc` obtained with different image src. In the following examples, "https://test.com/blog/travel-1" will be used as `img.ownerDocument.defaultView.location.href`. (the complete URL of the document in which the image is located). - `src` is an absolute URL (e.g. "https://test.com/web/image/697-d0f2aaf8/shoes.jpg"). In this case, `relativeSrc` = "/web/image/697-d0f2aaf8/shoes.jpg". - `src` is a relative URL that begins with a slash (e.g. "/web/image/697-d0f2aaf8/shoes.jpg"). This URL represents an absolute path starting from the root of the domain. In this case, `relativeSrc` = "/web/image/697-d0f2aaf8/shoes.jpg". - `src` is a relative URL that does not begin with a slash (e.g. "web/image/697-d0f2aaf8/shoes.jpg"). The interpretation of this URL depends on the current location. In this case, `relativeSrc` = "/blog/web/image/697-d0f2aaf8/shoes.jpg". - `src` is a protocol relative URL (e.g. "//test.com/web/image/697-d0f2aaf8/shoes.jpg"); there is only the protocol missing. In this case, `relativeSrc` = "/web/image/697-d0f2aaf8/shoes.jpg". This solution takes the advantage of the second argument of the `URL()` constructor which is used if the first parameter is a relative or protocol relative URL and which is ignored if the first parameter is an absolute URL. This commit does not only modify [this commit] to handle more types of URLs but also: - To avoid having to use `.split()`. Indeed, `.pathname` does not include query parameters. - To avoid having to consider an error raised by `new URL()` as a normal flow. Indeed, in [this commit], an error would be intercepted by the `catch` if `src` was a relative URL. This was a legitimate flow. The problem was that other unwanted types of src (for example protocol relative URL) were also raising errors but were silently ignored (as intercepted in the `catch`). [this commit]: https://github.com/odoo/odoo/commit/89c14783846288a2de53f6258a93440e02550b13 task-3623731 Forward-Port-Of: odoo/odoo#144731
## Steps to reproduce: 1. Enable Responsive Design Mode and reload the page to enable the Mobile view 2. Create a new transfer 3. Click Add a product 4. Select a random product and click 'Save & Close' 5. Click on the line you've added 6. ValueError: not enough values to unpack (expected 1, got 0) ## Before this commit: On mobile, clicking on the `action_show_details` button on a stock move not yet saved gives a traceback, as the button is called on an empty recordset. On desktop, c
Original PR description
## Steps to reproduce: 1. Enable Responsive Design Mode and reload the page to enable the Mobile view 2. Create a new transfer 3. Click Add a product 4. Select a random product and click 'Save & Close' 5. Click on the line you've added 6. ValueError: not enough values to unpack (expected 1, got 0) ## Before this commit: On mobile, clicking on the `action_show_details` button on a stock move not yet saved gives a traceback, as the button is called on an empty recordset. On desktop, clicking on the same button works, as the button behavior was changed to save and open the details. However, this change only applies to the tree view of the stock moves; on mobile, the moves are shown in a kanban view, which does not implement this behavior. ## After this commit: The kanban view implements the same behavior as the tree view. opw-3593371 Forward-Port-Of: odoo/odoo#143405 Forward-Port-Of: odoo/odoo#143344
To reproduce ============ - Create a meeting activity from any document (for example CRM opportunity) with a calendar. - It will create a meeting in the calendar. - Now, mark as done the activity created and it will delete the meeting from the calendar too. revert of https://github.com/odoo/odoo/pull/144526 opw-3626773 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146288
Original PR description
To reproduce ============ - Create a meeting activity from any document (for example CRM opportunity) with a calendar. - It will create a meeting in the calendar. - Now, mark as done the activity created and it will delete the meeting from the calendar too. revert of https://github.com/odoo/odoo/pull/144526 opw-3626773 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146288
Steps to reproduce: - Install Accounting, Sales & Purchase - Go to "Settings / Users & Companies / Companies" - Create a branch company (e.g. Branch Company) for a company (e.g. YourCompany) - Switch to Branch Company - Go to Sales (or Purchase) - Create a SO (or PO) - Add a SO line (or PO line) and try to select a tax => Taxes from the parent company are not available in Sales and Purchase as they are in Accounting opw-3604981 opw-3636972 --- I confirm I have signed t
Original PR description
Steps to reproduce: - Install Accounting, Sales & Purchase - Go to "Settings / Users & Companies / Companies" - Create a branch company (e.g. Branch Company) for a company (e.g. YourCompany) - Switch to Branch Company - Go to Sales (or Purchase) - Create a SO (or PO) - Add a SO line (or PO line) and try to select a tax => Taxes from the parent company are not available in Sales and Purchase as they are in Accounting opw-3604981 opw-3636972 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146325
Steps to reproduce: - Install Accounting and l10n_sa_edi - Create a retention tax: (e.g. "Retention Tax 10%") * Amount: [a negative amount] (e.g. -10.00%) * Is Retention: [checked] (in "Advanced Options" tab) - Create an invoice with the following invoice line: * Product: [any] * Price: 1000 * Taxes: "Sales Tax 15%" and "Retention Tax 10%" - Confirm the invoice - Print the invoice => On the invoice, there is a "VAT Amount" field that should show the amount coming from the
Original PR description
Steps to reproduce: - Install Accounting and l10n_sa_edi - Create a retention tax: (e.g. "Retention Tax 10%") * Amount: [a negative amount] (e.g. -10.00%) * Is Retention: [checked] (in "Advanced…
Steps to reproduce: - Install Accounting and l10n_sa_edi - Create a retention tax: (e.g. "Retention Tax 10%") * Amount: [a negative amount] (e.g. -10.00%) * Is Retention: [checked] (in "Advanced Options" tab) - Create an invoice with the following invoice line: * Product: [any] * Price: 1000 * Taxes: "Sales Tax 15%" and "Retention Tax 10%" - Confirm the invoice - Print the invoice => On the invoice, there is a "VAT Amount" field that should show the amount coming from the taxes that are not Retention taxes as it is done in the EDI invoice (XML). However, the Retention tax is subtracted. In our example: - Tax amount for "Sales Tax 15%" is 150.00 - Tax amount for "Retention Tax 10%" is -100.00 => The "VAT Amount" field of the invoice line is 50.00. It should be 150.00 instead. Solution: Compute the "VAT Amount" field as it is done in the EDI invoice. opw-3568831 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145039
### Summary Currently, the 'Total amount of invoice in letters' setting doesn't do anything on GCC invoices. ### Steps to reproduce * install `l10n_sa` * enable the Arabic language * in the settings, enable 'Total amount of invoice in letters' * create and print an invoice You should see that the amount in words in not displayed. Note: Currently, currency labels are not translatable. Since this isn't something that can be changed in stable version, it was decided (after discus
Original PR description
### Summary Currently, the 'Total amount of invoice in letters' setting doesn't do anything on GCC invoices. ### Steps to reproduce * install `l10n_sa` * enable the Arabic language * in the settings, enable 'Total amount of invoice in letters' * create and print an invoice You should see that the amount in words in not displayed. Note: Currently, currency labels are not translatable. Since this isn't something that can be changed in stable version, it was decided (after discussing it with JCO) to not include them in the Arabic amount in words. opw-3501112 opw-3485691 Forward-Port-Of: odoo/odoo#143578
Fix missing space in milestone name and SOL -------------- 1. Steps to reproduce: - Open Project - Go to project for which sale order item is created - By clicking on three dots, go to Project Updates - In right side panel, milestone section, there is no space between milestone name and the SOL 2. Issue: This lack of spacing between milestone name and SOL makes it difficult for users to read and understand milestone informatio
Original PR description
Fix missing space in milestone name and SOL
--------------
1. Steps to reproduce:
- Open Project
- Go to project for which sale order item is created
- By clicking on three dots, go to Project Updates
- In right side panel, milestone section, there is no space between milestone
name and the SOL
2. Issue:
This lack of spacing between milestone name and SOL makes it difficult for
users to read and understand milestone information.
3. Cause:
The project.update right-side panel was displaying milestone names and SOL
without a space, causing readability issues for users.
4. Solution:
added a space between the milestone name and SOL.
task-3545942
Forward-Port-Of: odoo/odoo#145727
Forward-Port-Of: odoo/odoo#138384[Commit 1] made sure the history worked when resizing elements by calling `odooEditor.automaticStepUnactive()`, but applied its counterpart `automaticStepActive()` only at the very end of the action, leaving some `return` statements on the way that could break the flow. This commit calls `automaticStepActive` just before leaving the listener and moves `automaticStepUnactive` just before the first DOM modification. It's both more logical and avoids returns pitfalls. Note: `automaticSte
Original PR description
[Commit 1] made sure the history worked when resizing elements by calling `odooEditor.automaticStepUnactive()`, but applied its counterpart `automaticStepActive()` only at the very end of the action, leaving some `return` statements on the way that could break the flow. This commit calls `automaticStepActive` just before leaving the listener and moves `automaticStepUnactive` just before the first DOM modification. It's both more logical and avoids returns pitfalls. Note: `automaticStepActive()` makes sure modifications made on the DOM through the browser's developer tools are tracked and can be reversed with the undo button. Not reactivating it in time means some flows could be broken (until another method reactivates it). [Commit 1]: https://github.com/odoo/odoo/commit/423f4bd2a6cc47e69699d2437eaa5acda94bb98d Related to task-3576046 Forward-Port-Of: odoo/odoo#146189 Forward-Port-Of: odoo/odoo#145623
Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was "compressed": - The toggle/switch element has not enough room to be displayed entirely if there were too many dependencies - The toggle/switch label was split in multiple lines, words could even be split in 2. Step to reproduce: - Go to / in the website builder (so the / finds a lot of dependencies) - Op
Original PR description
Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was…
Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was "compressed": - The toggle/switch element has not enough room to be displayed entirely if there were too many dependencies - The toggle/switch label was split in multiple lines, words could even be split in 2. Step to reproduce: - Go to / in the website builder (so the / finds a lot of dependencies) - Open page property - Change the URL field, you see the redirect url field appear with the mentioned issues. [1]: https://github.com/odoo/odoo/commit/2ef7e788263b4742a8e0788f47673b7b31da3726 | | before |after | | -- | -- | -- | | few dep. |  |  | | lot of dep. |  |  | Forward-Port-Of: odoo/odoo#145729
Since #122569, we now try to import the migrations sub-package of each module to find upgrade tests. However, this badly written regex match the OCA module base_maintenance, which generate a RecursionError. It was partially fixed on #136282 but some collateral damages where raised on tests 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
Original PR description
Since #122569, we now try to import the migrations sub-package of each module to find upgrade tests. However, this badly written regex match the OCA module base_maintenance, which generate a RecursionError. It was partially fixed on #136282 but some collateral damages where raised on tests 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#145842 Forward-Port-Of: odoo/odoo#145800
During the migration of the l10n reports to the new version. One line was forgotten. This commit fixes it. Original PR#52506 Forward-Port-Of: odoo/enterprise#52822
Original PR description
During the migration of the l10n reports to the new version. One line was forgotten. This commit fixes it. Original PR#52506 Forward-Port-Of: odoo/enterprise#52822