Monday, December 9, 2024
16 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 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
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