Tuesday, February 4, 2025
55 changes · master
Enhancements to existing features
Tickets created from chatbot conversations now show the chat history in a clearer format and include a direct shortcut back to the original discussion. This helps support teams understand customer requests faster and continue the conversation with less manual searching.
Original PR description
*: website_helpdesk_livechat. This PR aims to improve live chat consultations for tickets created by a chatbot. Specifically, it enhances the formatting of the ticket description to make the conversation easier to read, introduces a smart button to redirect users to the discussion channel where the ticket originated and set the ticket name according to the user request. task-4432728 community: https://github.com/odoo/odoo/pull/191813
Recruiters can now post job listings to job boards more smoothly, including jobs that have not yet been published. The update reduces interruptions during posting by requiring key information upfront and makes related recruitment modules easier to understand, while also fixing a missing job post icon in Firefox.
Contract template management is moved into the core employee contract area so templates are available where users expect them. The update also improves related hiring and payroll salary screens, making contract setup more consistent and easier to navigate.
Original PR description
Contract template should already exist in hr_contract and some other UX improvements. Task: 4320233
The disallowed expenses reporting now supports cases where businesses can deduct more than 100% of an expense, such as Belgium's enhanced deduction for eInvoicing costs. Reports and fleet-related expense settings now show both the disallowed and actually deductible amounts, helping finance teams apply the correct tax treatment.
Original PR description
Our Disallowed Expense module does not allow for deductibility of >100%. We have cases where it's needed, for example in Belgium you are allowed to deduct 120% of your amounts expensed for eInvoicing. For this we need to inverse the percentage to the part that is allowed in the expenses, so that we can take it into account in the report, and add another column showing the amounts that can actually be deduced. task-id 4421297 Upgrade PR: https://github.com/odoo/upgrade/pull/6971, https://github.com/odoo/upgrade/pull/7807 Documentation PR: https://github.com/odoo/documentation/pull/11634
Appraisal goals can now be linked to more than one employee, making shared objectives easier to track in performance reviews. The appraisal screens and demo data were updated to display these multi-employee goals clearly, including small visual fixes to status ribbons.
Original PR description
- change the field to Many2Many - edit the view and demo data to match the new type Task: 4391198
The appraisal survey experience now includes better demo data and an easier way to request 360 Feedback directly from the survey list. This helps users find and launch feedback requests more reliably, while ensuring employee matching works even if email details have changed.
Original PR description
- Add demo data to make 360 Feedback entry to be shown - fix email field in the demo data to match the context matching - Add button to ask feedback in the surveys list view Task: 4373438
This update improves internal test reliability for Belgian payroll accounting by enabling real-time communication support during automated checks. It helps ensure payroll accounting features are validated more consistently before release, with no direct change for end users.
Original PR description
task-3970199
The Studio app's automated tests have been converted from an older test system to the newer HOOT framework. This improves maintainability and helps ensure Studio features like app creation, navigation, menus, icons, and action editing continue to work reliably.
Original PR description
Conversion of all legacy studio tests to HOOT
The Planning employee avatar card layout has been improved to better present details such as skills and roles. Clearer spacing and content separation make the card easier to read and less visually crowded for users reviewing staff information.
Original PR description
This PR reviews the layout of the avatar card in order to match all the use cases. - requires https://github.com/odoo/odoo/pull/188068 The employee avatar card recently received an update aiming to display skills and roles within its content. While this added extra information and value to the component, its layout wasn't really meant to contain that much information, which led to a crowded visual result. With this PR, we review the hierarchy of the card by adding clear separations to its content and reviewing the use of white space. | Master | This PR | |--------|--------| |  | <img width="402" alt="image" src="https://github.com/user-attachments/assets/6f4f7d6b-6e72-4cf6-b88f-e8e2e977e8b9"> | task-3810438
This update removes outdated internal helper code used by Documents tests. It helps keep the Documents app easier to maintain and reduces future technical risk without changing day-to-day user workflows.
Original PR description
part of task-3818666 community: https://github.com/odoo/odoo/pull/196010
The refund action on employee payslips is now shown only after a payslip has been marked as paid. This helps prevent refunds from being started too early and keeps payroll actions aligned with the actual payment status.
Original PR description
- make refund btn visible only when the payslip is in `paid` state instead of `done or paid` Task: 4452180
Changes to the Employee and Manager fields on appraisal goals are now recorded in the chatter. This improves transparency and makes it easier to review who changed key appraisal ownership details.
Original PR description
Purpose: - Employees with basic rights can modify the Employee and Manager fields on the Appraisal Goals form. Therefore, it’s better to track these changes in the chatter for better transparency. This PR includes the following updates: - Any changes to Employee and Manager fields are now visible in the chatter for better visibility and auditing. Task - 4488582
Payslip generation emails are now sent only when the Human Resources option is selected in document settings. This helps ensure employees receive payslip emails only when the company has configured HR documents for that workflow.
Original PR description
In this Pr, emails for payslip generation will only be sent to employees if 'Human Resources' is selected in the document settings Task-4338046
Payroll users can now see each employee's reference number directly in employee, contract, payslip, attendance, leave, and salary report lists. The label has also been standardized as "Employee Reference," making it easier to identify employees consistently across payroll screens.
Original PR description
- add the `registration_number` field to the employee, contract, and payslip list views - change the field label to `Employee Reference` to be consistant Task: 4491186
Payroll work entry type records are now protected from being overwritten during system migrations or upgrades, helping keep configured payroll behavior stable. The payroll setup data was also reorganized into smaller files to make future maintenance safer and clearer.
Original PR description
Work entry type data should not be updatable as it shoud not be erased at each migration/upgrade. This commits fixes this by changing all work entry type data to noupdate true. The hr_payroll data file has also been split into multiple files to follow the coding guidelines. task-4479965
Recruitment reports now include a dedicated list view when users open details from a graph. This helps teams review key record information at a glance without opening each recruitment record one by one.
Original PR description
- add the list view to be able to see some details about the records when click in the graph without the need to access them record by record Task: 4517160
Resolved issues and error corrections
The helpdesk stock ticket list no longer loads an unused product suitability field. This removes unnecessary background processing and should make ticket lists faster, especially when many tickets are shown.
Original PR description
Following odoo/enterprise@07954ea8b5bccd185dc4639c5e75d5dbab8b5499, `product_id` was removed from the list view. Therefor there is no more reason to have `suitable_product_ids` in the list view also, as the only reason it was present was because `product_id` had a domain that was depending on the `suitable_product_ids`. This should also lead to a significant performance improvement of the list view, as `suitable_product_ids` doesn't scale well with a larger collection of tickets than `1` which was the expected usage in the form view.
Features or functions removed from Odoo
Code cleanup and technical improvements
This update standardizes how the system reads country-specific sections of IBAN bank account numbers. It makes payment-related code easier to maintain and reduces the chance of future mistakes when handling bank data for ISO 20022, UK BACS, and Italian Ri.Ba. payments.
Original PR description
Factoring out a standard method of identifying parts of the IBAN depending on the country, making it easier to read and understand instead of slicing the IBAN with magic numbers Community PR: odoo/odoo#189288
Miscellaneous changes
Change an f-string into an sql.identifier for injection prevention Forward-Port-Of: odoo/enterprise#77956
Original PR description
Change an f-string into an sql.identifier for injection prevention Forward-Port-Of: odoo/enterprise#77956
The separate mobile phone field has been removed from customer and partner records. Odoo now relies on the main phone field for contact workflows such as SMS, WhatsApp, appointments, deliveries, follow-ups, and related reporting, reducing duplicate contact data and simplifying screens.
Original PR description
Removed the `mobile` field from the res.partner model, including all related views, filters, and references. Simplifies UI and code by relying solely on the `phone` field, which covers most use cases (SMS, WhatsApp, Appointments, etc.). Task [link](https://www.odoo.com/odoo/project/967/tasks/4330827) Task-4330827
From version 18.0, the closing should work fine and there's no need to hide the closing button anymore. This reverts commit cf86ce0e0c7c47336446da5b335cbc53b7602fcd. Forward-Port-Of: odoo/enterprise#77906
Original PR description
From version 18.0, the closing should work fine and there's no need to hide the closing button anymore. This reverts commit cf86ce0e0c7c47336446da5b335cbc53b7602fcd. Forward-Port-Of: odoo/enterprise#77906
[This commit][1] changed the Sign action helper to onboard users. However, in doing so the text was put inside conditional `t-esc` attributes, causing it to not be translatable. This change fixes that by properly using text nodes. [1]: https://github.com/odoo/enterprise/commit/a5fc0b098c4a4b61d7ce7fd87180ed32dcb1f6f5 [opw-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/enterprise#78147
Original PR description
[This commit][1] changed the Sign action helper to onboard users. However, in doing so the text was put inside conditional `t-esc` attributes, causing it to not be translatable. This change fixes that by properly using text nodes. [1]: https://github.com/odoo/enterprise/commit/a5fc0b098c4a4b61d7ce7fd87180ed32dcb1f6f5 [opw-4421055](https://www.odoo.com/odoo/project.task/4421055) Forward-Port-Of: odoo/enterprise#78147
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries https://github.com/odoo/enterprise/commit/9d79ed1128e76e8553a7cc39e790de4369345eec However, when creating an invoice for a Spanish customer, the field `Type for mod 349` is set despite the field `Available for Mod349` being False. ### How to Reproduce: 1. Install `l10n_es`. 2. Create an invoice for a Spanish customer and check that field 347 (AEAT tab)
Original PR description
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries…
### The Issue: In `l10n_es` 347 serves to declare operations within Spain. 349 serves to declare operations in other EU countries https://github.com/odoo/enterprise/commit/9d79ed1128e76e8553a7cc39e790de4369345eec However, when creating an invoice for a Spanish customer, the field `Type for mod 349` is set despite the field `Available for Mod349` being False. ### How to Reproduce: 1. Install `l10n_es`. 2. Create an invoice for a Spanish customer and check that field 347 (AEAT tab) is set as regular operation. 3. Add both fields (type for 347 and type for 349) to the customer invoices list view using Studio. 4. Observe that for invoices where 347 is set, 349 is also set (E-Suministros/Supplies). ### Cause: In the `account_move` model of `l10n_es_reports`, the field `l10n_es_reports_mod349_invoice_type` was being set with a default value even when `Available for Mod349` is False. opw-4339292 Forward-Port-Of: odoo/enterprise#77996 Forward-Port-Of: odoo/enterprise#76042
Modifiy the test since it's not possible anymore to modify the UoM if all the different record doesn't belong to the same UoM than the product ones. Forward-Port-Of: odoo/enterprise#78282
Original PR description
Modifiy the test since it's not possible anymore to modify the UoM if all the different record doesn't belong to the same UoM than the product ones. Forward-Port-Of: odoo/enterprise#78282
task-4478365 Forward-Port-Of: odoo/enterprise#78243 Forward-Port-Of: odoo/enterprise#77772
Original PR description
task-4478365 Forward-Port-Of: odoo/enterprise#78243 Forward-Port-Of: odoo/enterprise#77772
Before this commit, if a user was an attendee of an event linked to an appointment type, but did not have access to the appointment (not part of the staff_user_ids), an access error would occur when trying to sync their calendar with Google or Microsoft. This error happened inside the `_get_customer_description` function overridden in the appointment module. opw-4402859 Forward-Port-Of: odoo/enterprise#78110 Forward-Port-Of: odoo/enterprise#76113
Original PR description
Before this commit, if a user was an attendee of an event linked to an appointment type, but did not have access to the appointment (not part of the staff_user_ids), an access error would occur when trying to sync their calendar with Google or Microsoft. This error happened inside the `_get_customer_description` function overridden in the appointment module. opw-4402859 Forward-Port-Of: odoo/enterprise#78110 Forward-Port-Of: odoo/enterprise#76113
This PR fixed tests when runbot runs without demo data installed. Creates users instead of referencing them and editing. Forward-Port-Of: odoo/enterprise#78431
Original PR description
This PR fixed tests when runbot runs without demo data installed. Creates users instead of referencing them and editing. Forward-Port-Of: odoo/enterprise#78431
"currency_id_of_value_currency" is redundant with "invoice_currency_id" Forward-Port-Of: odoo/enterprise#77649
Original PR description
"currency_id_of_value_currency" is redundant with "invoice_currency_id" Forward-Port-Of: odoo/enterprise#77649
In quant_barcode_model we fetch the quant at the new line creation. It's use in order to define the current theorical inventory quantity. But with rfid, it could be heavy since each serial number can be a new line and doing an rpc by line will be a bottleneck. To improve it, each time we add a product in the cache, we also add the associated quants. During the new line creation, we search for the product in the cache rather than doing an rpc with a specific domain Forward-Port-Of: odoo/en
Original PR description
In quant_barcode_model we fetch the quant at the new line creation. It's use in order to define the current theorical inventory quantity. But with rfid, it could be heavy since each serial number can be a new line and doing an rpc by line will be a bottleneck. To improve it, each time we add a product in the cache, we also add the associated quants. During the new line creation, we search for the product in the cache rather than doing an rpc with a specific domain Forward-Port-Of: odoo/enterprise#77525 Forward-Port-Of: odoo/enterprise#71660
Previously after activating debug mode and then dark mode, the letters of database name are not visible clearly. It is happening because in new bootstrap version we are having an inappropriate color for mark tag in dark mode. After this commit the database name will be clearly visible in dark mode. Task- 4389154 Forward-Port-Of: odoo/enterprise#78364
Original PR description
Previously after activating debug mode and then dark mode, the letters of database name are not visible clearly. It is happening because in new bootstrap version we are having an inappropriate color for mark tag in dark mode. After this commit the database name will be clearly visible in dark mode. Task- 4389154 Forward-Port-Of: odoo/enterprise#78364
Steps to Reproduce: • Install the Payroll app. • Navigate to the Work Entries Gantt view. • When there is deferred time off, a warning message is displayed. • Scrolling horizontally in the Gantt view causes the warning message to move along, whereas it should remain static. Cause: • The position of the warning message element is not fixed. Fix: • Set the element's position to sticky so that it remains static while scrolling. task-4367336 Forward-Port-Of: odoo/enterprise#75037
Original PR description
Steps to Reproduce: • Install the Payroll app. • Navigate to the Work Entries Gantt view. • When there is deferred time off, a warning message is displayed. • Scrolling horizontally in the Gantt view causes the warning message to move along, whereas it should remain static. Cause: • The position of the warning message element is not fixed. Fix: • Set the element's position to sticky so that it remains static while scrolling. task-4367336 Forward-Port-Of: odoo/enterprise#75037
…ling test in saas-18.1 This commit aims to add missing partner_id at the creation of calendar_booking in test_project_user_appointment_type_task_population_on_confirmed_so. related task-3823058 fixes following runbot error: https://runbot.odoo.com/odoo/runbot.build.error/110584 Forward-Port-Of: odoo/enterprise#78261
Original PR description
…ling test in saas-18.1 This commit aims to add missing partner_id at the creation of calendar_booking in test_project_user_appointment_type_task_population_on_confirmed_so. related task-3823058 fixes following runbot error: https://runbot.odoo.com/odoo/runbot.build.error/110584 Forward-Port-Of: odoo/enterprise#78261
Whatsapp API doesn't allow to send captions with audio anymore, therefore we should modify the way we handle captions. After this commit audio will be sent first while text message will stay in a composer, it will only be sent after the audio is sent. task-4007616 Forward-Port-Of: odoo/enterprise#78328 Forward-Port-Of: odoo/enterprise#66818
Original PR description
Whatsapp API doesn't allow to send captions with audio anymore, therefore we should modify the way we handle captions. After this commit audio will be sent first while text message will stay in a composer, it will only be sent after the audio is sent. task-4007616 Forward-Port-Of: odoo/enterprise#78328 Forward-Port-Of: odoo/enterprise#66818
Steps to reproduce ================== - Install hr_timesheet - Use an android device - Click on a time field => A numeric virtual keyboard appears. This prevents us from entering the `:` character. Cause of the issue ================== The inputmode attribute is set to numeric Solution ======== Set the inputmode to it's default value: text. See also [float_time_field] --- [float_time_field]: https://github.com/odoo/odoo/commit/8b919ae51d7deb34169b7c6970964056ef2e
Original PR description
Steps to reproduce ================== - Install hr_timesheet - Use an android device - Click on a time field => A numeric virtual keyboard appears. This prevents us from entering the `:` character. Cause of the issue ================== The inputmode attribute is set to numeric Solution ======== Set the inputmode to it's default value: text. See also [float_time_field] --- [float_time_field]: https://github.com/odoo/odoo/commit/8b919ae51d7deb34169b7c6970964056ef2eb632 opw-4344083 Forward-Port-Of: odoo/enterprise#77429 Forward-Port-Of: odoo/enterprise#77339
When creating a shift in planning from the top bar, the shift is created but does not appear. task-4446957 Forward-Port-Of: odoo/enterprise#78099 Forward-Port-Of: odoo/enterprise#76563
Original PR description
When creating a shift in planning from the top bar, the shift is created but does not appear. task-4446957 Forward-Port-Of: odoo/enterprise#78099 Forward-Port-Of: odoo/enterprise#76563
Bug introduced in the last changes before merging the module that wasn't caught Forward-Port-Of: odoo/enterprise#78382
Original PR description
Bug introduced in the last changes before merging the module that wasn't caught Forward-Port-Of: odoo/enterprise#78382
Mod349 tax report in Spanish localization report the total number of intra-community operations. This counter however, does not take into account paid invoices Steps to reproduce: - With an ES company setup - Create an invoice to an EU partner - Register payment for the invoice - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operations is 0 opw-4403287 Forward-Port-Of: odoo/enterprise#77928
Original PR description
Mod349 tax report in Spanish localization report the total number of intra-community operations. This counter however, does not take into account paid invoices Steps to reproduce: - With an ES company setup - Create an invoice to an EU partner - Register payment for the invoice - Go to Accounting / Reporting / Statement Reports / Tax Report - Select Tax Report (Mod 349) (ES) Issue: Total number of intra-community operations is 0 opw-4403287 Forward-Port-Of: odoo/enterprise#77928 Forward-Port-Of: odoo/enterprise#77238
Currently, integer fields cannot be selected as unicity fields in marketing campaigns. ### Steps to reproduce * Install `marketing_automation` * Open a marketing campaign form view and try to set the "Unicity based on" field to an integer field. You will notice that integer fields are missing from the selection. ### Cause A small typo in the domain filter: Odoo uses `integer` instead of `int` for field types. opw-4492606 Forward-Port-Of: odoo/enterprise#78289
Original PR description
Currently, integer fields cannot be selected as unicity fields in marketing campaigns. ### Steps to reproduce * Install `marketing_automation` * Open a marketing campaign form view and try to set the "Unicity based on" field to an integer field. You will notice that integer fields are missing from the selection. ### Cause A small typo in the domain filter: Odoo uses `integer` instead of `int` for field types. opw-4492606 Forward-Port-Of: odoo/enterprise#78289
Step: - Install colombian localisation and other localisation which is part of latam localisation and contains `Identification Type` field in checkout address for example Argentina. - Install Ecommerce app. - Set Argentina as country on company and in accounting settings. - Go to shop page. - Add an product in cart and goto checkout address page. - Try to change `Identification Type` field. Issue: - Traceback cannot find parentElement. Cause: - For setting visibility of colombian r
Original PR description
Step: - Install colombian localisation and other localisation which is part of latam localisation and contains `Identification Type` field in checkout address for example Argentina. - Install Ecommerce app. - Set Argentina as country on company and in accounting settings. - Go to shop page. - Add an product in cart and goto checkout address page. - Try to change `Identification Type` field. Issue: - Traceback cannot find parentElement. Cause: - For setting visibility of colombian related fields depending on `ID Type` field we forgot to check website country and selected country is columbian country and which cause issue when multiple latam related localisation install in same db. Fix: - Check colombian country before setting visibility for colombian related field. task-3628329 Forward-Port-Of: odoo/enterprise#78341 Forward-Port-Of: odoo/enterprise#77829
issue: in the payslip menu item To pay shows 'draft', 'verify' payslips instead of 'done' fix: change the action domain to refleact the needed filteration Task: 4487458 Forward-Port-Of: odoo/enterprise#77775
Original PR description
issue: in the payslip menu item To pay shows 'draft', 'verify' payslips instead of 'done' fix: change the action domain to refleact the needed filteration Task: 4487458 Forward-Port-Of: odoo/enterprise#77775
If you do a sepa payment and the employee has no country defined on their private address or the address of their contact, we should raise an error. We also add a warning on the dashboard for such employees with no country. Task: 4334868 Forward-Port-Of: odoo/enterprise#77798 Forward-Port-Of: odoo/enterprise#75545
Original PR description
If you do a sepa payment and the employee has no country defined on their private address or the address of their contact, we should raise an error. We also add a warning on the dashboard for such employees with no country. Task: 4334868 Forward-Port-Of: odoo/enterprise#77798 Forward-Port-Of: odoo/enterprise#75545
If the statement name is too long, it is not truncated, making it impossible to access the button displaying the statement total. Steps to reproduce: - Go to the accounting dashboard - In the Bank journal, select statements - Open a statement and rename it with a long name that occupies the full width of the left column in the reconciliation page The fix truncates the text and adds its full value in the `title` attribute for better accessibility. Before:  After:  opw-4414518 Forward-Port-Of: odoo/enterprise#77495
**How to reproduce:** - As Mitchel Admin, create an appointment type, keep it unpublished - Send an invite (with token) to Demo - Log in as Demo (User access level) - Book a meeting with your manager - You get a calendar event in your agenda - Try to open its form **Before this PR:** It gives access error because the user does not have permission to read the appointment type. **Technical reason:** The record rules only grant access if the appointment is scheduled based on resource
Original PR description
**How to reproduce:** - As Mitchel Admin, create an appointment type, keep it unpublished - Send an invite (with token) to Demo - Log in as Demo (User access level) - Book a meeting with your manager - You get a calendar event in your agenda - Try to open its form **Before this PR:** It gives access error because the user does not have permission to read the appointment type. **Technical reason:** The record rules only grant access if the appointment is scheduled based on resources or if the user is part of the staff. **After this PR:** Users will be able to access the appointment type because sudo will be added. Task-4526059 Forward-Port-Of: odoo/enterprise#78155
Steps to reproduce: - Install the l10n_be_hr_payroll_group_s module. - Open any contract in employee or payroll. - Check the part-time section under the Details tab. Issue: - Labels do not display. Reason: - The view is inherited in both hr_payroll and l10n_be_hr_payroll_group_s modules. - In hr_payroll, the fields are not grouped, while in l10n_be_hr_payroll_group_s, they are. Solution: - Change the position of the "group_s_code" in l10n_be_hr_payroll_group_s module from inside
Original PR description
Steps to reproduce: - Install the l10n_be_hr_payroll_group_s module. - Open any contract in employee or payroll. - Check the part-time section under the Details tab. Issue: - Labels do not display. Reason: - The view is inherited in both hr_payroll and l10n_be_hr_payroll_group_s modules. - In hr_payroll, the fields are not grouped, while in l10n_be_hr_payroll_group_s, they are. Solution: - Change the position of the "group_s_code" in l10n_be_hr_payroll_group_s module from inside to after task-4440190 Forward-Port-Of: odoo/enterprise#76328
Fix args missing in a mocked method in the test. rb error: 114229 Forward-Port-Of: odoo/enterprise#78305
Original PR description
Fix args missing in a mocked method in the test. rb error: 114229 Forward-Port-Of: odoo/enterprise#78305
New UMA value for 2025. Task: 4465318 Forward-Port-Of: odoo/enterprise#77638
Original PR description
New UMA value for 2025. Task: 4465318 Forward-Port-Of: odoo/enterprise#77638
Remove slider for zoom in preparation display and move zoom buttons from navbar to sidebar. Forward-Port-Of: odoo/enterprise#78272
Original PR description
Remove slider for zoom in preparation display and move zoom buttons from navbar to sidebar. Forward-Port-Of: odoo/enterprise#78272
Steps to reproduce: 1. Click the 'Info & Tags' button from the cog wheel dropdown menu next to the breadcrumb. 2. The info button on the right side (near the view switch button) is not getting the 'active' class as it should be. Technical Reason: `this.documentsState.isChatterVisible` in `documents_control_panel` couldn't be updated through the cog menu component directly. This commit adds a reactive object which can be modified and observed by several components. After this Commit:
Original PR description
Steps to reproduce: 1. Click the 'Info & Tags' button from the cog wheel dropdown menu next to the breadcrumb. 2. The info button on the right side (near the view switch button) is not getting the 'active' class as it should be. Technical Reason: `this.documentsState.isChatterVisible` in `documents_control_panel` couldn't be updated through the cog menu component directly. This commit adds a reactive object which can be modified and observed by several components. After this Commit: The Button will get the 'active' class accordingly to the state. This commit also removes duplicate code by using an existing mixin. Task-4427575 Forward-Port-Of: odoo/enterprise#77582
### Steps to reproduce: - Install 'l10n_es' and switch to Spanish company - Go in Accounting > Tax Report and select the report "Mod 390" - Click on the button to download the BOE - Fill the information in the wizard - Click on generate BOE - An error pops up ### Cause: The report Mod 390 is composed of several sections. The method `dispatch_report_action` is called on the first section instead of the entire report. As the first section has no custom handler, an error is raised when tr
Original PR description
### Steps to reproduce: - Install 'l10n_es' and switch to Spanish company - Go in Accounting > Tax Report and select the report "Mod 390" - Click on the button to download the BOE - Fill the…
### Steps to reproduce: - Install 'l10n_es' and switch to Spanish company - Go in Accounting > Tax Report and select the report "Mod 390" - Click on the button to download the BOE - Fill the information in the wizard - Click on generate BOE - An error pops up ### Cause: The report Mod 390 is composed of several sections. The method `dispatch_report_action` is called on the first section instead of the entire report. As the first section has no custom handler, an error is raised when trying to read on it. When exporting a report with sections, `dispatch_report_action` is called on the first section, it detects that this is a section and calls the same method on the parent report. This commit (https://github.com/odoo/enterprise/commit/8213813e68f02d88934285a44a3413505f6ca187) removed the line getting the options for the parent report call to keep the specific options of each section. Specifically, the "report_id" key in the options is the id of the first section, causing the method to be called on the section. ### Solution: Setting the key "report_id" in the options of the parent report. This way the fix of the commit introducing the bug is still active. opw-4501376 Forward-Port-Of: odoo/enterprise#78185
The date field description was saying "customs number", but it should be "Customs Number Date". opw-4507567 Forward-Port-Of: odoo/enterprise#78340 Forward-Port-Of: odoo/enterprise#78165
Original PR description
The date field description was saying "customs number", but it should be "Customs Number Date". opw-4507567 Forward-Port-Of: odoo/enterprise#78340 Forward-Port-Of: odoo/enterprise#78165
Now we move to february, the test is failing on runbot... See (similar): https://github.com/odoo/enterprise/commit/e29b2265fe60e90443d753558e6c9a071ee23d33 task-no Forward-Port-Of: odoo/enterprise#78346
Original PR description
Now we move to february, the test is failing on runbot... See (similar): https://github.com/odoo/enterprise/commit/e29b2265fe60e90443d753558e6c9a071ee23d33 task-no Forward-Port-Of: odoo/enterprise#78346
- -i helpdesk - create company named in Arabic, Chinese or something - BUG: can't create alias -> can't install helpdesk opw-4420662 Forward-Port-Of: odoo/enterprise#76564
Original PR description
- -i helpdesk - create company named in Arabic, Chinese or something - BUG: can't create alias -> can't install helpdesk opw-4420662 Forward-Port-Of: odoo/enterprise#76564
Problem ---------- With low values of Gross, the PAYE can be negative. The must be always positive or equals to 0 Objective ---------- Make the PAYE computation positive. Check the PAYE computation. Solution ---------- It will be now the maximum between the previous computation and 0. To be always >= 0. Order the Gross Taxable with the sequence number. PAYE computation is correct, check the task for more details. task-4255918 Forward-Port-Of: odoo/enterprise#76189
Original PR description
Problem ---------- With low values of Gross, the PAYE can be negative. The must be always positive or equals to 0 Objective ---------- Make the PAYE computation positive. Check the PAYE computation. Solution ---------- It will be now the maximum between the previous computation and 0. To be always >= 0. Order the Gross Taxable with the sequence number. PAYE computation is correct, check the task for more details. task-4255918 Forward-Port-Of: odoo/enterprise#76189
Using the latest data from the Brazilian government [1]. No codes were removed, this contains only new codes and description updates to existing ones. [1] https://www.gov.br/receitafederal/pt-br/assuntos/aduana-e-comercio-exterior/classificacao-fiscal-de-mercadorias/download-ncm-nomenclatura-comum-do-mercosul opw-4522735 Forward-Port-Of: odoo/enterprise#78253
Original PR description
Using the latest data from the Brazilian government [1]. No codes were removed, this contains only new codes and description updates to existing ones. [1] https://www.gov.br/receitafederal/pt-br/assuntos/aduana-e-comercio-exterior/classificacao-fiscal-de-mercadorias/download-ncm-nomenclatura-comum-do-mercosul opw-4522735 Forward-Port-Of: odoo/enterprise#78253
There is a new value for the minimum daily wage for 2025. Task: 4510726 Forward-Port-Of: odoo/enterprise#77733
Original PR description
There is a new value for the minimum daily wage for 2025. Task: 4510726 Forward-Port-Of: odoo/enterprise#77733