Wednesday, September 4, 2024
24 changes · saas-17.1
Resolved issues and error corrections
The project update form now shows expected costs using the same calculation as the profitability panel. This prevents misleading cost figures when reviewing billable project profitability after purchase orders with partial received quantities.
Original PR description
- saas-17.1 ### Steps to reproduce: - Install sales timesheet, accounting, and purchase. - Select Analytic Accounting from the accounting setting. - Create a billable project. - Create a purchase order, select a service product, add a project in analytic distribution, and add quantity 10. - While confirming PO, add received quantity 5. - Open project updates, on the right side under the profitability heading. Observe the expected value of cost. - Click on a new button, in the description tab, and check the expected value. - There is a wrong value in the form view. ### Issue: Wrong value of costs expected in project update form view. ### Solution: Calculate the value in the same way in the project update right side. task-3996848 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
Issue ----- 1. Create a short meeting (e.g. 5 minutes), view it in the Calendar week view. 2. The text of the meeting is not visible. Cause ----- Before the refactor ed9a9d024adf9749ed5844ec3af35a0dae910828, the timeGridEventMinHeight had a value of 15, which allows short events to have a larger height when displayed. https://github.com/odoo/odoo/blob/ebce7719b624136da2b26a73acf8930538c7a38c/addons/web/static/lib/fullcalendar/timegrid/main.js#L806 , view it in the Calendar week view. 2. The text of the meeting is not visible. Cause ----- Before the refactor ed9a9d024adf9749ed5844ec3af35a0dae910828, the timeGridEventMinHeight had a value of 15, which allows short events to have a larger height when displayed. https://github.com/odoo/odoo/blob/ebce7719b624136da2b26a73acf8930538c7a38c/addons/web/static/lib/fullcalendar/timegrid/main.js#L806  opw-4116031 Forward-Port-Of: odoo/odoo#178804
Before 17 process_coa_translations might have been needed in multi_lang localizations, but it is no longer needed. It is also not called. No task linked. Just saw it checking other stuff. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178508
Original PR description
Before 17 process_coa_translations might have been needed in multi_lang localizations, but it is no longer needed. It is also not called. No task linked. Just saw it checking other stuff. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178508
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we are able to submit the sign even before drawing anything, which will allow us to send the document "unsigned", since there will not be any sign. ## Steps to reproduce: 1. Get Sign module. 2. Upload any document to sign. 3. Add sign box and go to sign the document. 4. Now change from Auto to Dr
Original PR description
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we…
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we are able to submit the sign even before drawing anything, which will allow us to send the document "unsigned", since there will not be any sign. ## Steps to reproduce: 1. Get Sign module. 2. Upload any document to sign. 3. Add sign box and go to sign the document. 4. Now change from Auto to Draw. ## Solution: We should take into account that it makes sense that everytime we update if our signature is empty, we update the state of the buttons accordingly avoiding this way to be able to sign without an actual sing. The solution address a similar approach at what was already being done with the onChangeName, we move this logic to be handled by a specific function for this buttons 'handleButtonStateChange'. The fix is part of > [#61981](https://github.com/odoo/enterprise/pull/61981) opw-3874034 Forward-Port-Of: odoo/odoo#164410
**Steps:** - Go to Shop - Add a product to the wishlist. - Access the Wishlist page and apply the Mobile View. - Apply Zoom on the mobile view **Issue:** - For some languages (like French) the full button can't be seen at the standard 100% view. Also a column of image is shown extra even though the image is not displayed **Fix:** - Removing the column of image for smaller screens will resolve our issue, and we would be able to see the button upto a lot more zooming ratio. **Affec
Original PR description
**Steps:** - Go to Shop - Add a product to the wishlist. - Access the Wishlist page and apply the Mobile View. - Apply Zoom on the mobile view **Issue:** - For some languages (like French) the full button can't be seen at the standard 100% view. Also a column of image is shown extra even though the image is not displayed **Fix:** - Removing the column of image for smaller screens will resolve our issue, and we would be able to see the button upto a lot more zooming ratio. **Affected version:** 17.0~master opw-4089951 Forward-Port-Of: odoo/odoo#178329
### Steps to reproduce: - Install Time-off module - Create new allocation - If there is a default employee set remove it - Select Accrual Allocation - Set start date to a year ago - Set an employee ### Current behavior before PR: The allocation days is not getting computed onchange of employees. This is happening because it is computed only when we trigger _onchange_date_from and employee_id is not one of the fields that triggers this onchange method. ### Desired behavior afte
Original PR description
### Steps to reproduce: - Install Time-off module - Create new allocation - If there is a default employee set remove it - Select Accrual Allocation - Set start date to a year ago - Set an employee ### Current behavior before PR: The allocation days is not getting computed onchange of employees. This is happening because it is computed only when we trigger _onchange_date_from and employee_id is not one of the fields that triggers this onchange method. ### Desired behavior after PR is merged: Since we are checking if we have an employee_id or not in _onchange_date_from we added the employee_id to be one of the fields that triggers the onchange then to recompute the allocation days opw-4100075 Forward-Port-Of: odoo/odoo#176649
As we never kill browser instances, IoT Box gets saturated by browser threads if odoo restarts multiple times. We now kill the browser before starting a new. Forward-Port-Of: odoo/odoo#176941
Original PR description
As we never kill browser instances, IoT Box gets saturated by browser threads if odoo restarts multiple times. We now kill the browser before starting a new. Forward-Port-Of: odoo/odoo#176941
Consider an invoice with a cash rounding method selected. The cash rounding is applied to the total of the invoice but not not the payment terms. Currently unrounded amounts can appear in the following cases - Multiple payment term lines - Discount on payment term lines This is can also cause problems for the reconciliation. The cash rounded payment can not be reconciled with the non-cash-rounded payment term amount (since the amounts do not match exactly). After this commit the cash rou
Original PR description
Consider an invoice with a cash rounding method selected. The cash rounding is applied to the total of the invoice but not not the payment terms. Currently unrounded amounts can appear in the…
Consider an invoice with a cash rounding method selected. The cash rounding is applied to the total of the invoice but not not the payment terms. Currently unrounded amounts can appear in the following cases
- Multiple payment term lines
- Discount on payment term lines
This is can also cause problems for the reconciliation. The cash rounded payment can not be reconciled with the non-cash-rounded payment term amount (since the amounts do not match exactly).
After this commit the cash rounding is applied to the payment terms:
- The amount of each payment term line is cash rounded
- The discounted amount of each payment term line is cash rounded
Reproduce:
1. Install module `account` (or `account_accountant`)
2. Create a payment term with 1 line with 10% discount when paid within 30 days. Ensure "Display terms on invoice" is on. (Invoicing / Accounting -> Configuration (menu) -> Payment Terms)
3. Enable "Cash Rounding" in the settings
4. Create a cash rounding with precision 0.05 and rounding method HALF-UP (Invoicing / Accounting -> Configuration (menu) -> Cash Roundings)
5. Create an invoice
- Payment term from step 2
- Cash rounding from step 3 (set in "Other Info" tab) - A line s.t. the total is 868.35 (This value does not need cash rounding)
6. Confirm the invoice
7. Print the invoice: On the PDF the value 781.52 is shown for the payment terms. But the value should be 781.50 due to the cash rounding.
8. Register payment: The amount 781.52 is suggested. But the value should be 781.50 due to the cash rounding. Changing the amount to 781.50 loses the automatic reconciliation.
task-4095505
opw-3985470
Forward-Port-Of: odoo/odoo#178344
Forward-Port-Of: odoo/odoo#176289We still disconnected from wifi unlinking the old file, despite that we moved this configuration to `odoo.conf`. We replaced that. Forward-Port-Of: odoo/odoo#178920
Original PR description
We still disconnected from wifi unlinking the old file, despite that we moved this configuration to `odoo.conf`. We replaced that. Forward-Port-Of: odoo/odoo#178920
Steps to reproduce the bug: - Create two products tracked by Serial Number (SN): “P1” and “P2”. - Update their quantities. - Create a delivery with one unit of each. - Mark it as "To Do". - Go to the detailed operation. - Attempt to edit the "pick from" (`quant_id`) or the serial number of P1. - Save. Problem: The product “P2” is incorrectly updated to “P1”. opw-3995450 Forward-Port-Of: odoo/odoo#177711
Original PR description
Steps to reproduce the bug: - Create two products tracked by Serial Number (SN): “P1” and “P2”. - Update their quantities. - Create a delivery with one unit of each. - Mark it as "To Do". - Go to the detailed operation. - Attempt to edit the "pick from" (`quant_id`) or the serial number of P1. - Save. Problem: The product “P2” is incorrectly updated to “P1”. opw-3995450 Forward-Port-Of: odoo/odoo#177711
enterprise: https://github.com/odoo/enterprise/pull/68361 Forward-Port-Of: odoo/odoo#176580
Original PR description
enterprise: https://github.com/odoo/enterprise/pull/68361 Forward-Port-Of: odoo/odoo#176580
### Steps to reproduce: - Enable multisteps route in the settings - Create a storable product P and put 10 units in WH/Stock/Shelf - Create and confirm an SO for 1 unit of P - Go to the associated delivery and change the Source Location to WH/Stock/Shelf - Back to the SO, click on the chart icon > view forecast - Unreserve the 1 unit currently used by your picking ### Issue: While you have 10 units in WH/Stock/Shelf perfectly suitable to fulfill the demand of the picking, instead o
Original PR description
### Steps to reproduce: - Enable multisteps route in the settings - Create a storable product P and put 10 units in WH/Stock/Shelf - Create and confirm an SO for 1 unit of P - Go to the associated…
### Steps to reproduce: - Enable multisteps route in the settings - Create a storable product P and put 10 units in WH/Stock/Shelf - Create and confirm an SO for 1 unit of P - Go to the associated delivery and change the Source Location to WH/Stock/Shelf - Back to the SO, click on the chart icon > view forecast - Unreserve the 1 unit currently used by your picking ### Issue: While you have 10 units in WH/Stock/Shelf perfectly suitable to fulfill the demand of the picking, instead of displaying a line allowing you to reserve the 1 unit, you have a line telling you that the qty is "not available" -1 unit associated with the SO. If you go back to the SO: the chart icon is displayed red and the details displayed in the availability widget shows a: "No future availability". ### Cause of the issue: The chart icon is red because the JS detects a forecasted issue: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/sale_stock/static/src/widgets/qty_at_date_widget.xml#L8 This issue comes from the fact that the demand is not expected to be fulfilled since the `free_qty_today` of the SOL is smaller than its `qty_to_deliver`: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/sale_stock/static/src/widgets/qty_at_date_widget.js#L45 https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/sale_stock/static/src/widgets/qty_at_date_widget.js#L54-L55 The reason for this forecasted issue is that the `free_qty_today` is computed to be -1 rather than 1 here: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/sale_stock/models/sale_order_line.py#L80-L82 since the `move.forecast_availability` is itself -1 rather than 1. Note that if the source of the move was still WH/Stock rather than WH/Stock/Shelf both of these value would be set to +1 and the issue would not appear. However, the `forecast_availability` of moves is not correctly computed if the location_id of the move is a strict sublocation of the warehouse. To be more precise, the forecasted availability is set to a negative quantity here: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/stock/models/stock_move.py#L470-L472 since the report line computed in the `_get_forecast_availability_outgoing` specifies that 'replenishment_filled' is False and should not be: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/stock/models/stock_move.py#L2228 We are finally at the core of the problem, the replenishement is not filled because in the `_get_report_lines`, the `currents` dict used to compute both the reserved and the on hand quantity only updates the quantity of the warehouse if the location belongs to the warehouse: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/stock/report/stock_forecasted.py#L327-L330 As such, 0 units are considered to be available in these locations and nothing can be taken from stock for these moves: https://github.com/odoo/odoo/blob/758ced91f8cb220a003a49b01e047b507f8509d7/addons/stock/report/stock_forecasted.py#L236-L242 which of course result in the impossibility to fulfill the replenishment opw-3979953 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#172106
This commit's purpose is to prevent the creation of a task with quick create with the 'withTaskHour' widget if the project is an fsm one. This is done to prevent the creation of fsm task without a partner set (the field is required). Forward-Port-Of: odoo/odoo#178342
Original PR description
This commit's purpose is to prevent the creation of a task with quick create with the 'withTaskHour' widget if the project is an fsm one. This is done to prevent the creation of fsm task without a partner set (the field is required). Forward-Port-Of: odoo/odoo#178342
Before this commit, event listeners set on inputs by the datetime picker service would be removed in the callback of the `useEffect` hook, meaning that these listeners could be unregistered before the actual elements would be removed. This is an issue in the specific case where the deletion of the element occurs before the "change" event has been dispatched and after the removal of the listeners. The thing is: the removal of the element also triggers the "change" event (if it hasn't bee
Original PR description
Before this commit, event listeners set on inputs by the datetime picker service would be removed in the callback of the `useEffect` hook, meaning that these listeners could be unregistered before…
Before this commit, event listeners set on inputs by the datetime picker service would be removed in the callback of the `useEffect` hook, meaning that these listeners could be unregistered before the actual elements would be removed. This is an issue in the specific case where the deletion of the element occurs before the "change" event has been dispatched and after the removal of the listeners. The thing is: the removal of the element also triggers the "change" event (if it hasn't been triggered before), and with the listener gone this means that the value is lost. This commit deletes the removal of event listeners attached on inputs by the hook. This has been done since using the datetime picker service implies that the inputs affected by the feature will never be in an interactive state without the datetime picker actively listening on them. Although a test case setup is easy to reproduce, this behavior is unfortunately impossible to reproduce programmatically as the "change" event dispatched by removing an element only works when a trusted "input" event was triggered to change its value (setting the internal browser "changed" value of the input). Task [4104407](https://www.odoo.com/odoo/all-tasks/4104407) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#178533
This commit improves test coverage for the `website_payment` module by addressing recent updates and scenarios: - **Minimum Amount**: Verifies that donations below the minimum amount are properly handled (PR: [177766](https://github.com/odoo/odoo/pull/177766)). - **Multiple Amounts**: Ensures that multiple donation amounts cannot be selected at once (PR: [176722](https://github.com/odoo/odoo/pull/176722)). - **Last Amount Selection**: Checks that the last selected amount is correct
Original PR description
This commit improves test coverage for the `website_payment` module by addressing recent updates and scenarios: - **Minimum Amount**: Verifies that donations below the minimum amount are properly handled (PR: [177766](https://github.com/odoo/odoo/pull/177766)). - **Multiple Amounts**: Ensures that multiple donation amounts cannot be selected at once (PR: [176722](https://github.com/odoo/odoo/pull/176722)). - **Last Amount Selection**: Checks that the last selected amount is correctly applied (PR: [176722](https://github.com/odoo/odoo/pull/176722)). These enhancements ensure that the module's behavior is thoroughly tested and functioning as expected. During FW to 16.0 we will take in consideration the iframe task-4138385 Forward-Port-Of: odoo/odoo#178835 Forward-Port-Of: odoo/odoo#177908
Currently, a traceback is occurring when the user tries to download a card for a child partner of type `other` having no name. To reproduce this issue: 1) Install `Contacts` 2) Create a record in `Contact & Addresses` of type as `Other Addresses` in an existing contact 3) Now open the above-created contact 4) Download the Vcard for that record Error:- ``` AttributeError: 'bool' object has no attribute 'replace' ``` As you can see name is only required when the type is 'c
Original PR description
Currently, a traceback is occurring when the user tries to download a card for a child partner of type `other` having no name. To reproduce this issue: 1) Install `Contacts` 2) Create a record in…
Currently, a traceback is occurring when the user tries to download a card
for a child partner of type `other` having no name.
To reproduce this issue:
1) Install `Contacts`
2) Create a record in `Contact & Addresses` of type as `Other Addresses`
in an existing contact
3) Now open the above-created contact
4) Download the Vcard for that record
Error:-
```
AttributeError: 'bool' object has no attribute 'replace'
```
As you can see name is only required when the type is 'contact'.
When the user creates a partner record without a name and tried to download the Vcard, it led to a traceback.
Because the name was used in the Vcard, which is false in this case. https://github.com/odoo/odoo/blob/6abe8da981e10f56eb50d07e8c53dcf97422f0c4/addons/web/models/res_partner.py#L30
**Note:-**
Also in the below line, `/web_enterprise/partner/<model("res.partner"):partner>/vcard`
route was never used anywhere in the Odoo except in one test case.
which was also introduced from the same PR through which the above route was added.
Because `Vcard` was initially in `enterprise` and later shifted to `community`.
https://github.com/odoo/odoo/blob/6abe8da981e10f56eb50d07e8c53dcf97422f0c4/addons/web/controllers/vcard.py#L16-L17
This commit will resolve this issue by taking the `complete name`
when the partner record failed to provide the name.
sentry-5673082917
Forward-Port-Of: odoo/odoo#176166Steps ----- [website_sale_subscription] 1. Create a recurring product with 2 recurring plans. 2. Create 2 variants for this product. 3. In the "Recurring Prices" tab, add a variant to the first plan and the other variant to the other plan. 4. Go to eCommerce and add to the cart the second variant (not the default selected one, this is important). 5. Refresh the page > ** This product pricing is not compatible with the product(s) in your cart. ** Cause ----- `_get_first_suitable_recur
Original PR description
Steps ----- [website_sale_subscription] 1. Create a recurring product with 2 recurring plans. 2. Create 2 variants for this product. 3. In the "Recurring Prices" tab, add a variant to the first plan and the other variant to the other plan. 4. Go to eCommerce and add to the cart the second variant (not the default selected one, this is important). 5. Refresh the page > ** This product pricing is not compatible with the product(s) in your cart. ** Cause ----- `_get_first_suitable_recurring_pricing` doesn't specify a plan, so it can return a pricing which doesn't match the cart's plan. Change ----- Allow adding to the cart if any of the product's variants are matching the cart's plan. opw-4081043 Forward-Port-Of: odoo/enterprise#69288
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we are able to submit the sign even before drawing anything, which will allow us to send the document "unsigned", since there will not be any sign. ## Steps to reproduce: 1. Get Sign module. 2. Upload any document to sign. 3. Add sign box and go to sign the document. 4. Now change from Auto to Dr
Original PR description
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we…
## Issue: After the changes we have made to sign in 17.0 we stop properly handling the state of the buttons for submit our sign after signing, the problem then is that in Draw mode for example, we are able to submit the sign even before drawing anything, which will allow us to send the document "unsigned", since there will not be any sign. ## Steps to reproduce: 1. Get Sign module. 2. Upload any document to sign. 3. Add sign box and go to sign the document. 4. Now change from Auto to Draw. ## Solution: We should take into account that it makes sense that everytime we update if our signature is empty, we update the state of the buttons accordingly avoiding this way to be able to sign without an actual sing. The solution address a similar approach at what was already being done with the onChangeName, we move this logic to be handled by a specific function for this buttons 'handleButtonStateChange'. The fix is part of > [#164410](https://github.com/odoo/odoo/pull/164410) opw-3874034 Forward-Port-Of: odoo/enterprise#61981
In the community counterpart of this PR, a debounce is added to the addition of bus channels in order to batch them as much as possible. The room module uses the `waitForSubscribe` bus helper but never awaits it which trigger errors in other tests. This PR fixes this issue. backport of https://github.com/odoo/enterprise/pull/68099 community: https://github.com/odoo/odoo/pull/176580 Forward-Port-Of: odoo/enterprise#68361
Original PR description
In the community counterpart of this PR, a debounce is added to the addition of bus channels in order to batch them as much as possible. The room module uses the `waitForSubscribe` bus helper but never awaits it which trigger errors in other tests. This PR fixes this issue. backport of https://github.com/odoo/enterprise/pull/68099 community: https://github.com/odoo/odoo/pull/176580 Forward-Port-Of: odoo/enterprise#68361
With this commit, some rules category are fixed : deduction, allowance are set only on employee rule. One file's name changed to be coherent with others payrolls. task-4069829 Forward-Port-Of: odoo/enterprise#68889
Original PR description
With this commit, some rules category are fixed : deduction, allowance are set only on employee rule. One file's name changed to be coherent with others payrolls. task-4069829 Forward-Port-Of: odoo/enterprise#68889
Before this commit, the section transaction without statement didn't count the reconciled entries, and so the balance of the account was wrong. To fix that we putted a new custom engine function that will trigger the _bank_reconciliation_report_custom_engine_common with False for the "from_statement" and False for the "unreconciled" variables. With that the query will get all the transaction reconciled or not that are not from a statement. There was also a problem if the reconcile rate was
Original PR description
Before this commit, the section transaction without statement didn't count the reconciled entries, and so the balance of the account was wrong. To fix that we putted a new custom engine function that will trigger the _bank_reconciliation_report_custom_engine_common with False for the "from_statement" and False for the "unreconciled" variables. With that the query will get all the transaction reconciled or not that are not from a statement. There was also a problem if the reconcile rate was 0, which didn't when having only unreconciled entries but now that we can have that, it needed to be modified. task: 4110491 Forward-Port-Of: odoo/enterprise#68594
When a user with 'user' access rigths on the project module that is also assigned to a task of an internal project, it will prevent the user from creating a new timesheet from the timesheet grid. This bug is due to the fact that when a user clicks on the line of the task, some rpc's call are made on the 'project' model. Since the user does not have access rigth to the internal project on which the call are made, an access rigth error is raised. Step to reproduce: - create a db with hr_tim
Original PR description
When a user with 'user' access rigths on the project module that is also assigned to a task of an internal project, it will prevent the user from creating a new timesheet from the timesheet grid.…
When a user with 'user' access rigths on the project module that is also assigned to a task of an internal project, it will prevent the user from creating a new timesheet from the timesheet grid. This bug is due to the fact that when a user clicks on the line of the task, some rpc's call are made on the 'project' model. Since the user does not have access rigth to the internal project on which the call are made, an access rigth error is raised. Step to reproduce: - create a db with hr_timesheet installed - have a user with 'user' access rights on project and 'own timesheet' on timesheet - create an internal project - create a task inside that internal project and assigned the user on it - connect with the other user - open timesheet app - select the task from the internal project to start a new timesheet timer - an error access right on 'project' is triggered Solution: Add a sudo inside the python method 'check can start timer'. Give the project name to the timerHeaderM2O, to prevent the call to the name_get on the project. task - 3922511 affected version 16.0 - master Forward-Port-Of: odoo/enterprise#68933 Forward-Port-Of: odoo/enterprise#63159
We are currently using websockets for every report action. We will now use longpolling first, then websocket if it fails. It will help reduce the amount of websockets communicating with Odoo. Task: 4106745 Forward-Port-Of: odoo/enterprise#68325
Original PR description
We are currently using websockets for every report action. We will now use longpolling first, then websocket if it fails. It will help reduce the amount of websockets communicating with Odoo. Task: 4106745 Forward-Port-Of: odoo/enterprise#68325
Before this commit, Using the "request signature" option allowed users to create templates on the fly, which could lead to errors. In this commit, the Creation of templates on the fly from the wizard is no longer allowed. task-4069128 Forward-Port-Of: odoo/enterprise#67232
Original PR description
Before this commit, Using the "request signature" option allowed users to create templates on the fly, which could lead to errors. In this commit, the Creation of templates on the fly from the wizard is no longer allowed. task-4069128 Forward-Port-Of: odoo/enterprise#67232