Tuesday, September 24, 2024
35 changes
19 changes
Resolved issues and error corrections
This fix prevents an error when users with limited timesheet permissions choose an employee on a timesheet. It makes the employee filtering work correctly, improving reliability for restricted-access users.
Original PR description
Issue ----- Traceback when selecting the employee of a timesheet with a user having limited timesheets rights. Change ----- Provide a domain in the correct form to `expression.AND` opw-4163104
Fixes an error that could block users from merging multiple customer contacts when the Indian localization is active. This helps keep customer records clean and avoids interruptions during routine contact management.
Original PR description
When we select multiple customers and attempt to merge their contacts by removing one of the customers, this error occurs. Steps to reproduce: - Install the ``l10n_in`` module - Switch to ``IN company`` - Invoicing > Customers >Customers - Go to list view > Select all Customers > Actions > Merge - Click on ``Deco Addict``, now come back and remove it - Click on ``Merge Contacts`` Traceback: ``ValueError: Expected singleton: res.partner(50, 46, 43, 36)`` This error occurred at [1] because multiple values are getting in ``self``. This commit will fix the above error by adding it to the loop. [1]- https://github.com/odoo/odoo/blob/737f3af4c2f058bb1f5ef6f0c6f8968bbfa60850/addons/l10n_in/models/res_partner.py#L32-L35 sentry-5800636882 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update addresses a problem in the web interface related to form view button boxes. The fix helps ensure users see and use form action buttons more reliably, reducing confusion during everyday workflows.
Original PR description
Steps to reproduce ================== Cause of the issue ================== Solution ======== opw-4164661 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
When the Customer archives the product and opens the BOM overview, a traceback will appear. Steps to reproduce the error: - Go to Mrp > Configuration > Settings > Enable By-Products - Create a new BOM > Select Product A > Select By-product in By-products > Save - Archive Product A > Return to BOM - Open BOM overview Traceback: ``` ValueError: not enough values to unpack (expected 1, got 0) File "odoo/models.py", line 5975, in ensure_one _id, = self._ids ValueError: Expected
Original PR description
When the Customer archives the product and opens the BOM overview, a traceback will appear. Steps to reproduce the error: - Go to Mrp > Configuration > Settings > Enable By-Products - Create a new…
When the Customer archives the product and opens the BOM overview,
a traceback will appear.
Steps to reproduce the error:
- Go to Mrp > Configuration > Settings > Enable By-Products
- Create a new BOM > Select Product A > Select By-product in By-products > Save
- Archive Product A > Return to BOM
- Open BOM overview
Traceback:
```
ValueError: not enough values to unpack (expected 1, got 0)
File "odoo/models.py", line 5975, in ensure_one
_id, = self._ids
ValueError: Expected singleton: product.product()
File "odoo/http.py", line 2383, in __call__
response = request._serve_db()
File "odoo/http.py", line 1913, in _serve_db
return self._transactioning(
File "odoo/http.py", line 1976, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 134, in retrying
result = func()
File "odoo/http.py", line 1943, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2187, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 227, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 757, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 35, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 459, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "addons/mrp/report/mrp_report_bom_structure.py", line 16, in get_html
res = self._get_report_data(bom_id=bom_id, searchQty=searchQty, searchVariant=searchVariant)
File "addons/mrp/report/mrp_report_bom_structure.py", line 119, in _get_report_data
lines = self._get_bom_data(bom, warehouse, product=product, line_qty=bom_quantity, level=0)
File "addons/mrp/report/mrp_report_bom_structure.py", line 315, in _get_bom_data
byproducts, byproduct_cost_portion = self._get_byproducts_lines(product, bom, current_quantity, level + 1, bom_report_line['bom_cost'], index)
File "addons/mrp/report/mrp_report_bom_structure.py", line 421, in _get_byproducts_lines
if byproduct._skip_byproduct_line(product):
File "addons/mrp/models/mrp_bom.py", line 740, in _skip_byproduct_line
return not product._match_all_variant_values(self.bom_product_template_attribute_value_ids)
File "addons/mrp/models/product.py", line 342, in _match_all_variant_values
self.ensure_one()
File "odoo/models.py", line 5978, in ensure_one
raise ValueError("Expected singleton: %s" % self)
```
https://github.com/odoo/odoo/blob/b0684bd80f31a808521cf5229b9ac8a621e39afc/addons/mrp/models/mrp_bom.py#L600 When Customer archives the product and opens the BOM overview,
Here, ```product``` will be empty,
So, it will lead to the above traceback.
sentry-5844550626
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#18059415 changes
Enhancements to existing features
The lock date wizard has been adjusted so exception settings are visually and textually separated from the hard lock date. This reduces confusion for accounting users and makes the labels easier to translate consistently.
Original PR description
- Putting the exception section after the hard lock date field gave the impression the exception was also applicable to the hard lock date, while it isn't. We also add a little indent to it, so that it can be better distinguished from the other settings - Rephrase the exception section a little bit and put more words into the label of selection fields to simplify translation.
1 change
Enhancements to existing features
The carryover target line name in account report popups is now displayed in bold text for better readability. This makes it easier for users to quickly identify which line the carryover amount is associated with when reviewing financial reports.
Original PR description
For readability; so that the name of the line the carryover is made is more distinguishable from the text around it.
Steps: - Create a negative retention tax `T` - Create, confirm and receive a SO - Create and confirm a downpayment - Create a regular draft invoice for the rest, and add tax `T` to the product line, confirm and process edi -> Traceback: list index out of range This is because we override `_get_tax_category_list` to filter the retention taxes that have no list of categories, therefore we try to access an empty dict. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/41398
Original PR description
Steps: - Create a negative retention tax `T` - Create, confirm and receive a SO - Create and confirm a downpayment - Create a regular draft invoice for the rest, and add tax `T` to the product line, confirm and process edi -> Traceback: list index out of range This is because we override `_get_tax_category_list` to filter the retention taxes that have no list of categories, therefore we try to access an empty dict. Ticket [link](https://www.odoo.com/odoo/project/967/tasks/4139894) opw-4139894 Forward-Port-Of: odoo/odoo#178769
In `test_base_on_rule_currency_is_converted` we create a rate for a testing currency and check that is applied, but we don't specify its name/date, so under certain conditions it will considered as applying only tomorrow and the test will fail. runbot-97969 Forward-Port-Of: odoo/odoo#180878 Forward-Port-Of: odoo/odoo#180287
Original PR description
In `test_base_on_rule_currency_is_converted` we create a rate for a testing currency and check that is applied, but we don't specify its name/date, so under certain conditions it will considered as applying only tomorrow and the test will fail. runbot-97969 Forward-Port-Of: odoo/odoo#180878 Forward-Port-Of: odoo/odoo#180287
### before this PR When creating a new company, a new resource calendar is created by copying the default calendar of the current company. However, if the calendar of the current company contains the same periods (e.g. Saturday Afternoon) with different date_from and date_to, duplication error will raise, by the constrain `_check_attendance()` which calls the `_check_overlap()`. See https://github.com/odoo/odoo/blob/013a0391d5de84fda02d542760471f4c296b7f2b/addons/resource/models/resource.py#L36
Original PR description
### before this PR When creating a new company, a new resource calendar is created by copying the default calendar of the current company. However, if the calendar of the current company contains the same periods (e.g. Saturday Afternoon) with different date_from and date_to, duplication error will raise, by the constrain `_check_attendance()` which calls the `_check_overlap()`. See https://github.com/odoo/odoo/blob/013a0391d5de84fda02d542760471f4c296b7f2b/addons/resource/models/resource.py#L362-L383 Here is a sample of the default calendar of the current company that caused error when creating a new company  ### What this PR does copying resource calendar should respect date_from and date_to to pass constraint --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#149697
Open POS Session Add a product with tax Checkout and Pay order Close POS Session Check generated move Now create an invoice, with same product and tax Confirm Open Tax Reports Two entries will be present, with correct amounts Activate 'Group by: Account>Tax' option Issue: Base line amount is not correct This occurs because in the tax details query we group by display_type of the lines. When POS creates closing session move, lines will not have the proper display_type assigned, s
Original PR description
Open POS Session Add a product with tax Checkout and Pay order Close POS Session Check generated move Now create an invoice, with same product and tax Confirm Open Tax Reports Two entries will be present, with correct amounts Activate 'Group by: Account>Tax' option Issue: Base line amount is not correct This occurs because in the tax details query we group by display_type of the lines. When POS creates closing session move, lines will not have the proper display_type assigned, so for example, tax lines will have display_type 'product'. opw-4125791 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#180864
In this PR ================== Some contracts in SendCloud do not have rates. This caused an annoying popup when adding it to the Sales Order. After this PR, the red banner is displayed with the same message instead of the annoying popup when adding it to the Sales Order. Enterprise PR: https://github.com/odoo/enterprise/pull/66976 TaskId: 4012182 Forward-Port-Of: odoo/odoo#173791
Original PR description
In this PR ================== Some contracts in SendCloud do not have rates. This caused an annoying popup when adding it to the Sales Order. After this PR, the red banner is displayed with the same message instead of the annoying popup when adding it to the Sales Order. Enterprise PR: https://github.com/odoo/enterprise/pull/66976 TaskId: 4012182 Forward-Port-Of: odoo/odoo#173791
Steps to Reproduce =================== - Open the event page. - Switch on the country filter. - select the online event from that. - The filter is applied but in a dropdown, it is still showing the All countries. After this commit ================== This PR addresses the issue and now when we select the online filter online event will be there in a dropdown also. Task-4058244 Forward-Port-Of: odoo/odoo#181026 Forward-Port-Of: odoo/odoo#174629
Original PR description
Steps to Reproduce =================== - Open the event page. - Switch on the country filter. - select the online event from that. - The filter is applied but in a dropdown, it is still showing the All countries. After this commit ================== This PR addresses the issue and now when we select the online filter online event will be there in a dropdown also. Task-4058244 Forward-Port-Of: odoo/odoo#181026 Forward-Port-Of: odoo/odoo#174629
Before this commit, attempting to reprint a receipt for an order would result in an "Invalid props" error. opw-4191019 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181069
Original PR description
Before this commit, attempting to reprint a receipt for an order would result in an "Invalid props" error. opw-4191019 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181069
Description of the issue/feature this PR addresses: - While automatically subscribing new users to the discussion channel, we encounter a unique constraint violation `discuss_channel_member_partner_unique`. This happens because, when determining the `new_member`, we retrieve all users (both active and inactive 'channel.group_ids.users.partner_id'). [ref](https://github.com/odoo/odoo/blob/eac6b58a68948a2cdc0b97e7c62c92ff6270fd7a/addons/mail/models/discuss/discuss_channel.py#L330-L334) However,
Original PR description
Description of the issue/feature this PR addresses: - While automatically subscribing new users to the discussion channel, we encounter a unique constraint violation…
Description of the issue/feature this PR addresses: - While automatically subscribing new users to the discussion channel, we encounter a unique constraint violation `discuss_channel_member_partner_unique`. This happens because, when determining the `new_member`, we retrieve all users (both active and inactive 'channel.group_ids.users.partner_id'). [ref](https://github.com/odoo/odoo/blob/eac6b58a68948a2cdc0b97e7c62c92ff6270fd7a/addons/mail/models/discuss/discuss_channel.py#L330-L334) However, when checking for already subscribed members, inactive users are ignored due to the `channel_partner_ids` computation. As a result, an inactive user who is already subscribed is incorrectly considered a `new_member`. Current behavior before PR: - Upgrade process got blocked if the inactive user already exists as member of the channe Desired behavior after PR is merged: - Adding inactive user to the discuss channel is pointless so we ensure only active user OPW- 4169746 UPG- 2020544 TGB- 1531 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180534
Steps - install `stock` - create a delivery for 2 products > *Mark as Todo* > *Validate* - make a return, a `ListRenderer` for the return moves opens - click the last field (quantity) of the last record in the list - press `tab` * => Traceback: `Uncaught Promise > futureRecord is undefined` Cause --- This specific view is `editable='top' create='0'`, but the return moves have been generated on the fly, so their `isNew` property is true. But, we check `isNew` to decide if a rec
Original PR description
Steps - install `stock` - create a delivery for 2 products > *Mark as Todo* > *Validate* - make a return, a `ListRenderer` for the return moves opens - click the last field (quantity) of the last record in the list - press `tab` * => Traceback: `Uncaught Promise > futureRecord is undefined` Cause --- This specific view is `editable='top' create='0'`, but the return moves have been generated on the fly, so their `isNew` property is true. But, we check `isNew` to decide if a record has just been created in the list, and what element is the last. This leads to a false negative where we don't detect that we're on the last record. Note --- `.isNew` is still needed because we can run into problems with the pager or if we start with a grouped list view. opw-4108845 Forward-Port-Of: odoo/odoo#180725 Forward-Port-Of: odoo/odoo#180690
Problem: The expiration date were showing on confirmed sale orders in the customer portal. Purpose: The expiration date should only show if the order is still a quotation in the customer portal. Steps to Reproduce on Runbot: 1. Install Sale 2. Create a quotation with an expiration date and confirm 3. View the sale order in the customer portal view and observe that the expiration date is still displayed opw-3926689 --- I confirm I have signed the CLA and read the PR guidelines at
Original PR description
Problem: The expiration date were showing on confirmed sale orders in the customer portal. Purpose: The expiration date should only show if the order is still a quotation in the customer portal. Steps to Reproduce on Runbot: 1. Install Sale 2. Create a quotation with an expiration date and confirm 3. View the sale order in the customer portal view and observe that the expiration date is still displayed opw-3926689 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#181098 Forward-Port-Of: odoo/odoo#180383
This issue was already fixed in c9e94bc78, but it's not working properly. The explanation on that commit is correct, however the resulting CSS from that SCSS is not a valid one: ```css .o_Message_content *:not(li):nottable(li div)[align="left"][width="100%"] { float: none; } ``` The result is actually weird, which may be due to an issue in the SCSS compiler. In any case, this commit fixes the SCSS, so that it's compiled like this: ```css .o_Message_content table[align="left"][
Original PR description
This issue was already fixed in c9e94bc78, but it's not working properly. The explanation on that commit is correct, however the resulting CSS from that SCSS is not a valid one: ```css…
This issue was already fixed in c9e94bc78, but it's not working properly. The explanation on that commit is correct, however the resulting CSS from that SCSS is not a valid one:
```css
.o_Message_content *:not(li):nottable(li div)[align="left"][width="100%"] {
float: none;
}
```
The result is actually weird, which may be due to an issue in the SCSS compiler.
In any case, this commit fixes the SCSS, so that it's compiled like this:
```css
.o_Message_content table[align="left"][width="100%"] {
float: none;
}
```
Which actually makes more sense, IMHO.
---
Here's a screenshot of runbot:
<img width="1686" alt="Screenshot 2024-09-23 at 3 46 27 PM" src="https://github.com/user-attachments/assets/1dbf2ea6-e918-4d51-b15c-6ad7c493af1c">
---
@nle-odoo @alexkuhn : I ping you as I see you worked on https://github.com/odoo/odoo/pull/101295, so you probably remember this issue
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#181102
Forward-Port-Of: odoo/odoo#181099Steps to reproduce the issue: - Change the header menu layout to "Sales 2." - Increase the font size of the header (e.g., set it to 20). - In the backend, add a long product category (e.g., "very long category's name") to a product like "Customizable Table". Issue: When searching for the product in the search bar, the price is not displayed in full. However, after deleting the product category, the price is shown correctly, even with the large font size. This commit resolves the issue
Original PR description
Steps to reproduce the issue: - Change the header menu layout to "Sales 2." - Increase the font size of the header (e.g., set it to 20). - In the backend, add a long product category (e.g., "very long category's name") to a product like "Customizable Table". Issue: When searching for the product in the search bar, the price is not displayed in full. However, after deleting the product category, the price is shown correctly, even with the large font size. This commit resolves the issue by adjusting the layout to ensure the price is fully visible, regardless of the font size or category length. opw-4077768 Forward-Port-Of: odoo/odoo#179375
**Steps to reproduce:** - On a fresh install, grant to any contact portal access. **Current behavior:** The newly created user has in its signature the following text: ``` -- Portal User Template ``` **Expected behavior:** No text **Explanation:** This is because there's no explicit signature set on the user "Portal User Template", which is the template used to create the portal users, and thus, the `compute_signature` method is triggered following the "name" dependenc
Original PR description
**Steps to reproduce:** - On a fresh install, grant to any contact portal access. **Current behavior:** The newly created user has in its signature the following text: ``` -- Portal User Template ``` **Expected behavior:** No text **Explanation:** This is because there's no explicit signature set on the user "Portal User Template", which is the template used to create the portal users, and thus, the `compute_signature` method is triggered following the "name" dependency, assigning that one. And this is even worst, as you may remove that content from the user, but on the next update, it will be rewritten again, as the record is noupdate=0 and the name is always rewritten, triggering again the signature computation. **Solution:** Indicate explicitly an empty signature on the XML record definition to avoid the triggering of `_compute_signature`. @Tecnativa Forward-Port-Of: odoo/odoo#181167
An issue was introduced due to an error in a forward-port. Original commit: https://github.com/odoo/odoo/commit/69c19f3caf1c5fa776e23a17290fea293b84a18e Problematic forward-port commit: https://github.com/odoo/odoo/commit/602b3f3d39db29fbcd90e3f734bdcc73e67f175d Steps to reproduce: In versions 17.0 to 17.4, execute the following request (adjust the parameters accordingly): ``` curl -X POST <DB_URL>/jsonrpc \ -H "Content-Type: application/json" \ -d '{ "json
Original PR description
An issue was introduced due to an error in a forward-port. Original commit: https://github.com/odoo/odoo/commit/69c19f3caf1c5fa776e23a17290fea293b84a18e Problematic forward-port commit:…
An issue was introduced due to an error in a forward-port.
Original commit:
https://github.com/odoo/odoo/commit/69c19f3caf1c5fa776e23a17290fea293b84a18e
Problematic forward-port commit:
https://github.com/odoo/odoo/commit/602b3f3d39db29fbcd90e3f734bdcc73e67f175d
Steps to reproduce:
In versions 17.0 to 17.4, execute the following
request (adjust the parameters accordingly):
```
curl -X POST <DB_URL>/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "call",
"params": {
"service": "object",
"method": "execute",
"args": [
<DB NAME>,
<UID>,
<PASSWORD>,
"account.move.line",
"search_read",
[],
{}
]
},
"id": 2
}
```
The error "keys must be str, int, float, bool or None, not frozendict" will occur.
Solution:
The fix involves renaming the field to align with the approach used in the original commit.
Forward-Port-Of: odoo/odoo#177888Versions -------- - 17.0+ Steps ----- 1. Create a coupon with free shipping reward; 2. create an eWallet with enough points for a free purchase; 3. create at least 2 shipping methods with different prices; 4. in eCommerce, add a product to cart, and go to checkout; 5. apply coupon; 6. go to payment & apply eWallet; 7. switch between shipping methods. Issue ----- The eWallet amount on the right doesn't get updated after changing shipping costs. Cause ----- Commit e08449e42a
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Create a coupon with free shipping reward; 2. create an eWallet with enough points for a free purchase; 3. create at least 2 shipping methods with different prices; 4. in eCommerce, add a product to cart, and go to checkout; 5. apply coupon; 6. go to payment & apply eWallet; 7. switch between shipping methods. Issue ----- The eWallet amount on the right doesn't get updated after changing shipping costs. Cause ----- Commit e08449e42a01 allowed for eWallet to update after changes, using a `_handleCarrierUpdateResultBadge` override. Commit 453c6169e080 merged the `_handleCarrierUpdateResult` & `_handleCarrierUpdateResultBadge` methods. Because of an `else` that was left in by accident, it either displays a shipping discount *or* it updates the eWallet. Solution -------- Remove the stray `else` so that the conditional branches are no longer mutually exclusive. opw-4150258 Forward-Port-Of: odoo/odoo#180347
Spreadsheet pivot tables now show day-level date headers in a clearer format, such as 01 Jan 2021 instead of locale-dependent numeric dates. This makes reports easier to read and compare across users and regions.
Original PR description
Improve the format of headers with the day granularity in the pivot, from the locale's date format (e.g. `1/1/2021`) to `dd mmm yyyy` (e.g. `01 Jan 2021`). Task: [3613511](https://www.odoo.com/web#id=3613511&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Aged Receivable and Aged Payable reports now hide the currency and account columns by default, reducing visual clutter. Users can still enable these details when needed, making routine review easier while preserving access to supporting information.
Original PR description
To simplify the Aged Receivable/Payable reports, we hide the currency and account columns by default. No Task - FP
Kanban card footers now use a slightly smaller default text size across many Odoo apps. This creates a more consistent, compact layout and removes the need for repeated view-specific styling.
Original PR description
Before this commit, the default font size for kanban footers was 1rem. A lot of kanban views overruled it by using classname `fs-6`. This commit changes the default font-size to .875rem (which is `fs-6`) which allows to remove the classname from a lot of archs.
Resolved issues and error corrections
The financial budget menu item is no longer limited to debug mode, making it available through the normal interface as intended. This fixes an unnecessary access restriction that could prevent business users from finding budgeting options.
Original PR description
The aim of this commit is removing the debug mode on the financial budget menu item. It was introduced by this commit [[1]], and finally we don't want that. no task id [1]: https://github.com/odoo/enterprise/commit/d96b46bc9d17e279c5d4094270c61e610e09ef36
The room booking page has been corrected so it once again fills the available vertical space. This improves the user experience by preventing the page from appearing visually constrained or incorrectly sized.
Original PR description
Purpose: -------- Currently, the room frontend view no longer occupies the full vertical space of the page. This issue was introduced by [1]. To fix this issue, the wrapper element (`div#wrapwrap`) is removed from the room frontend view. This simplifies the DOM structure and allows the main container to take the full available space. [1]: https://github.com/odoo/odoo/pull/98429 Task-4207291
A tax report could fail because one value was handled in the wrong format during calculation. The fix ensures the value is converted correctly so the report can complete as expected.
Original PR description
We were trying to divide a float by a string. We make sure that the string `net_value` is converted to a float.
Code cleanup and technical improvements
This update removes redundant internal data access from Sign kanban views because the same information is already available through the standard context. It helps simplify the way Sign cards are rendered without changing the user experience.
Original PR description
Keys of the user_context are available in the context, so having the user_context available in kanban archs is redundant. There was only 2 usecases, both in sign. This commit removes them such that we can simplify the rendering context of kanban cards by removing the user_context from it. Part of task~3992107
Miscellaneous changes
To reproduce the issue: 1. Create a horizontal group, grouping on "Company" field with a domain matching everything 2. Assign that horizontal group to the Balance Sheet 3. With all the companies active in the selector, open the Balance Sheet 4. Enable the horizontal group ; this should display the column groups accordingly 5. Select a line with non-null values in more than one company; click on the amount displayed in one company's column in order to audit it =====> The tree view that
Original PR description
To reproduce the issue: 1. Create a horizontal group, grouping on "Company" field with a domain matching everything 2. Assign that horizontal group to the Balance Sheet 3. With all the companies active in the selector, open the Balance Sheet 4. Enable the horizontal group ; this should display the column groups accordingly 5. Select a line with non-null values in more than one company; click on the amount displayed in one company's column in order to audit it =====> The tree view that opens also displays lines from other companies; not only the one corresponding to the group we're auditing. It's wrong. This is due to the fact the 'forced_domain' key of the options is added to the result of _get_options_domain() only in _query_get(). The audit does not call _query_get(), and hence never uses the forced domain. We fix it by now simply doing everything in _get_options_domain() directly. Forward-Port-Of: odoo/enterprise#70502
### Steps to reproduce: - In the settings enable: Rental Transfers - Create a storable non-rentable product tracked by Serial Number - Register 1 Serial Number in stock say SN001 - Create a rental order for 1 unit of your non-rentble product - Add a lot on your rental order line ### > Traceback: `leaving_move_line.move_id.sale_line_id.return_date <= line.reservation_begin TypeError: '<=' not supported between instances of 'datetime.datetime' and 'bool'` ### Cause of the Issue: S
Original PR description
### Steps to reproduce: - In the settings enable: Rental Transfers - Create a storable non-rentable product tracked by Serial Number - Register 1 Serial Number in stock say SN001 - Create a rental…
### Steps to reproduce: - In the settings enable: Rental Transfers - Create a storable non-rentable product tracked by Serial Number - Register 1 Serial Number in stock say SN001 - Create a rental order for 1 unit of your non-rentble product - Add a lot on your rental order line ### > Traceback: `leaving_move_line.move_id.sale_line_id.return_date <= line.reservation_begin TypeError: '<=' not supported between instances of 'datetime.datetime' and 'bool'` ### Cause of the Issue: Since Commit d014bb68d852fa4dac1d994351dc82dcdff7b545 the availability of rentable produtcs tracked by serial number is computed. However, the `_compute_available_reserved_lots` assumes that the rental order lines have a `reservation_begin` to work properly since it compares these with other 'datetime.datetime'. However, these fields are only sets and hence not `False` for rental lines that is for lines with a rentable product in the rental app: https://github.com/odoo/enterprise/blob/c89e3114f1820750b641ea12676944e8db7888d8/sale_renting/models/sale_order_line.py#L25-L30 https://github.com/odoo/enterprise/blob/c89e3114f1820750b641ea12676944e8db7888d8/sale_renting/models/sale_order_line.py#L53-L56 opw-3839116 Forward-Port-Of: odoo/enterprise#70315
With an MX company setup Create a branch Change the fiscal regime of the branch to Arrendamiento (606). With the branch create an invoice and generate the CFDI Issues: - Regimen Fiscal in CFDI is set to the one of the parent company while it should be the one of the branch - When a PAC certificate is registered in the branch, company name in CFDI will be the branch name while it should always be the root company name opw-4097669 Forward-Port-Of: odoo/enterprise#69411
Original PR description
With an MX company setup Create a branch Change the fiscal regime of the branch to Arrendamiento (606). With the branch create an invoice and generate the CFDI Issues: - Regimen Fiscal in CFDI is set to the one of the parent company while it should be the one of the branch - When a PAC certificate is registered in the branch, company name in CFDI will be the branch name while it should always be the root company name opw-4097669 Forward-Port-Of: odoo/enterprise#69411
Before this commit, validating an order in PoS while offline would trigger a "send failed" alert for the preparation display each time an order was validated. This was redundant if the offline message had already been shown once. opw-4198324 Forward-Port-Of: odoo/enterprise#70494
Original PR description
Before this commit, validating an order in PoS while offline would trigger a "send failed" alert for the preparation display each time an order was validated. This was redundant if the offline message had already been shown once. opw-4198324 Forward-Port-Of: odoo/enterprise#70494
Steps to reproduce: - Start timesheets tour - When reaching step "Click on the cell to set the number of hours you spent on this project.", and clicking on the cell, tour stay at the same step. Source: - When hovering the cell, a new html element came to superpose above the trigger. so the click is done on the new element and not the trigger. Fix: - Add alt_trigger with the new Element. task-4141027 Forward-Port-Of: odoo/enterprise#69836
Original PR description
Steps to reproduce: - Start timesheets tour - When reaching step "Click on the cell to set the number of hours you spent on this project.", and clicking on the cell, tour stay at the same step. Source: - When hovering the cell, a new html element came to superpose above the trigger. so the click is done on the new element and not the trigger. Fix: - Add alt_trigger with the new Element. task-4141027 Forward-Port-Of: odoo/enterprise#69836
Before this commit ================== Some contracts in SendCloud do not have rates. When trying to generate a label, an error occurs because of the missing rate, preventing the label from being created. After this commit ================= This commit ensures no error is returned when a rate can't be fetched from SendCloud. Label creation can proceed without issues. Community PR: https://github.com/odoo/odoo/pull/173791 TaskId: 4012182 Forward-Port-Of: odoo/enterprise#66976
Original PR description
Before this commit ================== Some contracts in SendCloud do not have rates. When trying to generate a label, an error occurs because of the missing rate, preventing the label from being created. After this commit ================= This commit ensures no error is returned when a rate can't be fetched from SendCloud. Label creation can proceed without issues. Community PR: https://github.com/odoo/odoo/pull/173791 TaskId: 4012182 Forward-Port-Of: odoo/enterprise#66976
**Steps to reproduce:** - Install l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create an invoice with an invoice date from one month ago - Confirm the invoice - Generate CFDI via "Send & Print" button - A validation error should be raised **Issue:** No document is available in CFDI tab to check the error or retry. **Cause:** A fix had been made to commit the document in case of success, but it had removed the commit in case of failure. https://github.co
Original PR description
**Steps to reproduce:** - Install l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Create an invoice with an invoice date from one month ago - Confirm the invoice - Generate CFDI via "Send & Print" button - A validation error should be raised **Issue:** No document is available in CFDI tab to check the error or retry. **Cause:** A fix had been made to commit the document in case of success, but it had removed the commit in case of failure. https://github.com/odoo/enterprise/commit/fed4ea40793e5d835f3bf7c0267526bd32075baf opw-4203720 Forward-Port-Of: odoo/enterprise#70484