Daily updates from Odoo
Monday, December 9, 2024
22 changes · master
Enhancements to existing features
Studio exports now mark standard records so they are not overwritten by later module updates. This helps preserve intended exported data behavior and removes an unnecessary empty website filter preset.
Original PR description
When exporting records to create a data modules, standard records are not meant to be updated afterwards. This commit therefore flags all standard records as noupdate by default. task-4377911
Web Studio form editing has been simplified by removing an unnecessary layout wrapper. This reduces interface complexity and helps keep form editing behavior consistent across screen sizes without changing user-facing features.
Original PR description
This commit removes `DIV.o_wrap_field` element as it's a useless wrap element to be in `flex` mode on small screen and in `grid` mode in other case, but it can be done with grid too and was already implemented. task-4330704
The Sign portal now presents signing requests more clearly, with consistent icons, status colors, and less unnecessary information. Users can also download fully signed documents more easily, while expired documents are hidden from the portal list.
Original PR description
In this commit, - Replaced the sign icon in the portal to match the icon used in the backend helper for consistency. - Added the download button on my sign request to improve accessibility, allowing users to easily download fully signed documents. - Remove user information from my sign request as it doesn't provide any useful value to the user. - Remove expired documents from portal list view - Add different color for different state of sign request task-4163974
The accounting module removes an older internal field that has already been replaced by a newer approach. This keeps the lock date process cleaner and helps reduce future maintenance risk without changing day-to-day user workflows.
Original PR description
This commit removes the unused field after a replacement of it was added in stable. `exception_needed` will be replaced by `exception_needed_fields`. Followup to https://github.com/odoo/enterprise/pull/74262 related-upgrade-PR: https://github.com/odoo/upgrade/pull/6889 task-id: 4297145
Boolean fields in Sign documents now appear as a checkbox with a tick when selected, or an empty box when not selected. This makes signed forms easier to read and reduces ambiguity compared with showing only an X.
Project sharing has been updated to align with recent platform changes and no longer relies on an embedded iframe approach. This improves consistency for users accessing shared projects and uses the standard user context to better manage which shared-project features are available.
Original PR description
This commit adapts the template used in project sharing according to the changes made in community. task-4267190
The self-ordering flow now includes preconfigured choices for eat-in, takeout, and delivery. This makes it quicker for businesses to guide customers to the right order type and helps preparation teams see clearer order context.
Original PR description
Ensure the user has access to easy pre configured switch for Eat in/ Takeout / Delivery taskId: 4310935
Studio search views can now group records using integer fields. This gives users more flexibility to organize and analyze data directly in Odoo without custom development.
Original PR description
SPECIFICATION: Enhances the Studio feature in the search view by adding support for grouping records by integer fields. Task-4287131
Portal users will now interact with WhatsApp-related conversations through the standard backend discussion area instead of a separate portal chat widget. This simplifies the experience and keeps customer communications in one consistent place.
Duplicated folders and shortcuts in Documents now automatically include “(copy)” in their names. This makes it easier for users to tell originals and duplicates apart, reducing confusion when organizing documents.
Original PR description
Purpose ========= Previously, when duplicating a folder or shortcut, the duplicated records used the same name as the original. This was confusing for the users. This commit resolves the issue by appending "(copy)" to the name of any duplicated folder or shortcut. This ensures better clarity and avoids confusion for the users. Task-4283698
Resolved issues and error corrections
This fix ensures Knowledge article property settings are updated before their related values. It helps prevent inconsistent or failed updates when users change structured information in Knowledge articles.
Original PR description
For property fields, we should always update its definition field before updating its value. https://github.com/odoo/odoo/pull/182599
Miscellaneous changes
Commit 1: Follow-up of previous owner keeps and `edit` permission on the documents set as company root. When moving a folder in Company, to pin it, and we add the previous owner or the document manager as member for them to keep access, we do not want to add the member on all children (default behavior). Adding a parameter to skip member propagation is more convenient than checking for partner existence before adding/editing them. Tests are adapted. Commit 2: It is not convenient
Original PR description
Commit 1: Follow-up of previous owner keeps and `edit` permission on the documents set as company root. When moving a folder in Company, to pin it, and we add the previous owner or the document manager as member for them to keep access, we do not want to add the member on all children (default behavior). Adding a parameter to skip member propagation is more convenient than checking for partner existence before adding/editing them. Tests are adapted. Commit 2: It is not convenient nor necessary to restrict moving documents to using drag & drop. Note that we keep the action for the webclient as it will call action_create_shortcut or action_move_documents (with the same arguments list). Task-4365165 Forward-Port-Of: odoo/enterprise#74713
Steps to reproduce: 1. Have a VAT number (or company registry) with dots (e.g.: BE1234.678.28) 2. Import a valid SODA file with the same VAT number 3. Error: "The imported document doesn't seem to correspond to this company's VAT number nor company id" Why it happens: This happens because the regex was taking only the first matching group (1234 in the example above). Solution: Instead of searching the first group of the regex, we can subtract all chars and only keep digits to have a v
Original PR description
Steps to reproduce: 1. Have a VAT number (or company registry) with dots (e.g.: BE1234.678.28) 2. Import a valid SODA file with the same VAT number 3. Error: "The imported document doesn't seem to correspond to this company's VAT number nor company id" Why it happens: This happens because the regex was taking only the first matching group (1234 in the example above). Solution: Instead of searching the first group of the regex, we can subtract all chars and only keep digits to have a valid Belgian VAT number that can be used when checking correspondence between the company VAT and the imported SODA file VAT. opw 4347926 Forward-Port-Of: odoo/enterprise#75297 Forward-Port-Of: odoo/enterprise#75111
This commit fixes an issue with the external embedded views in Knowledge where the `New` button would raise a traceback. The issue was introduced in the big Knowledge refactor via #67083. This was caused by the action service when the doAction was called inside the createRecord of the ReadonlyEmbeddedViewComponent. The views returned by the find method called upon the action's views array were always undefined. This meant that we never found the correct view to use which raised the traceback
Original PR description
This commit fixes an issue with the external embedded views in Knowledge where the `New` button would raise a traceback. The issue was introduced in the big Knowledge refactor via #67083. This was caused by the action service when the doAction was called inside the createRecord of the ReadonlyEmbeddedViewComponent. The views returned by the find method called upon the action's views array were always undefined. This meant that we never found the correct view to use which raised the traceback. To fix this, the arrow function given to the find method has been updated so that it returns a correct value. task-4367683 Forward-Port-Of: odoo/enterprise#75138
**Before this PR**: Dragging a shortcut to My Drive would create the shortcut within the current folder. **After this PR**: The shortcut will be created in My Drive, rather than remaining in the original folder. **Task**-4313298 Forward-Port-Of: odoo/enterprise#73635
Original PR description
**Before this PR**: Dragging a shortcut to My Drive would create the shortcut within the current folder. **After this PR**: The shortcut will be created in My Drive, rather than remaining in the original folder. **Task**-4313298 Forward-Port-Of: odoo/enterprise#73635
Steps to reproduce the bug: - Create a storable product “P1.” - Set up a quality point: - Control Per: By operation - Operation: Receipts - Product: P1 - Create a receipt for two units of P1. - Mark the receipt as "To Do." - Click on "Quality Check" → Fail. - Click on action → Scrap: - Scrap 1 unit of P1. - Confirm. Problem: A quality check is created for the scrapped move. This should not happen. opw-4345679 Forward-Port-Of: odoo/enterprise#75243 Forward-Port-Of: odoo/enterpr
Original PR description
Steps to reproduce the bug: - Create a storable product “P1.” - Set up a quality point: - Control Per: By operation - Operation: Receipts - Product: P1 - Create a receipt for two units of P1. - Mark the receipt as "To Do." - Click on "Quality Check" → Fail. - Click on action → Scrap: - Scrap 1 unit of P1. - Confirm. Problem: A quality check is created for the scrapped move. This should not happen. opw-4345679 Forward-Port-Of: odoo/enterprise#75243 Forward-Port-Of: odoo/enterprise#75160
This commit allows one to drag and drop a readonly document into another editable folder by creating a shortcut instead of moving it. Forward-Port-Of: odoo/enterprise#71232
Original PR description
This commit allows one to drag and drop a readonly document into another editable folder by creating a shortcut instead of moving it. Forward-Port-Of: odoo/enterprise#71232
CSS problem with currency symbol in the monetary field amount, when being on the reconciliation widget, click on a statement and then try to match an existing entries. When clicking on this line, the currency of the amount in the manual operations page was in the amount. task: 4260301 Forward-Port-Of: odoo/enterprise#74511
Original PR description
CSS problem with currency symbol in the monetary field amount, when being on the reconciliation widget, click on a statement and then try to match an existing entries. When clicking on this line, the currency of the amount in the manual operations page was in the amount. task: 4260301 Forward-Port-Of: odoo/enterprise#74511
Steps to reproduce ================== - Open any form view - Drag and drop a new html field at the start of the form view => It goes to the bottom Cause of the issue ================== The generated xpath was `<xpath expr="//form[1]/sheet[1]" position="inside"/>` This puts the new element at the end of the sheet Solution ======== If we want to insert something at the start of the sheet, we need to put it before it's first child. If the sheet is empty, we can use inside like p
Original PR description
Steps to reproduce ================== - Open any form view - Drag and drop a new html field at the start of the form view => It goes to the bottom Cause of the issue ================== The generated xpath was `<xpath expr="//form[1]/sheet[1]" position="inside"/>` This puts the new element at the end of the sheet Solution ======== If we want to insert something at the start of the sheet, we need to put it before it's first child. If the sheet is empty, we can use inside like previously opw-4339407 Forward-Port-Of: odoo/enterprise#75323 Forward-Port-Of: odoo/enterprise#75276
In list view, the "Copy links" [action](https://github.com/odoo/enterprise/blob/0c2b8ab5c0675485a8dbde3371e347f43250a66e/documents/static/src/views/search/documents_control_panel.xml#L42) was returning empty string (or undefined), since we haven't added the field `access_url` to the list view, so accessing it on the `record.data` [from JS](https://github.com/odoo/enterprise/blob/7a65d1e776ea486538cfc9762cb482fd71bf9dc1/documents/static/src/views/search/documents_control_panel.js#L262) returned `
Original PR description
In list view, the "Copy links" [action](https://github.com/odoo/enterprise/blob/0c2b8ab5c0675485a8dbde3371e347f43250a66e/documents/static/src/views/search/documents_control_panel.xml#L42) was returning empty string (or undefined), since we haven't added the field `access_url` to the list view, so accessing it on the `record.data` [from JS](https://github.com/odoo/enterprise/blob/7a65d1e776ea486538cfc9762cb482fd71bf9dc1/documents/static/src/views/search/documents_control_panel.js#L262) returned `undefined`. Now, we add `access_url` field as a hidden field in the list view. opw-4309365 Forward-Port-Of: odoo/enterprise#74603
Fixing a traceback when selecting text, because the t-on-click was triggered but the target had no attribute. task: 4260301 Forward-Port-Of: odoo/enterprise#74957 Forward-Port-Of: odoo/enterprise#74509
Original PR description
Fixing a traceback when selecting text, because the t-on-click was triggered but the target had no attribute. task: 4260301 Forward-Port-Of: odoo/enterprise#74957 Forward-Port-Of: odoo/enterprise#74509
Steps to reproduce =================== - Open the resource schedule, and go into day mode. - Switch to tomorrow, and click new. - The start date has been changed but not the end date, which is still now +duration. - Which creates a default duration of `-23:00 hours`. Second issue: - Open the resource type appointment and then create the booking from the Gantt view using the new button. - We get the wrong appointment type there. Technical =========== - Earlier, the stop was c
Original PR description
Steps to reproduce =================== - Open the resource schedule, and go into day mode. - Switch to tomorrow, and click new. - The start date has been changed but not the end date, which is still…
Steps to reproduce =================== - Open the resource schedule, and go into day mode. - Switch to tomorrow, and click new. - The start date has been changed but not the end date, which is still now +duration. - Which creates a default duration of `-23:00 hours`. Second issue: - Open the resource type appointment and then create the booking from the Gantt view using the new button. - We get the wrong appointment type there. Technical =========== - Earlier, the stop was calculated based on the current time instead of `start` in the default_stop. we set stop datetime inside `onAddClicked` by default to start + 1 hour to override the calendar.event's default_stop. - Earlier, we fell into the condition of fetching only the user appointment when we were not providing any resources inside the default_get method, which led to having the user-based appointment instead of the resource-based one. Here, we added a separate condition to fetch the resource-based when going through the action of resource gantt. After this PR =================== - This PR addresses the issue and fixes it by adding the default stop for 1 hour after the start time and assigning the correct appointment type. Task-4330924 Forward-Port-Of: odoo/enterprise#74883 Forward-Port-Of: odoo/enterprise#74144