Friday, December 8, 2023
32 changes · 17.0
Resolved issues and error corrections
This fix makes message history navigation in Odoo Mail more reliable when users load older or newer messages or jump back to the latest conversation. It reduces cases where scrolling, highlighting, or reused conversation views could leave the message list in an inconsistent state, improving day-to-day chat and discussion usability.
Original PR description
See comment in diff for rationale about the `isLoaded` change. Also highlighting message before jumping to present can conflict: some programatic scroll changes are prevented or delayed while there is a highlight, jumping to present should clear that. All "previous state" variables need to be reset when re-using the thread component after making a change that led to reloading the message list (such as a long jump). They are used to compare value before/after some changes, but when jumping, the state should be considered clean. `isJumpingRecent` is obsolete heuristics that has been replaced by better controlling scroll and visibility check. Extra `await` in `loadAround` makes no sense. It's the best guess to fix the following runbot issues. The error doesn't happen frequently enough to be a guaranteed fix. runbot-40592 runbot-48557
Long customer names no longer disrupt the Point of Sale screen layout. This keeps key controls like the numpad and mobile action buttons usable, improving checkout reliability for staff.
Original PR description
This PR fixes two issues that occur when a customer has a very long name within the `point_of_sale` module. task-3631878 1. If you create a customer with a very long name, this will cause the left…
This PR fixes two issues that occur when a customer has a very long name within the `point_of_sale` module. task-3631878 1. If you create a customer with a very long name, this will cause the left panel to extend, pushing the numpad to the right, making it out of use. To fix this issue, we add a `mw-50` class to the container, so that we limit its growth, and we validate the `text-truncate` class applied to the customer name. | 17.0 | 17.0-fix-pos-actionpad-width-chgo | | ------------- | ------------- | | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/37365f4c-32ba-4eba-a308-b34dfd559d20"> | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/6632aae0-21f4-48fa-8338-52fc0b43d582"> | 2. If you use the `point_of_sale` module on a mobile device, the buttons related to main actions such as refund, customer note, billing etc are wrapped into a `more` button. When you open that interface, if the name of the customer is too long, it will overflow the parent container and so generates an overflow. To fix that issue, we simply add a `text-truncate` class to the customer name to be sure it doesn't generate any overflow. | 17.0 | 17.0-fix-pos-actionpad-width-chgo | | ------------- | ------------- | | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/dfcbff9c-5763-429b-8fa3-fce7e4d68ab2"> | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/bb4c94bf-5cbf-4ae6-aa64-bbf6f80c6c86"> |
This fix stops Odoo from saving values into fields that are marked as read-only when certain form updates happen in related list fields. It helps preserve data rules and prevents unintended changes during save operations.
Original PR description
Before this commit, during an onchange, when we received an update command for an x2many referring to an unknown record on the front end (does not have a Datapoint Record) during the save, we sent…
Before this commit, during an onchange, when we received an update command for an x2many referring to an unknown record on the front end (does not have a Datapoint Record) during the save, we sent all the contents of these commands without removing the readonly fields.
In this commit, we're going to filter all the readonly fields according to the backend (fields). We're not taking modifiers into account because the command refers to an unknown record, so we don't have the data to evaluate modifiers correctly.
How to reproduce:
- Go to a form view with an x2many field
- Edit a field that causes an onchange
- The onchange returns an "update" command for the x2many with a value that is readonly according to the backend
- Click on the Save button
Before this commit:
T he "update" command is saved with the readonly field
After this commit:
The "update" command is saved without the readonly chmaps
Task ID: 3607260
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-prZPL product labels now use the pricelist selected in the label printing wizard. This ensures printed prices match the intended customer or sales context, reducing pricing mistakes on physical labels.
Original PR description
before this commit, the pricelist concept is added in label printing in this commit: 168b56e and missed to adapt the zpl reports to respect the selected pricelist in the wizard after this commit, the price printed in the zpl product label will be based on the selected pricelist in the wizard --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves performance in Odoo's messaging features when loading or updating large recipient and follower lists. Users should experience faster response times in busy conversations and related contact-heavy workflows, with benchmarked test times reduced substantially.
This fix restores accurate date-based searching in the Point of Sale ticket screen. Staff can once again find past orders by date reliably, making ticket lookup and customer service smoother.
Original PR description
After commit https://github.com/odoo/odoo/commit/4c8fddd57029608bb616c2ff4761b7d41b674986 where `date_order` was transformed to DateTime. This modification eliminates the need for deserializeDateTime during the search process, ensuring accurate date-based search in the ticket screen. opw-3621659 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A display issue in survey lists has been fixed so the trigger icon appears immediately when relevant. This prevents users from missing survey trigger indicators due to a column sizing problem after updates.
Original PR description
Due to JS framework refactoring, the list view widget is not fully re-rendered after field update, such that a fixed narrow column width is added at first rendering and cannot be updated. We need to override it by providing a `width`, which was already supported but not declared in rng. Task-3512604
Duplicating a journal now creates or keeps a separate email alias for the new copy instead of changing the original journal's alias. This prevents copied vendor bill or sales/purchase journals from disrupting email routing for the original journal.
Original PR description
### Summary Currently duplicating a journal results in the new journal's mail alias name overwriting the original's. ### Steps to reproduce * install `account_accountant` * duplicate the "Vendor Bills" journal => you should see that the alias name of the new journal overwrites the alias of the original journal. ### Cause When duplicating a journal, the new journal inherits the alias of the original. Because of this, a specific code segment intended to generate missing aliases for sale/purchase journals, inadvertently modifies the existing alias instead of creating a new. opw-3597349
This fixes a rare issue in eLearning quizzes where answer lines could become editable after creating several questions in a row. Keeping those answers read-only prevents user-facing errors and helps quiz setup behave consistently.
Original PR description
Answers_ids line in question_lines of quiz page is not meant to be modified, and it is not generally modifiable. However, in very niche cases where user creates more then two consecutive questions and then leave question creation modal, they may be able to modify the field, which gives us an error. With this fix we make sure that answers_ids is always readonly. Task-3459850 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix centers the month labels in the date picker so months no longer appear too close together when users choose start and end dates. It improves readability and reduces confusion when planning project tasks.
Original PR description
Steps to reproduce : - install project module - click on project - click on tasks - try to set a start & end date to the project Issue : - when we try to set a start & end date to the project ,months are to close one from each other Cause: - this is because the text alignment is not in center Solution: - if we align the text to center then it will be solved. task-3561946 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 fixes an issue where the bill of materials overview could fail to display quantities for consumable or service items. Quantities are now consistently handled as numbers, preventing errors and keeping the report usable.
Original PR description
### Before this PR If you compute quantity consumable/service and the value is printed by bom overview table, this error appear `Caused by: TypeError: value.toFixed is not a function` This is caused because the quantity attributes are set to false ### After this PR The quantity are always float, when they are consumable/service too --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website editor now shows the Highlight Animated Text icon at the proper size when users animate selected text in a snippet. This keeps the editing toolbar visually consistent and avoids confusion while building website pages.
Original PR description
Steps to reproduce the bug:
- In Website edit mode, drag and drop a 'Text-Image' snippet onto the page.
- Select the word "Subtitle" in the title of the snippet.
- Click on the 'Animate' button in the editor toolbar.
- Bug: The 'Highlight Animated Text' icon that appeared on the right of the title ("Inline Text") of the editor toolbar is too big.
task-3597377The product label report preview in Studio now opens without causing an error. This prevents users from being blocked when previewing Dymo product label reports and improves reliability for Sales report customization.
Original PR description
when user tries 'PRINT PREVIEW' product.report_producttemplatelabel_dymo report in web_studio, A traceback will appear. Step to produce: - Install 'Sales' and 'web_studio'. - Go to 'web_studio' and…
when user tries 'PRINT PREVIEW' product.report_producttemplatelabel_dymo report in web_studio,
A traceback will appear.
Step to produce:
- Install 'Sales' and 'web_studio'.
- Go to 'web_studio' and open 'Sales'.
- reports > product.report_producttemplatelabel_dymo
- Click PRINT PREVIEW
Traceback:
```
KeyError: 'pricelist'
File "<481>", line 251, in template_481
File "<481>", line 200, in template_481_content
QWebException: Error while render the template
KeyError: 'pricelist'
Template: ir.ui.view(481,)
Path: /t/div/div/div[4]/strong
Node: <strong class="o_label_price_small" t-out="pricelist._get_product_price(product, 1, pricelist.currency_id or product.currency_id)" t-options="{\'widget\': \'monetary\', \'display_currency\': pricelist.currency_id or product.currency_id, \'label_price\': True}"/>
File "odoo/http.py", line 2157, in __call__
response = request._serve_db()
File "odoo/http.py", line 1732, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1759, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1960, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 207, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "home/odoo/src/enterprise/17.0/web_studio/controllers/report.py", line 372, in get_report_html
report_html = self._render_report(report, record_id)
File "home/odoo/src/enterprise/17.0/web_studio/controllers/report.py", line 454, in _render_report
return request.env['ir.actions.report'].with_context(studio=True)._render_qweb_html(report, [record_id] if record_id else [], {"studio": True})
File "home/odoo/src/enterprise/17.0/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
File "odoo/addons/base/models/ir_actions_report.py", line 916, in _render_qweb_html
return self._render_template(report.report_name, data), 'html'
File "odoo/addons/base/models/ir_actions_report.py", line 653, in _render_template
return view_obj._render_template(template, values).encode()
File "home/odoo/src/enterprise/17.0/web_studio/models/ir_ui_view.py", line 1310, in _render_template
return super(View, self)._render_template(template, values)
File "odoo/addons/base/models/ir_ui_view.py", line 2044, in _render_template
return self.env['ir.qweb']._render(template, values)
File "odoo/tools/profiler.py", line 292, in _tracked_method_render
return method_render(self, template, values, **options)
File "odoo/addons/base/models/ir_qweb.py", line 593, in _render
result = ''.join(rendering)
File "<488>", line 49, in template_488
File "<488>", line 31, in template_488_content
File "<488>", line 21, in template_488_t_call_0
File "<483>", line 173, in template_483
File "<483>", line 155, in template_483_content
File "<483>", line 142, in template_483_t_call_0
File "<481>", line 257, in template_481
```
https://github.com/odoo/odoo/blob/e4390c224c2f59afd6456bcf50910fbe3836b4ca/addons/product/report/product_label_report.py#L23-L26
Here 'pricelist' is not present in return.
sentry-4673780990
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe website setup configurator now sends industry names in lowercase. This helps improve reuse of cached placeholder content, making the setup process more efficient without changing the user experience.
Original PR description
This commit converts the industry name in the configurator to lowercase it in order to optimize the IAP placeholder cache. See related IAP PR: https://github.com/odoo/iap-apps/pull/730 task-3626875
Creating a Studio report with a dynamic table no longer triggers an error when adding a field in debug mode. This keeps the report-building flow working smoothly for users configuring custom reports.
Original PR description
To reproduce ============ - on Debug mode - Enter Studio - Create a new report - Add a dynamic table - add a field in the dynamic table -> traceback while props validation of SelectMenu Problem ======= in FieldDynamicPlaceholder we use the SelectMenu component but we add `model` to `choices` which is not part of SelectMenu shape, which leads to this error. Solution ======== extend SelectMenu and add `model` to the shape opw-3617081
The Materials Tree view in the Planning module has been simplified by hiding three unnecessary fields: user, type, and efficiency factor. This change makes the interface cleaner and easier to use by removing clutter and focusing on the most relevant information for users.
Original PR description
Before this commit: In Materials Tree view containing the some unnecessary fields (user,type,efficiency factor) After this commit: Hide the unnecessary fields in the tree view of materials (user,type,efficiency factor) task-3491748
This update addresses multiple critical issues in the shop floor manufacturing interface, including fixing validation queue handling during refresh, ensuring proper time logging when completing work orders, and calculating end dates for newly created work orders. Additionally, it improves the user experience by enabling the shop floor by default, adding navigation controls for quality checks, preventing unintended timer starts, and introducing a demo data loader for new users.
Original PR description
Collection of urgent fixes to the shop floor, see commits for details. Task: 3549953
This fix improves how articles appear when shared on LinkedIn from Odoo. Previously, posts lacked the preview image and metadata that normally display when sharing links on LinkedIn, reducing engagement. Now Odoo automatically extracts page information and uploads thumbnail images to LinkedIn, making posts look more professional and attractive to viewers.
Original PR description
Purpose ======= When we share an article on LinkedIn, a preview of the page is displayed. If we post the same article from Odoo, the preview is not displayed, which has an impact on how much engagement the post will get. Task-3594550
This fix resolves an issue where creating a new workspace from the project settings would open the wrong form view. The Documents module had multiple form views with the same priority, causing the system to load an incorrect deletion form instead of the creation form. The fix ensures the correct workspace creation form is displayed when users select the 'create and edit' option.
Original PR description
**Steps to reproduce** 1. Open project. 2. Configuration > Project 3. Open any project > Setting tab 4. Try to create a new workspace with the 'create and edit' option. **Issue** Opening the form view of 'documents.folder' model from another model by 'create and edit' option or through the internal link loads a secondary form view which is used for folder deletion. **Technical** The commit https://github.com/odoo/enterprise/commit/2254eb07fd42ec88341d9d7ac92f09a379c6fa55 introduced a new form view for workspace deletion in 'document.folder' model. But the sequence of form views is the same, so the form views are sorted alphabetically by name, causing the first one to be loaded. **After this PR** The correct form view is loaded for 'document.folder'. Task-3575307
This update corrects the CNSS (National Social Security Fund) contribution calculation rules for Morocco to align with current legal requirements. The payroll system now accurately calculates employee and employer social security contributions according to the official CNSS rate tables, ensuring compliance with Moroccan labor law and reducing payroll processing errors.
Original PR description
Update of CNSS rule to follow the law : https://www.cnss.ma/fr/content/paiement-de-vos-cotisations-sociales paragraph : Barèmes et taux de cotisation Add some tests about this issue task : 3498945 Forward-Port-Of: odoo/enterprise#52028 Forward-Port-Of: odoo/enterprise#49741
This fix resolves a problem where duplicating a SendCloud shipping carrier would incorrectly link shipping products to multiple carriers instead of just one. Previously, when duplicating a carrier and loading SendCloud shipping products, the original carrier's products would be deleted. Now, shipping products are properly excluded from duplication, ensuring each carrier maintains its own independent set of products.
Original PR description
send cloud shipping products, records created automatically and that should be linked to only one carrier are linked to two carriers if we use the duplicate button. **steps to reproduce:** - configure a sendclound carrier (carrier A) - duplicate it (carrier B) - on B, click on "Load your SendCloud shipping products" **before this commit:** - On A, sendcloud shipping product is deleted. This is because of https://github.com/odoo/enterprise/blob/2fcc1224915301b4cbd1c582a319d37961d1120f/delivery_sendcloud/wizard/sendcloud_shipping_wizard.py#L60 **after this commit:** - sendcloud products are not copied when using copy(). Adding an api.constrains on top of that to ensure that a sendcloud product is not used on another carrier seems overkill. opw-3573247 Forward-Port-Of: odoo/enterprise#51301
A bug in the Point of Sale customer display feature has been fixed. The system was incorrectly trying to call a function from the wrong location, which prevented the customer display from working properly. This fix ensures the customer display operates as intended by calling the function from the correct system component.
Original PR description
After commit 5adeb7f the function `customerDisplayHTML` was called on `this`, which is wrong, as it was not defined on the current context, but rather on the `pos_store`. As such, in this commit we fix the issue by correctly calling the function. Forward-Port-Of: odoo/enterprise#52150
This fix prevents taxes and tax groups from being reassigned to a different country when a company's fiscal country is changed. Previously, changing the fiscal country would incorrectly move all taxes to the new country and erase related custom field data, forcing users to reload the entire chart template. Now, taxes remain tied to their original country since they are specific to a single country's chart template.
Original PR description
The computation of the country_id of account.tax & account.tax.group no longer depends of the fiscal country of the company. Forward-Port-Of: odoo/enterprise#51590 Forward-Port-Of: odoo/enterprise#51286
A formatting error in the Spanish translation file for the Mexico EDI Stock module was causing the system to crash when reading translations. This fix corrects a missing space in the translation file that was accidentally removed during a recent update, restoring normal operation.
Original PR description
Currently, a log error is occurring from [1] due to not added space after 'msgstr' in the 'es_419.po' file. This is because the recently refactored code https://github.com/odoo/enterprise/pull/52141…
Currently, a log error is occurring from [1] due to not added space after 'msgstr' in the 'es_419.po' file. This is because the recently refactored code https://github.com/odoo/enterprise/pull/52141 updated translations but removed space from [1].
Stack Trace:
```
KeyError: ('ir.http', <function IrHttp.get_web_translations_hash at 0x7f1bdaeb8dc0>, frozenset({'stock', 'l10n_mx_edi_stock_extended', 'sale_planning', 'l10n_mx_xml_polizas', 'stock_account_enterprise', 'sale_timesheet_enterprise', 'hr_skills_survey', 'timer', 'spreadsheet_dashboard_sale_timesheet', 'spreadsheet_dashboard_account_accountant', 'saas_trial', 'digest_enterprise', 'rating', 'currency_rate_live', 'gamification', 'auth_totp', 'barcodes_gs1_nomenclature', 'google_gmail', 'project_enterprise', 'l10n_mx_re...
File "odoo/tools/cache.py", line 99, in lookup
r = d[key]
File "<decorator-gen-5>", line 2, in __getitem__
File "odoo/tools/func.py", line 87, in locked
return func(inst, *args, **kwargs)
File "odoo/tools/lru.py", line 34, in __getitem__
a = self.d[obj]
OSError: Syntax error in po file (line 314)
File "odoo/tools/translate.py", line 1617, in _get_code_translations
p = CodeTranslations._read_code_translations_file(fileobj, filter_func)
File "odoo/tools/translate.py", line 1604, in _read_code_translations_file
reader = TranslationFileReader(fileobj, fileformat='po')
File "odoo/tools/translate.py", line 589, in TranslationFileReader
return PoFileReader(source)
File "odoo/tools/translate.py", line 644, in __init__
self.pofile = polib.pofile(source.read().decode())
File "polib.py", line 130, in pofile
return _pofile_or_mofile(pofile, 'pofile', **kwargs)
File "polib.py", line 78, in _pofile_or_mofile
instance = parser.parse()
File "polib.py", line 1428, in parse
raise IOError('Syntax error in po file %s(line %s)' %
```
This PR fixes the above issue by adding space after 'msgstr' at [1].
[1]-https://github.com/odoo/enterprise/blob/8351e902b9c7ae25b37ba89cc6b75e5da1736e42/l10n_mx_edi_stock/i18n/es_419.po#L314
sentry-4704027071This update increases the character limit for invoice line descriptions in Colombian electronic invoices from the previous limit to 300 characters, in compliance with Carvajal specifications. This allows customers to include more detailed product and service descriptions in their PDF invoices without hitting character restrictions.
Original PR description
According to Carvajal [specifications](https://docs.google.com/spreadsheets/d/10xf3OsECA5R-6XrwMG0Jnt1iXKYMcL-f/edit#gid=530744640&range=G364) the fields "Descripción" and "Información Adicional" can have up to 300 characters. This change lets customers create PDF documents with longer descriptions in their invoice lines.  opw-3562855 Forward-Port-Of: odoo/enterprise#49525
This update corrects the structure and formulas in Slovenia's Balance Sheet and Profit & Loss reports to comply with official Slovenian Accounting Standards. The changes reorganize how retained earnings and unaffected earnings are presented, and fix calculation errors in five key report lines to ensure the Balance Sheet balances correctly.
Original PR description
At the moment, Unaffected Earnings is a sub-line of line VII. Carried forward net loss, which doesn't make any sense if the unaffected earnings are profits.
In addition, separating profits and losses is inconsistent with the official balance sheet of the Slovenian Accounting Standards (see task for link.)
This commit therefore re-does the Retained Earnings / Current Year Earnings section, to just keep 4 lines:
VI. Transferred net profit or loss
VI.1 Retained Earnings / Carried forward net loss
VI.2 Unaffected Earnings
VII. Net profit or loss for the financial year
In addition, we fix the formulae of lines 3, 10, 15, 19 and 20 of the P&L to ensure that the Balance Sheet is balanced. This can be tested using the Balance Sheet diagnosis tool in #36838.
taskid: 3624482
Forward-Port-Of: odoo/enterprise#52060This update removes problematic demo data from the US 1099 tax module that was causing balance discrepancies between the dashboard and bank reconciliation views. The demo bank statement was created before the account's initial balance, leading to incorrect financial information being displayed. Removing this data resolves the inconsistency while maintaining sufficient demo data for testing purposes.
Original PR description
Demo data of l10n_us_1099 used to create a bank statement that was before the initial balance of `account` demo data which it relies on. This caused inconsistencies in the balance shown in the dashboard and the balance shown in the bank reco widget. We remove this statement as anyway there are already enough data provided with the accounting module. task-id: 3619563 Forward-Port-Of: odoo/enterprise#52309
This update resolves migration failures that occurred when upgrading databases using Greek or Irish localization packages. The issue was caused by the system attempting to set default accounts for deferred revenue and expenses that didn't exist in the chart of accounts. The fix ensures these accounts are only set when they are actually available, allowing migrations to complete successfully.
Original PR description
Resolves a `ValueError` occurring during migration when the database includes either the l10n_gr_reports or l10n_ie_reports. The cause of the issue is that it sets default accounts for deferred revenue and expenses, but these specific accounts are missing since the COA is never updated. The provided solution simply set these accounts if they exist. The issue occurs since major changes in these localization packages in saas-16.4. task-3629902 Forward-Port-Of: odoo/enterprise#52312
This fix resolves an error that occurred when trying to assign a user to a batch transfer in the barcode scanning interface. The issue happened because the system was missing required company information when validating the user assignment. Users can now successfully assign themselves or others to batch transfers without encountering errors.
Original PR description
Steps to reproduce: 1. From Inventory - > Select multiple transfers 2. Add them to a new batch without assigning 3. Open barcode -> Batch Transfer 4. Click + assign 5. Error Bug: check company is set on user_id in stock.picking which implicitly adds a domain for company_id (on res.user) but in this case company_id is missing from the evalContext opw-3609045 Forward-Port-Of: odoo/enterprise#52048
This update fixes an issue where shipping requests to SendCloud would fail if a customer's company name exceeded 50 characters. The system now automatically truncates longer company names to meet SendCloud's requirements, allowing shipments to process smoothly regardless of company name length.
Original PR description
Steps to reproduce: Create a shipping in sendcloud, to a contact that has a company name longer than 50 characters. Error: `"company_name":["Ensure this field has no more than 50 characters."]` This commit truncates the company name to ensure it works with longer names. opw-3627831 Forward-Port-Of: odoo/enterprise#52325 Forward-Port-Of: odoo/enterprise#52311
This fix resolves a data synchronization issue in the Account Follow-up module where property information wasn't being properly saved to the database before being used in reports. The fix ensures that follow-up line status and multiple invoice tracking tests pass correctly by properly flushing data at the right time.
Original PR description
In the community PR, we avoid calling `flush_all()` when adding no-default `ir.property`. But it means that we need to flush properly when the ir_property table is used in a cr.execute to pass the `test_followup_line_and_status` and `test_followup_multiple_invoices` tests. https://github.com/odoo/odoo/pull/145171 Forward-Port-Of: odoo/enterprise#52291 Forward-Port-Of: odoo/enterprise#52207
This fix corrects an issue where helpdesk ticket emails were displaying the internal ticket ID instead of the customer-friendly ticket reference number. Now customers will see the correct ticket reference in their email notifications, making it easier to track and reference their support requests.
Original PR description
Before this commit ticket reference on new_ticket_request_email_template was the ID of the helpdesk ticket, and not the ticket reference. this commit corrects that mistake. opw-3580532 Forward-Port-Of: odoo/enterprise#51257