Tuesday, September 3, 2024
13 changes · 17.0
Resolved issues and error corrections
The online shop category list no longer shifts slightly when customers hover over it and there are only a few categories. This keeps the storefront layout stable and improves the browsing experience.
Original PR description
**Steps:** - Create a few products and e-commerce categories - Go to the shop page - Hover on the eCommerce categories created - A bit displacement is seen in the margin **Issue:** - The margin is given to adjust the height of the scrollbar on hover but it's applied even when scrollbar is not present (when handful of categories are there) resulting in a displacement. **Fix:** - Disabling the margin on hover when there are less categories that is when scrollbar is not present **Affected version:** 17.0~master opw-4088697
This fixes an issue where Italian electronic invoicing behavior differed between Community and Enterprise editions, causing a test failure around payment status. The change relies on payment matching information instead, making the result more consistent while avoiding unnecessary processing for non-Italian companies.
Original PR description
The test "test_account_move_payment_method" was failing in community only because the payment_state is paid if only l10n_it is installed but is in_payment if the enterprise module is installed. We decided to totally remove the if statement on the payment_state. The matching numbers are enough. Also adding some early returns in the compute to make sure we don't do the search on account.move.line for nothing or compute the document type for non italian companies. no task-id --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures that accrual-based time-off allocations are recalculated when an employee is selected. It prevents allocation balances from staying blank or incorrect during setup, helping HR users create accurate time-off records.
Original PR description
### Steps to reproduce: - Install Time-off module - Create new allocation - If there is a default employee set remove it - Select Accrual Allocation - Set start date to a year ago - Set an employee ### Current behavior before PR: The allocation days is not getting computed onchange of employees. This is happening because it is computed only when we trigger _onchange_date_from and employee_id is not one of the fields that triggers this onchange method. ### Desired behavior after PR is merged: Since we are checking if we have an employee_id or not in _onchange_date_from we added the employee_id to be one of the fields that triggers the onchange then to recompute the allocation days opw-4100075
Downloading a contact card no longer fails when an address/contact record has no direct name. The system now uses the full available contact name instead, avoiding an error and letting users export the card successfully.
Original PR description
Currently, a traceback is occurring when the user tries to download a card for a child partner of type `other` having no name. To reproduce this issue: 1) Install `Contacts` 2) Create a record in…
Currently, a traceback is occurring when the user tries to download a card
for a child partner of type `other` having no name.
To reproduce this issue:
1) Install `Contacts`
2) Create a record in `Contact & Addresses` of type as `Other Addresses`
in an existing contact
3) Now open the above-created contact
4) Download the Vcard for that record
Error:-
```
AttributeError: 'bool' object has no attribute 'replace'
```
As you can see name is only required when the type is 'contact'.
When the user creates a partner record without a name and tried to download the Vcard, it led to a traceback.
Because the name was used in the Vcard, which is false in this case. https://github.com/odoo/odoo/blob/6abe8da981e10f56eb50d07e8c53dcf97422f0c4/addons/web/models/res_partner.py#L30
**Note:-**
Also in the below line, `/web_enterprise/partner/<model("res.partner"):partner>/vcard`
route was never used anywhere in the Odoo except in one test case.
which was also introduced from the same PR through which the above route was added.
Because `Vcard` was initially in `enterprise` and later shifted to `community`.
https://github.com/odoo/odoo/blob/6abe8da981e10f56eb50d07e8c53dcf97422f0c4/addons/web/controllers/vcard.py#L16-L17
This commit will resolve this issue by taking the `complete name`
when the partner record failed to provide the name.
sentry-5673082917When creating a new sales order line linked to projects, the product search now only shows service-type products. This prevents users from accidentally selecting consumable or other non-service products, reducing order entry mistakes.
Original PR description
When a user creates a new sol, only service-type product should be searched. Before this commit, consumable and other types of product was being searched. task-3972359
The wishlist page is adjusted for small screens so action buttons remain visible, especially in longer translated languages such as French. Removing unused image space improves readability and usability when viewing or zooming on mobile devices.
Original PR description
**Steps:** - Go to Shop - Add a product to the wishlist. - Access the Wishlist page and apply the Mobile View. - Apply Zoom on the mobile view **Issue:** - For some languages (like French) the full button can't be seen at the standard 100% view. Also a column of image is shown extra even though the image is not displayed **Fix:** - Removing the column of image for smaller screens will resolve our issue, and we would be able to see the button upto a lot more zooming ratio. **Affected version:** 17.0~master opw-4089951
Saving product settings will no longer automatically switch pricelist discount display back to hiding discounts. This preserves users' chosen discount display behavior, especially for Point of Sale, unless discounts are deliberately disabled.
Original PR description
The pricelist discount policy is always visibile in 17+, and some users may change it to display discounts in the PoS. Nevertheless, if the sale discounts are not enabled, saving the settings will reset the value to 'hide discounts'. Since the group is ambiguous, has been moved to sale in 17.2, and the discount policy feature is removed in 18, we'll restrict the reset of the discount policies only when the discount group is effectively disabled manually, not any time the settings are saved. opw-4019168 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes an internal notification test wait for messages before checking results, preventing occasional false failures. It improves confidence in automated testing without changing user-facing behavior.
Original PR description
Before this PR, the `test_postcommit` test would occasionally fail in a non-deterministic manner. This test ensures that the bus sends notifications after bus records are committed. However, we weren't waiting for the notification to occur before checking the expected channels. As a result, the check could happen too early, leading to test failures. This PR ensures that we wait for the notifications to be sent before verifying that each channel received them. runbot-76481
When a pricelist is duplicated, the new pricelist name now automatically includes “(copy)” instead of keeping the exact same name. This helps users distinguish original pricelists from duplicated ones and reduces confusion when managing pricing.
Original PR description
Before this commit, when user duplicate pricelist then new pricelist is created with same name. After this commit, add sufix '(copy)' in newly created pricelist when user duplicate pricelist. task-4035473 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When a confirmed sales order is settled in Point of Sale, the “ship later” option now stays off by default instead of being automatically enabled from the original order’s delivery date. This prevents staff from accidentally delaying delivery when completing an in-store payment.
Original PR description
When settling a sale order in the PoS the shiplater option was always turned on. Steps to reproduce: ------------------- * Activate ship later option in PoS config * Create a sale order and confirm it * Open the PoS * Settle the order * Click on pay > Observation: The ship later button is already activated Why the fix: ------------ The button activation is based on the presence or not of a delivery date to fix it we just make sure not to import the delivery date from the original sale order. opw-3987515 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Email templates posted in the chatter now stay contained within the message bubble. Wide content can be scrolled horizontally, preventing layout overflow and keeping conversations easier to read.
Original PR description
**Current behavior before PR:** When an email template is posted inside the chatter, the content overflows in the x-direction, causing a UI issue where the message bubble does not handle the overflow properly.  **Desired behavior after PR is merged:** The issue has been fixed, making the message content scrollable inside the message bubble, preventing overflow and maintaining proper UI appearance. **Task**-4083373 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The cart now only shows loyalty rewards from programs enabled for eCommerce. This prevents shoppers from seeing or claiming rewards that the business has intentionally disabled online, keeping promotions aligned with store settings.
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Create a loyalty program that applies on future orders; 2. disable it for eCommerce; 3. create a card for you with adequate points for a reward; 4. go to website shop; 5. add product to cart; 6. go to shopping cart view. Issue ----- Claimable reward is display despite being disabled for eCommerce. Cause ----- The `_get_claimable_and_showable_rewards` method doesn't take a program's `ecommerce_ok` field into account when searching for cards. Solution -------- In the domain used, use the result of `_get_program_domain` to ensure only applicable cards from applicable program's are retrieved. opw-3997371
This update fixes failing tests in the subscription module that were caused by incorrect time handling during test execution. The fix ensures that time is properly frozen during testing, preventing intermittent test failures that occurred when tests were run at specific times. This improves the reliability of the subscription testing process.
Original PR description
Before this commit, some tests were failing because the time was not correctly frozen. The failing test could be seen when run like this: faketime '2024-08-31 02:01:00 UTC' ./odoo-bin -c ... runbot errors: 76518, 76519, 76520