Daily updates from Odoo
Wednesday, February 19, 2025
53 changes
1 change
Miscellaneous changes
Task-4577776 Forward-Port-Of: odoo/odoo#197900
Original PR description
Task-4577776 Forward-Port-Of: odoo/odoo#197900
15 changes
Enhancements to existing features
The appointment and planning calendar tests were updated to match changes in the calendar filter panel. This supports a smoother filtering experience by aligning behavior with the removal of the option to select everybody's calendar and improved reload handling after filter changes.
Original PR description
Counter-part of https://github.com/odoo/odoo/pull/197338 Task-4567282
Miscellaneous changes
This commit adds some QoL improvements on l10n_uy_edi when creating an Uruware testing account, as listed: - if in test mode, skip the uuid validation - if in test mode, use the current user email address for the contact for Uruware to send the credentials - in the successful event notification, display the email address where the credentials will be sent from Uruware - add cooldown period of 24 hours everytime a successful request for creating uruware account is sent related IAP PR: ht
Original PR description
This commit adds some QoL improvements on l10n_uy_edi when creating an Uruware testing account, as listed: - if in test mode, skip the uuid validation - if in test mode, use the current user email address for the contact for Uruware to send the credentials - in the successful event notification, display the email address where the credentials will be sent from Uruware - add cooldown period of 24 hours everytime a successful request for creating uruware account is sent related IAP PR: https://github.com/odoo/iap-apps/pull/974 task-id: 4411564 Forward-Port-Of: odoo/enterprise#79387 Forward-Port-Of: odoo/enterprise#78008
Before Commit: ---------------------------- - Quality checks only displayed the product name, making it difficult to distinguish between variants in the same transfer. After Commit: ----------------------------- - Quality checks now display variant details, ensuring clarity and reducing confusion when handling multiple variants of the same product. task-4478249 Forward-Port-Of: odoo/enterprise#77337
Original PR description
Before Commit: ---------------------------- - Quality checks only displayed the product name, making it difficult to distinguish between variants in the same transfer. After Commit: ----------------------------- - Quality checks now display variant details, ensuring clarity and reducing confusion when handling multiple variants of the same product. task-4478249 Forward-Port-Of: odoo/enterprise#77337
This commit increases the distance between the radio buttons when dropped, exactly how it is done when adding more buttons. Additionaly, we now hide the placeholder change for the radio buttons and checkboxes as they're not really useful. Finally, we fixed a traceback on the Sign Templates opening related to `itemsCount` when opening a template. task-4575197 Forward-Port-Of: odoo/enterprise#79269
Original PR description
This commit increases the distance between the radio buttons when dropped, exactly how it is done when adding more buttons. Additionaly, we now hide the placeholder change for the radio buttons and checkboxes as they're not really useful. Finally, we fixed a traceback on the Sign Templates opening related to `itemsCount` when opening a template. task-4575197 Forward-Port-Of: odoo/enterprise#79269
Steps to reproduce ================== - Got to appointment type; - Apply some filter. - Now create a share link. - Filter is lost. Technical =========== https://github.com/odoo/enterprise/pull/63046/commits/492296e91e9c0b1106a7bc6852010be426d2abe8 Here we are loading the action while creating or updating the share link to reflect the changes without refreshing. It is not required when we create a share link from other places instead of a Share link menu. After this commit ========
Original PR description
Steps to reproduce ================== - Got to appointment type; - Apply some filter. - Now create a share link. - Filter is lost. Technical =========== https://github.com/odoo/enterprise/pull/63046/commits/492296e91e9c0b1106a7bc6852010be426d2abe8 Here we are loading the action while creating or updating the share link to reflect the changes without refreshing. It is not required when we create a share link from other places instead of a Share link menu. After this commit ================== This commit addresses the issue and now the filter will not lost when we create a share link from appointment_type. Task-4138356 Forward-Port-Of: odoo/enterprise#79584 Forward-Port-Of: odoo/enterprise#71165
In this commit: === - Adjusted the UI to align with the newly merged POS design. - Ensured that all elements related to UrbanPiper online orders are displayed correctly and without overlapping issues. task-4446972 Forward-Port-Of: odoo/enterprise#76447
Original PR description
In this commit: === - Adjusted the UI to align with the newly merged POS design. - Ensured that all elements related to UrbanPiper online orders are displayed correctly and without overlapping issues. task-4446972 Forward-Port-Of: odoo/enterprise#76447
This commit allows the calendar_event_view_form_gantt_booking_inherit form view to display the answers to the questions linked to an appointment. https://github.com/odoo/odoo/pull/196426 Forward-Port-Of: odoo/enterprise#78536
Original PR description
This commit allows the calendar_event_view_form_gantt_booking_inherit form view to display the answers to the questions linked to an appointment. https://github.com/odoo/odoo/pull/196426 Forward-Port-Of: odoo/enterprise#78536
Clicking 'Name this version' in the version history panel causes a traceback because the `el` of TextInput is not found. We have two possible solutions: 1. Forward the refs of TextInput and VersionHistoryItem explicitly using `useChildRef` and `useForwardRefToParent`, or use a callback to retrieve the ref for focusing the input. 2. Remove the menu item, as the cursor already changes to a text pointer on hover, indicating the name is editable. I think the second approach is better since
Original PR description
Clicking 'Name this version' in the version history panel causes a traceback because the `el` of TextInput is not found. We have two possible solutions: 1. Forward the refs of TextInput and VersionHistoryItem explicitly using `useChildRef` and `useForwardRefToParent`, or use a callback to retrieve the ref for focusing the input. 2. Remove the menu item, as the cursor already changes to a text pointer on hover, indicating the name is editable. I think the second approach is better since it is simpler and more intuitive. Task: 4563422 Forward-Port-Of: odoo/enterprise#79474
In this commit: https://github.com/odoo/odoo/commit/1e4e40cf78fe8151dffdcb19df2688787084732c We removed getSelectedResIds, but this function is still needed in some overrides. This commit removes the calls to that function while keeping the same behaviour as before. no-task linked:https://github.com/odoo/odoo/pull/198121 Forward-Port-Of: odoo/enterprise#79589
Original PR description
In this commit: https://github.com/odoo/odoo/commit/1e4e40cf78fe8151dffdcb19df2688787084732c We removed getSelectedResIds, but this function is still needed in some overrides. This commit removes the calls to that function while keeping the same behaviour as before. no-task linked:https://github.com/odoo/odoo/pull/198121 Forward-Port-Of: odoo/enterprise#79589
First commit lightens the unavailability color in dark mode to distinguish it from the border color and make it easier to differentiate from folded columns. Second commit removes the fold attribute from the gantt view as it becomes the default behavior for any gantt view with unavailabilities. The fold/unfold button of the gantt_scale_selector is also removed since it loses its purpose as a result. Third commit changes the width computations of folded column so that they have a fixed with
Original PR description
First commit lightens the unavailability color in dark mode to distinguish it from the border color and make it easier to differentiate from folded columns. Second commit removes the fold attribute from the gantt view as it becomes the default behavior for any gantt view with unavailabilities. The fold/unfold button of the gantt_scale_selector is also removed since it loses its purpose as a result. Third commit changes the width computations of folded column so that they have a fixed with of 36px. This helps saving screen space for actually useful information. Part of task-4571228 Forward-Port-Of: odoo/enterprise#79445
Currently a `ParseError` arises when the user installs the `appointment_account_payment` module after deleting the `Service` category in `Invoicing`. Steps to reproduce: --- - Install `Invoicing` application (without demo data) - Invoicing > Configuration > Categories > Delete `Services` - Now install `appointment_account_payment` module Traceback: --- ``` ValueError: External ID not found in the system: product.product_category_services ParseError: while parsing /home/odoo/src/e
Original PR description
Currently a `ParseError` arises when the user installs the `appointment_account_payment` module after deleting the `Service` category in `Invoicing`. Steps to reproduce: --- - Install `Invoicing`…
Currently a `ParseError` arises when the user installs the `appointment_account_payment` module after deleting the `Service` category in `Invoicing`.
Steps to reproduce:
---
- Install `Invoicing` application (without demo data)
- Invoicing > Configuration > Categories > Delete `Services`
- Now install `appointment_account_payment` module
Traceback:
---
```
ValueError: External ID not found in the system: product.product_category_services
ParseError: while parsing /home/odoo/src/enterprise/saas-18.1/appointment_account_payment/data/product_data.xml:3, somewhere inside <record id="default_booking_product" model="product.product">
<field name="name">Booking Fees</field>
<field name="standard_price">0.00</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="list_price">50.00</field>
<field name="type">service</field>
<field name="purchase_ok" eval="False"/>
<field name="categ_id" ref="product.product_category_services"/>
<field name="image_1920" type="base64" file="appointment_account_payment/static/src/img/booking_product.png"/>
</record>
```
The error occurs because the user deleted the category and then installed the `appointment_account_payment` module, which references the missing product category.
This commit resolves the error by providing a False value for the field if the product category is missing.
sentry-6298992760
Forward-Port-Of: odoo/enterprise#79365**[FIX] account_online_synchronization: branch company failing to fetch bank's logos.** When a branch company is selected alone with a non admin user, the function `fetch_online_sync_favorite_institutions` fails due to an access error, when trying to access the original companies country code (which is not selected). To reproduce the issue: - Create a branch for a company with a bank journal that hasn't been set up. - Create new internal user with access to the new branch company as we
Original PR description
**[FIX] account_online_synchronization: branch company failing to fetch bank's logos.** When a branch company is selected alone with a non admin user, the function `fetch_online_sync_favorite_institutions` fails due to an access error, when trying to access the original companies country code (which is not selected). To reproduce the issue: - Create a branch for a company with a bank journal that hasn't been set up. - Create new internal user with access to the new branch company as well as the parent (origin of the journal) - Login with the non admin user - Choose soley the newly created branch in company selector - Open invoicing opw-4524368 Forward-Port-Of: odoo/enterprise#79073
The items inside the wizard view are ordered as a 2 column grid of labels and contents. But recently, it is found that the hard lock date alert item is only displayed in the short label section of the grid. This commit spans the hard lock date `div`'s `colspan` to 2 to make sure it spans on the whole line. for more info:  task-4586675 Forward-Port-Of: odoo/enterprise#79572
Original PR description
The items inside the wizard view are ordered as a 2 column grid of labels and contents. But recently, it is found that the hard lock date alert item is only displayed in the short label section of the grid. This commit spans the hard lock date `div`'s `colspan` to 2 to make sure it spans on the whole line. for more info:  task-4586675 Forward-Port-Of: odoo/enterprise#79572
Steps to reproduce: - Run helpdesk tour. - Change the language - Proceed with the tour Isuse: - The tours fails. Problem: - It is due to the triggers using english text in :contains. Fix: - Replace all the :contains with concrete triggers. Also changed some tour steps pointer orientation as it doesnt sit right in some conditions(gets broken/ partially invisible) task-4479518 Forward-Port-Of: odoo/enterprise#79539 Forward-Port-Of: odoo/enterprise#77398
Original PR description
Steps to reproduce: - Run helpdesk tour. - Change the language - Proceed with the tour Isuse: - The tours fails. Problem: - It is due to the triggers using english text in :contains. Fix: - Replace all the :contains with concrete triggers. Also changed some tour steps pointer orientation as it doesnt sit right in some conditions(gets broken/ partially invisible) task-4479518 Forward-Port-Of: odoo/enterprise#79539 Forward-Port-Of: odoo/enterprise#77398
This parameter should have been optional from the beginning. We changed it now because it causes problems when trying to use the TestEdi class with other Tests (Example: AR Website Sales) Forward-Port-Of: odoo/enterprise#79401 Forward-Port-Of: odoo/enterprise#78014
Original PR description
This parameter should have been optional from the beginning. We changed it now because it causes problems when trying to use the TestEdi class with other Tests (Example: AR Website Sales) Forward-Port-Of: odoo/enterprise#79401 Forward-Port-Of: odoo/enterprise#78014
37 changes
Resolved issues and error corrections
This fixes a mobile point of sale issue where opening customer selection while reviewing a paid order could cause an error. The customer button is now hidden in that context, preventing confusion and matching the desktop behavior since paid orders should not have their customer changed.
Original PR description
- Fix issue where an error occur when trying to open the customer popup on mobile from the ticket screen (while reviewing a paid order). - Now we don't display the `Customer` selection button when we're on the ticket screen (like it was already done for the "actions" button) to avoid this error (like it's done in desktop). Also, it does not make sense to try to change the customer of a paid order. task-id: 4571914 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
Product forms no longer show Purchase-related tabs or checkboxes unless the Purchase app is installed. This avoids confusing users with options that are not available in their current setup.
Original PR description
Issue Before This Commit: ----------------------------------------------- - Purchase tab and checkbox is visible in the product form without installing Purchase. Steps to Produce: ----------------------------------------------- => Purchase checkbox Problem: Purchase checkbox is always visible in the product form which is incorrect. => Purchase tab 1. Install Sales. 2. On Unit and Measure. Problem: Now Purchase tab is visible in the product form without installing Purchase which is incorrect. With this commit: ----------------------------------------------- - Purchase tab and checkbox is visible in the product form only after installing Purchase. Task-id: 4391349
This fixes an issue where previously loaded drawn signatures could still be treated as empty. Users now see signing buttons enabled or disabled correctly, reducing confusion when completing signature flows.
Original PR description
Before this commit, although there is a signature loaded in the draw mode, the signature's isSignatureEmpty flag is true, which affects the logic that handles the sign buttons [enable/disable] state. After this commit, the isSignatureEmpty is handled correctly and the sign buttons' disability logic is clear. task-4466854 Related: https://github.com/odoo/enterprise/pull/77120 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Creating a link in an empty editor block no longer leaves an extra hidden line break behind it. This prevents formatting from being accidentally applied or left behind when users select, style, or clear formatting on the link.
Original PR description
**Current behaviour before PR:** Creating a link in an empty block using powerbox contains trailing `br` at the end of link. Due to this `br` , when user presses `ctrl + A` and applies any format, `br` also gets formatted along with link. In such case when user selects link using double click and removes format using remove-format button, the link gets unformatted but `br` remains formatted because it is not traversed in selection. **Desired behaviour after PR:** There should be no trailing `br` after creating a link as the block is not empty anymore. task-4399010 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HTML editor now ignores invisible placeholder characters when checking whether selected text is formatted. This keeps toolbar buttons like Bold in sync after formatting selections that include links, reducing confusion while editing content.
Original PR description
**Problem**: When applying formatting (e.g., Bold) to a selection that includes a link, isZwnbsp characters inside the DOM cause incorrect formatting state detection. isZwnbsp nodes are not formatted, but they are still considered when checking the selection state. **Solution**: Modify `isSelectionFormat` to check only visible text nodes. isZwnbsp characters should be ignored as they do not get formatted. Also when split we remove `FEFF` chars from text node which in case the node has only one `FEFF` will become an empty node We should exludes those nodes from the check too. **Steps to Reproduce**: 1. Type a link followed by a space. 2. Select all the text. 3. Apply "Bold." 4. The "Bold" button in the toolbar remains inactive incorrectly. opw-4555595 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a test portal template so it is correctly marked as the main portal layout. It prevents portal pages, such as sale order pages used in testing, from showing the discussion area in the wrong position.
Original PR description
Since odoo/odoo#196778, a portal test template has been added. Missing the `primary`attribute in this template affects all the portal templates. This commit adds this attribute to the test template. Steps to reproduce: - Install a module that inherits `portal.mixin` such as sale and `test_mail_full` - Go to a sale order page in the portal - Chatter is at the top of the page
This fix stops users from saving a live chat bot question-selection step unless it includes at least one answer. This prevents chatbot execution errors and helps ensure customer conversations continue smoothly.
Original PR description
**Current behavior before PR:** It was possible to save a step with step_type "question selection" without any answers. However, this would cause an error when the bot was executed. **Desired behavior after PR is merged:** A constraint has been added to ensure that a "question selection" step cannot be saved without at least one answer. task-id:[4522835](https://www.odoo.com/odoo/my-tasks/4522835) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a display issue in report headers where a company logo with a white background could blend incorrectly with the colored wave shape. Logos now appear above the background shape, keeping reports visually clean and branded as intended.
Original PR description
Issue: When changing the company logo, if the image contains a white background it will mix with the header's shape color. This is because the shape is displayed on top of the image. Adding a negative z-index ensures the image is over the shape and doesn't mix with it. task-4471578 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Shared spreadsheet links now only show the “frozen and copied” message when the spreadsheet is actually frozen. This prevents viewers from seeing misleading status information when opening normal shared spreadsheets.
Original PR description
Steps to reproduce: - Create a new blank spreadsheet in Documens - Hit the Share button - Open the sharing link in a incognito window => it says "Frozen and copied on ..." even though it's not frozen at all See Enterprise PR Task-4583953 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
This fix ensures the French accounting setup uses the correct module reference when preserving existing tax tags. It helps prevent tax tag data from being missed or overwritten during setup or updates for French accounting configurations.
Original PR description
When calling preserve_existing_tags_on_taxes(), the module name is passed as argument, cf https://github.com/odoo/odoo/blob/18.0/addons/account/models/chart_template.py#L38. The module name is now l10n_fr_account instead of l10n_fr (account.account.tag are now defined in l10n_fr_account, cf https://github.com/odoo/odoo/blob/18.0/addons/l10n_fr_account/data/account_chart_template_data.xml#L3). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change adds automated testing for the website click-and-collect purchase flow. It helps ensure customers can continue buying online and selecting store pickup without regressions from future changes.
Original PR description
Add tour for the fix b395f98.
Employee payroll declaration documents are now linked to the employee as the contact when they are generated. This ensures employees can see the relevant declarations in their My Profile documents area, improving access to their own payroll paperwork.
Original PR description
Since the employees see in their 'My Profile' tab the documents on which they are 'Contact'. We need to set them as contact when generating declaration and not only 'read' access.
The Sign app now keeps the Sign All button available when a signer has multiple signature or initial fields and has already filled the first one. This prevents users from getting stuck when they want to apply the same signature to the remaining fields without changing it again.
Original PR description
Before this commit, If you have multiple signatures/initials on the page and you sign on the first signature and want to sign for other sign fields as well, it's not possible due to the "sign all" button's disability (if no change is made in the sign wizard). After this commit, The sign-all button is enabled, even if there is no change is made in the sign wizard. task-4466854
Odoo Studio now makes all relevant fields available when users build conditional rules for views, even if those fields were not originally shown on the screen. This fixes a limitation in the rule editor and helps users configure visibility or behavior rules more reliably.
Original PR description
Since commit [6f06420e4a9443c52dc0cb427f8f55eb4aecabce](https://github.com/odoo/odoo/commit/6f06420e4a9443c52dc0cb427f8f55eb4aecabce), fields used in expressions in a view are automatically added to the view if not present originally. This allows all fields to be available in the expression editor for modifiers, which this commit is enabling. task-4481934
This update restores an accounting test to the expected behavior after a related platform change. It helps keep automated quality checks reliable without changing customer-facing accounting features.
Original PR description
Test changed in d5da2b62263f85fbce0f2548085c066cbbf10371 needs to be changed back because of https://github.com/odoo/odoo/pull/198086 opw-4512877
Planning links that include start and end dates now open the Gantt view on the intended date range, avoiding an extra day or misaligned week. This makes shared planning URLs more reliable for teams reviewing schedules.
Original PR description
[IMP] Account: Create force_create attribute in try loading The goal is that we do not need to be more accurate on what we need to update when updating the CoA so I have added force_create to be false if wo do not want to create new accounts, new taxes, new fiscal positions in the Netherlands -I have added the created force attribute to try_loading function to use it whenever we do not need to create new accounts, taxs, and fiscal positions -Modified l10n_nl migrations files to make force create to False task-4556250
Fixed an issue that could cause an error when barcode inventory settings were opened or read in batches. This helps keep warehouse configuration screens reliable and avoids interruptions for users managing barcode workflows.
Original PR description
An error occurs when the system tries to access single values from multiple records at [1]. Link [1]:…
An error occurs when the system tries to access single values from multiple records at [1].
Link [1]: https://github.com/odoo/enterprise/blob/71747a21cb5c68a8ab151434f85c822f30649aad/stock_barcode/models/res_config_settings.py#L14-L15
Traceback On Sentry:
```
ValueError: too many values to unpack (expected 1)
File "odoo/orm/models.py", line 6073, in ensure_one
_id, = self._ids
ValueError: Expected singleton: res.config.settings(52, 53)
File "odoo/http.py", line 2420, in __call__
response = request._serve_db()
File "odoo/http.py", line 1946, in _serve_db
return self._transactioning(
File "odoo/http.py", line 2010, in _transactioning
return service_model.retrying(func, env=self.env)
File "odoo/service/model.py", line 137, in retrying
result = func()
File "odoo/http.py", line 1977, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 2228, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 335, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 741, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 31, in call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/service/model.py", line 62, in call_kw
result = getattr(recs, name)(*args, **kwargs)
File "odoo/orm/models.py", line 3611, in read
return self._read_format(fnames=fields, load=load)
File "odoo/orm/models.py", line 3841, in _read_format
vals[name] = convert(record[name], record, use_display_name)
File "odoo/orm/models.py", line 6880, in __getitem__
return self._fields[key].__get__(self)
File "odoo/orm/fields.py", line 1428, in __get__
self.compute_value(recs)
File "odoo/orm/fields.py", line 1594, in compute_value
records._compute_field_value(self)
File "odoo/orm/models.py", line 5055, in _compute_field_value
determine(field.compute, self)
File "odoo/orm/fields.py", line 70, in determine
return needle(*args)
File "home/odoo/src/enterprise/saas-18.1/stock_barcode/models/res_config_settings.py", line 32, in _compute_show_barcode_nomenclature
self.show_barcode_nomenclature = self.module_stock_barcode and self.env['barcode.nomenclature'].search_count([]) > 1
File "odoo/orm/fields.py", line 1369, in __get__
record.ensure_one()
File "odoo/orm/models.py", line 6076, in ensure_one
raise ValueError("Expected singleton: %s" % self)
```
To resolve this issue, Use an iteration(for loop) to iterate records one by one.
Sentry-6296116940Shared document spreadsheets now only show the “Frozen and copied” message when the spreadsheet is actually frozen. This avoids confusing viewers who open a normal shared spreadsheet link and helps users trust the sharing status they see.
Original PR description
Steps to reproduce: - Create a new blank spreadsheet in Documens - Hit the Share button - Open the sharing link in a incognito window => it says "Frozen and copied on ..." even though it's not frozen at all See Community PR Task-4583953
Customer statement emails now include the sender signature only once. This keeps customer communications cleaner and avoids an unprofessional-looking duplicate signature when statements are sent from partner records.
Original PR description
Customer statement can be accessed from the partner record and eventually sent to the customer. However currently the mail wizard will add 2 signatures at the end of the mail Steps to reproduce: - Open a partner - Access Customer Statement - Click Print, send email - Check sent email Issue: The signature is duplicated opw-4456798
Miscellaneous changes
[1] introduced a new URL mechanism where the menu_id isn't in the URL anymore. To find the corresponding menu on reload, the web client searches for a menu corresponding to the first application in the URL. The advantage of this, is that a clean URL without superflow is used. One of the limitations is that if the first action in the URL is not linked to a menu, the menu may disappear on reload. This PR fixes this issue by creating a fallback to the last used menu. This is done to improve the
Original PR description
[1] introduced a new URL mechanism where the menu_id isn't in the URL anymore. To find the corresponding menu on reload, the web client searches for a menu corresponding to the first application in the URL. The advantage of this, is that a clean URL without superflow is used. One of the limitations is that if the first action in the URL is not linked to a menu, the menu may disappear on reload. This PR fixes this issue by creating a fallback to the last used menu. This is done to improve the user experience on reload. Note that this only fixes the problem on reload. If the URL is opened in a new tab, or shared, the menu will not be display. [1] https://github.com/odoo/odoo/commit/c63d14a0485a553b74a8457aee158384e9ae6d3f opw-198103 Forward-Port-Of: odoo/odoo#198122
This commit fixes two pivot tests failing randomly by ensuring that we wait for the download to be completed before ending the test or asserting the steps. Runbot error-134572 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#198228 Forward-Port-Of: odoo/odoo#198098
Original PR description
This commit fixes two pivot tests failing randomly by ensuring that we wait for the download to be completed before ending the test or asserting the steps. Runbot error-134572 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#198228 Forward-Port-Of: odoo/odoo#198098
Versions -------- - 16.0+ Steps ----- 1. Go to Settings / Website; 2. enable the following options: - Comparison Price; - Pricelists: Advanced price rules; - Prevent Sale of Zero Priced Product; 3. create a pricelist setting all prices to 0; 4. make pricelist selectable; 5. set pricelist's Discount Policy to Show public price & discount to customer; 6. go to `/shop`; 7. query the search bar. Issue ----- A strikethrough price is added, despite the item not being a
Original PR description
Versions
--------
- 16.0+
Steps
-----
1. Go to Settings / Website;
2. enable the following options:
- Comparison Price;
- Pricelists: Advanced price rules;
- Prevent Sale of Zero Priced Product;
3. create a pricelist setting all prices to 0;
4. make pricelist selectable;
5. set pricelist's Discount Policy to Show public price & discount to customer;
6. go to `/shop`;
7. query the search bar.
Issue
-----
A strikethrough price is added, despite the item not being available for sale.
Cause
-----
The `_search_render_results_prices` method still checks for `has_discounted_price` and `compare_list_price` after it already knows the product isn't available for sale.
Solution
--------
If `prevent_zero_price_sale` is given for the product, do an early return, disregarding the `has_discounted_price` and `compare_list_price` options.
opw-4263554
Forward-Port-Of: odoo/odoo#197336
Forward-Port-Of: odoo/odoo#195721Steps to reproduce: - In website, open the HTML/CSS Editor (Site > HTML/CSS Editor). - In the dropdown, select JS. - Uncomment the given example (about the "Hello World" dialog) and save. - Try to go in edit mode. => Traceback This happens since commit [1], which replaced the dialogs by OWL Dialog ones. Indeed, the call to `super` in the `init` function was forgotten, making the widget not being initialized correctly, and therefore not destroyed correctly either when going in edit mode.
Original PR description
Steps to reproduce: - In website, open the HTML/CSS Editor (Site > HTML/CSS Editor). - In the dropdown, select JS. - Uncomment the given example (about the "Hello World" dialog) and save. - Try to go in edit mode. => Traceback This happens since commit [1], which replaced the dialogs by OWL Dialog ones. Indeed, the call to `super` in the `init` function was forgotten, making the widget not being initialized correctly, and therefore not destroyed correctly either when going in edit mode. This commit adds this missing call. [1]: https://github.com/odoo/odoo/commit/57ed8bc0bf9d1ae2b7542d677a4d7e8fd1899ea2 opw-4243615 Forward-Port-Of: odoo/odoo#183401
To reproduce: Testing `test_ensure_correct_website_asset` with multiple website will consistently fail as the bundle from the biggest `website_id` is used whereas it compare the bundle to default website loaded, which looks to be the one with the smallest ID. Installing `test_themes` reproduce the issue consistently as the website with biggest and smallest ID will use different theme website with distinct bundle After this fix: As the website with smaller ID load by default, we use the
Original PR description
To reproduce: Testing `test_ensure_correct_website_asset` with multiple website will consistently fail as the bundle from the biggest `website_id` is used whereas it compare the bundle to default website loaded, which looks to be the one with the smallest ID. Installing `test_themes` reproduce the issue consistently as the website with biggest and smallest ID will use different theme website with distinct bundle After this fix: As the website with smaller ID load by default, we use the smallest existing website_id rather than the biggest one rb-65788 Forward-Port-Of: odoo/odoo#198006
Before this commit, the PoS notes were not displayed in the correct order in the PoS interface, despite the existence of a `sequence` field that allowed users to define their desired order. opw-4473463 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193789
Original PR description
Before this commit, the PoS notes were not displayed in the correct order in the PoS interface, despite the existence of a `sequence` field that allowed users to define their desired order. opw-4473463 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193789
When message content is not markup(), it will not render its content as HTML but as text when using t-out. This case was not taken into account when manually processing the content, leading to incorrectly detecting links or other features within purely text content. Those are now properly ignored. From https://github.com/odoo/odoo/pull/190461 Forward-Port-Of: odoo/odoo#197343
Original PR description
When message content is not markup(), it will not render its content as HTML but as text when using t-out. This case was not taken into account when manually processing the content, leading to incorrectly detecting links or other features within purely text content. Those are now properly ignored. From https://github.com/odoo/odoo/pull/190461 Forward-Port-Of: odoo/odoo#197343
**Current behavior:** For `real_time`, `avco` prod: When posting the bill of a reception which originated from a PO with a foreign currency, if a return for the receipt was generated as well as a return for that return, there will be an extraneous SVL created which illogically affects the product's `standard_price` (product value has increased from nowhere). **Expected behavior:** The product cost prior to posting the bill and after posting the bill is equal. **Steps to reproduce:** 1.
Original PR description
**Current behavior:** For `real_time`, `avco` prod: When posting the bill of a reception which originated from a PO with a foreign currency, if a return for the receipt was generated as well as a…
**Current behavior:** For `real_time`, `avco` prod: When posting the bill of a reception which originated from a PO with a foreign currency, if a return for the receipt was generated as well as a return for that return, there will be an extraneous SVL created which illogically affects the product's `standard_price` (product value has increased from nowhere). **Expected behavior:** The product cost prior to posting the bill and after posting the bill is equal. **Steps to reproduce:** 1. Create an `avco` + `real_time` costing/valuated productA 2. Activate 2 additional currencies + give them unique exchange rates 3. Create a purchase order in the first of the two additional currencies, for `N` units of productA at $`price_unit` 4. Confirm the PO -> receive the product 5. Create another purchase order in the second of the two currencies, again `N` units @ $`price_unit` 6. Confirm + receive, then generate a return for this reception 7. Generate a return for the return of step 6 8. Note the current `standar_price` of ProductA 9. For the second purchase order (the one with the returns) create the vendor bill 10. Observe that the `standard_price` of ProductA has increased without any legitimate basis **Cause of the issue:** In `_generate_price_difference_vals`: https://github.com/odoo/odoo/blob/55658e7f43375d7e1af07293e2cd9d1cc4b33883/addons/purchase_stock/models/account_move_line.py#L307-L314 We operate with the assumption that, because we are in a return of a return, any existing pdiff will have already been compensated for- so we take the POL price unit at face value to compare with the AML price unit. But, in case the POL and AML are in different currencies, this will fail to prevent a pdiff SVL from being created. **Fix:** Convert the purchase line's returned price unit to the currency used by the layer for which we are finding the pdiff. opw-4334372 Forward-Port-Of: odoo/odoo#197817 Forward-Port-Of: odoo/odoo#196222
Purpose of this commit: The command descriptions (canned responses, channel command) currently use an italic font style due to being wrapped in the emphasis tag, causing the text to appear cropped at the end of the sentence. This commit resolves the issue by replacing the emphasis tag with a span tag. task-4485553 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#198229 Forward-Port-Of: odoo/odoo#193915
Original PR description
Purpose of this commit: The command descriptions (canned responses, channel command) currently use an italic font style due to being wrapped in the emphasis tag, causing the text to appear cropped at the end of the sentence. This commit resolves the issue by replacing the emphasis tag with a span tag. task-4485553 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#198229 Forward-Port-Of: odoo/odoo#193915
Nilvera requires the country name in the XML to be in Turkish. To achieve this, the Turkish language is now activated during installation, ensuring translated values are stored in the database and can be enforced in the XML output. task-4504454 Forward-Port-Of: odoo/odoo#197933
Original PR description
Nilvera requires the country name in the XML to be in Turkish. To achieve this, the Turkish language is now activated during installation, ensuring translated values are stored in the database and can be enforced in the XML output. task-4504454 Forward-Port-Of: odoo/odoo#197933
Forward-Port-Of: odoo/odoo#198125
Original PR description
Forward-Port-Of: odoo/odoo#198125
Description of the issue/feature this PR addresses: In the 'CONTRIBUTING.md' file , there is a list item with the text: > Use this **template** when reporting issues. Please search for duplicates first! The link named 'template' should point to a pull request template. Current behavior before PR: The link named 'template' is broken and give a 404 error. Desired behavior after PR is merged: The link named 'template' now target the 'Contributing' wiki page, section 'making-p
Original PR description
Description of the issue/feature this PR addresses: In the 'CONTRIBUTING.md' file , there is a list item with the text: > Use this **template** when reporting issues. Please search for duplicates first! The link named 'template' should point to a pull request template. Current behavior before PR: The link named 'template' is broken and give a 404 error. Desired behavior after PR is merged: The link named 'template' now target the 'Contributing' wiki page, section 'making-pull-request' that contains the desired template. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#197547
Backport of https://github.com/odoo/odoo/pull/166533: > For the Bizkaia tax agency in Bask country, we also need to send vendor bills and vendor bill refunds. In Odoo standard however, we only have a link towards one original vendor bill for a vendor bill refund. > > The problem however is that your vendor can send you a vendor refund for multiple original vendor bills and that for the moment, you do not really have a good way to encode it. > > So, we added a field to put the other ori
Original PR description
Backport of https://github.com/odoo/odoo/pull/166533: > For the Bizkaia tax agency in Bask country, we also need to send vendor bills and vendor bill refunds. In Odoo standard however, we only have a link towards one original vendor bill for a vendor bill refund. > > The problem however is that your vendor can send you a vendor refund for multiple original vendor bills and that for the moment, you do not really have a good way to encode it. > > So, we added a field to put the other original vendor bills as a many2many. > > We also updated the translations. > > opw-3719158 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr @moduon MT-4966 Forward-Port-Of: odoo/odoo#198140 Forward-Port-Of: odoo/odoo#191303
Problem: When a non-admin user tries to send an invoice by email or print an invoice report, an access error is thrown because the fields l10n_id_qris_api_key and l10n_id_qris_mid are locked behind the Admin/Settings group. Purpose: Non-admin users should be able to send and print invoices regardless of their admin rights. Apply sudo when accessing those specific fields. Steps to reproduce on Runbot: ADMIN 1. Install Contacts, Accounting, l10n_id 2. Enable QR Codes in Settings > Account
Original PR description
Problem: When a non-admin user tries to send an invoice by email or print an invoice report, an access error is thrown because the fields l10n_id_qris_api_key and l10n_id_qris_mid are locked behind the Admin/Settings group. Purpose: Non-admin users should be able to send and print invoices regardless of their admin rights. Apply sudo when accessing those specific fields. Steps to reproduce on Runbot: ADMIN 1. Install Contacts, Accounting, l10n_id 2. Enable QR Codes in Settings > Accounting 3. Give Marc Demo basic accounting and bank rights, but no admin rights MARC DEMO 1. Switch to ID Company 2. Create and confirm invoice 3. Attempt to send and/or print invoice 4. Access Error is thrown opw-4529074 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#197706
This commit fixes a cohort test failing randomly by ensuring that we wait for the download to be completed before ending the test or asserting the steps. Runbot error-134572 Forward-Port-Of: odoo/enterprise#79622 Forward-Port-Of: odoo/enterprise#79555
Original PR description
This commit fixes a cohort test failing randomly by ensuring that we wait for the download to be completed before ending the test or asserting the steps. Runbot error-134572 Forward-Port-Of: odoo/enterprise#79622 Forward-Port-Of: odoo/enterprise#79555
This commit fix 2 columns in the Libro de IVA xlsx export file: 1. **expense_series_number**: before it was the move name, now it's the move ref 2. **reception_number**: before it was blank, now it's the move name task-4508992 Forward-Port-Of: odoo/enterprise#79459
Original PR description
This commit fix 2 columns in the Libro de IVA xlsx export file: 1. **expense_series_number**: before it was the move name, now it's the move ref 2. **reception_number**: before it was blank, now it's the move name task-4508992 Forward-Port-Of: odoo/enterprise#79459
Mod349 tax report in Spanish localization should report the total number of intra-community operators [1] However currently we count the number of operations Steps to reproduce: - With an ES company setup - Create 2 invoice to the same an EU partner - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operators is 2, but should be 1 [1] https://sede.agenciatributaria.gob.es/static_files/Sede/Proced
Original PR description
Mod349 tax report in Spanish localization should report the total number of intra-community operators [1] However currently we count the number of operations Steps to reproduce: - With an ES company setup - Create 2 invoice to the same an EU partner - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operators is 2, but should be 1 [1] https://sede.agenciatributaria.gob.es/static_files/Sede/Procedimiento_ayuda/GI28/instr_mod_349.pdf opw-4403287 Forward-Port-Of: odoo/enterprise#79522 Forward-Port-Of: odoo/enterprise#78588
This commit adds some QoL improvements on l10n_uy_edi when creating an Uruware testing account, as listed: - if in test mode, skip the uuid validation - if in test mode, use the current user email address for the contact for Uruware to send the credentials - in the successful event notification, display the email address where the credentials will be sent from Uruware - add cooldown period of 24 hours everytime a successful request for creating uruware account is sent related IAP PR: ht
Original PR description
This commit adds some QoL improvements on l10n_uy_edi when creating an Uruware testing account, as listed: - if in test mode, skip the uuid validation - if in test mode, use the current user email address for the contact for Uruware to send the credentials - in the successful event notification, display the email address where the credentials will be sent from Uruware - add cooldown period of 24 hours everytime a successful request for creating uruware account is sent related IAP PR: https://github.com/odoo/iap-apps/pull/974 task-id: 4411564 Forward-Port-Of: odoo/enterprise#79387 Forward-Port-Of: odoo/enterprise#78008