Wednesday, March 20, 2024
64 changes · saas-17.2
Enhancements to existing features
This update adds automated checks for how client actions are opened through web addresses. It helps ensure users land on the correct screen when navigating via links, reducing the risk of future navigation issues.
Original PR description
This commit adds some tests for the path-based routing of client actions commit: https://github.com/odoo/enterprise/commit/ffee7f5191cca060530d3e785328058ed8801dc5
Resolved issues and error corrections
This fix makes drag-and-drop actions in spreadsheet pivot dimension panels place items in the intended position. It reduces user frustration and helps prevent mistakes when reorganizing spreadsheet data views.
Miscellaneous changes
Since the wishlist benefit displays cars, they should be grouped by category as for the Company car benefit. Forward-Port-Of: odoo/enterprise#58864
Original PR description
Since the wishlist benefit displays cars, they should be grouped by category as for the Company car benefit. Forward-Port-Of: odoo/enterprise#58864
When a new internal employee or user is created without a picture, the system now generates an avatar from their name. This keeps employee and user records visually consistent and avoids missing profile images during setup.
Original PR description
Ensure an avatar is generated based on the employee/user name if no image is provided at the record creation (for internal users only). Taskid: 3637523 X-original-commit: 9d11d2087378e1a56333e11daa18e6dc1b8c655e
New employee and internal user records will now automatically receive a name-based avatar when no image is provided. This keeps profiles visually identifiable from the start and avoids blank images in employee and user views.
Original PR description
Ensure an avatar is generated based on the employee/user name if no image is provided at the record creation (for internal users only). TaskID: 3637523 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update stabilizes automated checks around the company switching menu by ensuring delayed router actions finish before results are checked. It reduces random test failures, helping maintain confidence in releases without changing business functionality.
Original PR description
In the "router" there are some debounced methods, and they produce some undeterministic errors. To avoid these errors, we run all timers before reading value from the router. task-3705027 runbot-error-59015 runbot-error-58156 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Steps to Reproduce : - Toggle Studio from Odoo Dashboard - Click on create new app button --> Enter App name and Respective model - The `Create your App` button in Chrome will ultimately not be clearly visible at 100% zoom; the user must currently zoom out to see the button. video link: [Video](https://drive.google.com/file/d/1ug8VFpC10l4o_HFRQOnvwbUDO9yg_rzq/view) Observed behavior: - `Create your App` button is not visible. Expected behavior: - `Create your App` button should be
Original PR description
Steps to Reproduce : - Toggle Studio from Odoo Dashboard - Click on create new app button --> Enter App name and Respective model - The `Create your App` button in Chrome will ultimately not be clearly visible at 100% zoom; the user must currently zoom out to see the button. video link: [Video](https://drive.google.com/file/d/1ug8VFpC10l4o_HFRQOnvwbUDO9yg_rzq/view) Observed behavior: - `Create your App` button is not visible. Expected behavior: - `Create your App` button should be visible clearly. Task-3794467 Forward-Port-Of: odoo/enterprise#58404
TaskID: 3782701 https://www.partena-professional.be/fr/nos-connaissances/infoflashes/delais-de-preavis-en-cas-de-demission-des-travailleurs-en-service#:~:text=Avec%20cette%20nouvelle%20loi%2C%20la,avant%20le%201er%20janvier%202014 Forward-Port-Of: odoo/enterprise#57970
Original PR description
TaskID: 3782701 https://www.partena-professional.be/fr/nos-connaissances/infoflashes/delais-de-preavis-en-cas-de-demission-des-travailleurs-en-service#:~:text=Avec%20cette%20nouvelle%20loi%2C%20la,avant%20le%201er%20janvier%202014 Forward-Port-Of: odoo/enterprise#57970
## Issue: - If a Contact record has a complete Address record (Street 1, Street 2, City, State, Zip, and Country) and the Check Print Format is set to TOP then the Address and the check memo overlap (see screenshot). ## Steps To Reproduce: - Create a contact with a long name and long address. - Be in a company set up under l10n_us. - Set your check printing to be Print Check (Top) - US. - Issue a Vendor Payment to the contact - Add a memo and print check. - The address overlaps the
Original PR description
## Issue: - If a Contact record has a complete Address record (Street 1, Street 2, City, State, Zip, and Country) and the Check Print Format is set to TOP then the Address and the check memo overlap (see screenshot). ## Steps To Reproduce: - Create a contact with a long name and long address. - Be in a company set up under l10n_us. - Set your check printing to be Print Check (Top) - US. - Issue a Vendor Payment to the contact - Add a memo and print check. - The address overlaps the reference ## Solution: - Adjust the font size of the address to make it slightly smaller, thereby avoiding overlap. opw-3735486 Forward-Port-Of: odoo/enterprise#58269
Currently we send a list of ibans, and a single date from which to fetch the files. This is a bit problematic if the user has multiple journals and one of which is not used. In such a case, this old journal won't have transactions for months. Then we'll use the date of this old journal as the one from which to start fetching. So a journal that is up to date and gets documents everyday will still use this old date. Therefore we'll download lots of files (3 months or historic) even though the v
Original PR description
Currently we send a list of ibans, and a single date from which to fetch the files. This is a bit problematic if the user has multiple journals and one of which is not used. In such a case, this old journal won't have transactions for months. Then we'll use the date of this old journal as the one from which to start fetching. So a journal that is up to date and gets documents everyday will still use this old date. Therefore we'll download lots of files (3 months or historic) even though the vast majority will not be used (only skipped because already imported) From now on, for each journal, we send the date of the last bank statement along with the IBAN of the journal, so that on IAP's side, we can filter out older bank statements. This allows faster fetching of the files. IAP: https://github.com/odoo/iap-apps/pull/771 task-id 3762743 Forward-Port-Of: odoo/enterprise#57722
How to reproduce: - in point of sale, enable "Generate a code on ticket" - create a pos_order, save the ticket - using the code on the ticket, request an invoice through the portal and fill the information as if you were a mexican company => An invoice is generated and sent successfully to the SAT, but "CFDI to Public" is True on the invoice. Hence, the receptor's RFC will be "XAXX..." instead of the RFC filled in the portal. Reason: The pos_order has "CFDI to Public" to True, and
Original PR description
How to reproduce: - in point of sale, enable "Generate a code on ticket" - create a pos_order, save the ticket - using the code on the ticket, request an invoice through the portal and fill the information as if you were a mexican company => An invoice is generated and sent successfully to the SAT, but "CFDI to Public" is True on the invoice. Hence, the receptor's RFC will be "XAXX..." instead of the RFC filled in the portal. Reason: The pos_order has "CFDI to Public" to True, and this value is copied on the invoice. Fix: Recompute the value for the "CFDI to Public" field on the pos_order when the partner_id is filled. It should only be True when the Receptor's RFC is "XAXX...". Note that the new compute for "CFDI to Public" on the pos_order now resembles the one on the account_move. opw-3767576 Forward-Port-Of: odoo/enterprise#58771
Behavior before the changes: - When a note was modified, it cancelled the old orderline and recreated it with the new note. - Products were not sorted by category in the order preparation display. - Clicking on the header of an order sent it directly to the next stage, regardless of whether lines were crossed out or not. - There were brackets around the order number. Behavior after changes: - When a note is modified, it is modified directly on the existing orderline. - Products are now
Original PR description
Behavior before the changes: - When a note was modified, it cancelled the old orderline and recreated it with the new note. - Products were not sorted by category in the order preparation display. - Clicking on the header of an order sent it directly to the next stage, regardless of whether lines were crossed out or not. - There were brackets around the order number. Behavior after changes: - When a note is modified, it is modified directly on the existing orderline. - Products are now sorted by category in the order. - Clicking on an order header sends only the crossed-out lines to the next stage. If no line is crossed out, the entire order is sent. - There are no longer any brackets around the order name. taskId: 3764317 community PR: https://github.com/odoo/odoo/pull/155246 Forward-Port-Of: odoo/enterprise#58127 Forward-Port-Of: odoo/enterprise#57385
Before this commit: Inside any workspace, select a document, and drag & drop it again into the same current workspace. Issue: The current condition(located in `_onDrop`) fails to check if the workspace where the document is being dragged to, is the same as the workspace it's already present. Effects: - `orm.write` is being executed unnecessarily. - Traceback is observed exclusively in 17.0 and master when similar steps are followed inside TRASH workspace. (will be solved by this PR)
Original PR description
Before this commit: Inside any workspace, select a document, and drag & drop it again into the same current workspace. Issue: The current condition(located in `_onDrop`) fails to check if the…
Before this commit: Inside any workspace, select a document, and drag & drop it again into the same current workspace. Issue: The current condition(located in `_onDrop`) fails to check if the workspace where the document is being dragged to, is the same as the workspace it's already present. Effects: - `orm.write` is being executed unnecessarily. - Traceback is observed exclusively in 17.0 and master when similar steps are followed inside TRASH workspace. (will be solved by this PR) Reason: - The workspaces inside the search panel are listed as list-items (`<li>`). Inside those items we have their display names enclosed within the `<header>`. On selecting any workspace (including trash), an active class is added to the `<header>`. - When the `_onDrop` event gets called, the condition before this commit tries to check the presence of an 'active' class on the `<li>` and not on the `<header>` element present inside it. After this commit: The updated condition removes unnecessary computation and eliminates the traceback as well. Task-3627626 Forward-Port-Of: odoo/enterprise#58772 Forward-Port-Of: odoo/enterprise#53158
On the form view editor, click on a button that has studio_approval="True" and some rules behind it Before this commit, unchecking the "Set approval rules" checkbox in the form view editor did not disable the rule itself, causing the expected workflow to trigger the rule, even if the button should not be enforcing them. This was because of commit 3db107ae481a8da85aa356c729bae5fc246e655b, which introduced server-side enforcement of studio approval rules. After this commit, we archive rules th
Original PR description
On the form view editor, click on a button that has studio_approval="True" and some rules behind it Before this commit, unchecking the "Set approval rules" checkbox in the form view editor did not disable the rule itself, causing the expected workflow to trigger the rule, even if the button should not be enforcing them. This was because of commit 3db107ae481a8da85aa356c729bae5fc246e655b, which introduced server-side enforcement of studio approval rules. After this commit, we archive rules that were set on the button, so the expected outside studio workflow works opw-3810516 Forward-Port-Of: odoo/enterprise#58859
- Whether the option is visible or not shouldn't depend on the `mail_extra_fields` compute. Use a separate compute to avoid useless processing. - Wrong moves used in the warning computation. - Remove useless trigger in `api.depends` to avoid unecessary computations. Forward-Port-Of: odoo/enterprise#58830
Original PR description
- Whether the option is visible or not shouldn't depend on the `mail_extra_fields` compute. Use a separate compute to avoid useless processing. - Wrong moves used in the warning computation. - Remove useless trigger in `api.depends` to avoid unecessary computations. Forward-Port-Of: odoo/enterprise#58830
Before this commit: IoT logs are kept in an IoT log file. Any time the support would need IoT log information, we are forced to ask the customer to send it to us as it requires to be in the LAN. After this commit: Relevant* log lines will be automatically send out to the server using an HTTP route. This feature can be toggled within the Handlers list page  preview:  preview:  *: Relevant = - Any odoo logs (depending on the level set in the handlers list, see: https://github.com/odoo/odoo/pull/134174 ) - Any other logs (werkzeug, python libraries, etc.) except /hw_proxy/hello Note: IoT logs received by the server will ALWAYS be logged regardless of it level. So an Odoo server set in INFO which receive a DEBUG log from the IoT will log it in its log with the DEBUG level Related odoo PR: https://github.com/odoo/odoo/pull/150920 opw-3696519 Forward-Port-Of: odoo/enterprise#58111 Forward-Port-Of: odoo/enterprise#55055
Impacted Version: - 17.0 and above This commit improve below features: - Create statement of account reports in follow-up reports task-3610441 Forward-Port-Of: odoo/enterprise#52098
Original PR description
Impacted Version: - 17.0 and above This commit improve below features: - Create statement of account reports in follow-up reports task-3610441 Forward-Port-Of: odoo/enterprise#52098
Before this commit, when toggling the Signing Order option in a template with more than one sign role, the signer emails would disappear (only their names would be kept). After this commit, by adding the context variable show_email as true in the Send action, the signers emails no longer disappear. This will make the emails labels persist after performing onchange calls in the user interface. task-3659895 Forward-Port-Of: odoo/enterprise#58175
Original PR description
Before this commit, when toggling the Signing Order option in a template with more than one sign role, the signer emails would disappear (only their names would be kept). After this commit, by adding the context variable show_email as true in the Send action, the signers emails no longer disappear. This will make the emails labels persist after performing onchange calls in the user interface. task-3659895 Forward-Port-Of: odoo/enterprise#58175
### Steps to reproduce issue: 1. Create a Product with Lots/Serials tracking 2. Create a BoM with an operation and add Product as By-Product 3. Create a Manufacturing Order using the BoM, click on Confirm then Plan 4. Go to Shop Floor, click on "Register [the By-Product]" - Not the button with the units 6. Click on either "Import Lots" or "Generate Serials" 7. Enter a Lot/Serial number and click on "Generate" 8. Traceback error: > loc_dest = self.env['stock.location'].br
Original PR description
### Steps to reproduce issue: 1. Create a Product with Lots/Serials tracking 2. Create a BoM with an operation and add Product as By-Product 3. Create a Manufacturing Order using the BoM, click on…
### Steps to reproduce issue:
1. Create a Product with Lots/Serials tracking
2. Create a BoM with an operation and add Product as By-Product
3. Create a Manufacturing Order using the BoM, click on Confirm then Plan
4. Go to Shop Floor, click on "Register [the By-Product]"
- Not the button with the units
6. Click on either "Import Lots" or "Generate Serials"
7. Enter a Lot/Serial number and click on "Generate"
8. Traceback error:
> loc_dest = self.env['stock.location'].browse(default_vals['location_dest_id'])
> KeyError: 'location_dest_id'
### Explanation:
When going through the Shop Floor, the context is missing a lot of elements that are normally passed in the manufacturing order form. https://github.com/odoo/odoo/blob/338173e231355d265ddc88bcef5e9b0a608e248e/addons/mrp/views/mrp_production_views.xml#L432-L437
### Suggested fix:
`default_dest_location_id` is the missing element causing the traceback but fixing it reveals that `default_location_id` is also missing, we then add it to the context as well.
Test is done in Enterprise while fix is in Community.
opw-3719439
Forward-Port-Of: odoo/enterprise#57789task-3815657 Forward-Port-Of: odoo/enterprise#58855
Original PR description
task-3815657 Forward-Port-Of: odoo/enterprise#58855
When there are no car available in the wishlist, and the advantage is checked, we get a traceback as it tries to split the new_value which is False. So we check that we have a new_value before. Forward-Port-Of: odoo/enterprise#58850
Original PR description
When there are no car available in the wishlist, and the advantage is checked, we get a traceback as it tries to split the new_value which is False. So we check that we have a new_value before. Forward-Port-Of: odoo/enterprise#58850
Currently, we have some code repeating in SixDriver, WorldlineDriver_L and WOrldlineDriver_W. The goal of this PR is to move this code to a parent class for easier maintenance and better code strcture Additionally, it applies the code to every ctypes dependant terminal driver, adding some features like "smart sleep" or rejecting double request processing when the terminal is busy for every single of them task-3707945 Forward-Port-Of: odoo/enterprise#58527 Forward-Port-Of: odoo/enterpri
Original PR description
Currently, we have some code repeating in SixDriver, WorldlineDriver_L and WOrldlineDriver_W. The goal of this PR is to move this code to a parent class for easier maintenance and better code strcture Additionally, it applies the code to every ctypes dependant terminal driver, adding some features like "smart sleep" or rejecting double request processing when the terminal is busy for every single of them task-3707945 Forward-Port-Of: odoo/enterprise#58527 Forward-Port-Of: odoo/enterprise#57064
**Current behavior before this PR:** When a user creates an article in a private section and then publishes it on the web, now if a portal user accesses that link, the article will appear in the private section of the portal as well. **Reason:** There was no specific domain to prevent the portal user from showing private articles of others. **Desired behavior after this PR:** Published web articles will not shown in the portal's private section. **Task**-3486083 Forward-Port-Of:
Original PR description
**Current behavior before this PR:** When a user creates an article in a private section and then publishes it on the web, now if a portal user accesses that link, the article will appear in the private section of the portal as well. **Reason:** There was no specific domain to prevent the portal user from showing private articles of others. **Desired behavior after this PR:** Published web articles will not shown in the portal's private section. **Task**-3486083 Forward-Port-Of: odoo/enterprise#56231
Ensure an avatar is generated based on the employee/user name if no image is provided at the record creation (for internal users only). TaskID: 3637523 Forward-Port-Of: odoo/enterprise#58769 Forward-Port-Of: odoo/enterprise#58646
Original PR description
Ensure an avatar is generated based on the employee/user name if no image is provided at the record creation (for internal users only). TaskID: 3637523 Forward-Port-Of: odoo/enterprise#58769 Forward-Port-Of: odoo/enterprise#58646
Improve avatar picture : if no picture is set, initials will be displayed. task : 3637523 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157874 Forward-Port-Of: odoo/odoo#147446
Original PR description
Improve avatar picture : if no picture is set, initials will be displayed. task : 3637523 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157874 Forward-Port-Of: odoo/odoo#147446
Add `img-fluid` class so that image remains responsive when `Shape: Thumbnail` is not applied. task-3266862 Forward-Port-Of: odoo/odoo#157812 Forward-Port-Of: odoo/odoo#118916
Original PR description
Add `img-fluid` class so that image remains responsive when `Shape: Thumbnail` is not applied. task-3266862 Forward-Port-Of: odoo/odoo#157812 Forward-Port-Of: odoo/odoo#118916
This replaces the former domain operator '?=' which is not allowed, This domain property, new to Odoo 16 does not permit the edition of the field with Studio, this change will enhance the configuration and will prevent future issues. owp-3484144 Forward-Port-Of: odoo/odoo#149477 Forward-Port-Of: odoo/odoo#135243
Original PR description
This replaces the former domain operator '?=' which is not allowed, This domain property, new to Odoo 16 does not permit the edition of the field with Studio, this change will enhance the configuration and will prevent future issues. owp-3484144 Forward-Port-Of: odoo/odoo#149477 Forward-Port-Of: odoo/odoo#135243
Before this PR: The snippet menu in the Mail Body appeared on the top of the form, causing misalignment. Technical details: - This problem was observed in the `view_mail_mass_mailing_form` form and all other views inheriting from it. - The fix involves adding the `o_mass_mailing_iframe `class using the `iframeHtmlClass` attribute on the body_arch field. After this PR: The layout is now aligned. This PR targets up to 17.0, for further versions the issue has already been resolved.
Original PR description
Before this PR: The snippet menu in the Mail Body appeared on the top of the form, causing misalignment. Technical details: - This problem was observed in the `view_mail_mass_mailing_form` form and all other views inheriting from it. - The fix involves adding the `o_mass_mailing_iframe `class using the `iframeHtmlClass` attribute on the body_arch field. After this PR: The layout is now aligned. This PR targets up to 17.0, for further versions the issue has already been resolved. task-3603623 Forward-Port-Of: odoo/odoo#157864 Forward-Port-Of: odoo/odoo#152996
Since 9aa52dd6418e5881adc2d96d15d062b55d6150c5, down payments are created without any product (and dp product settings have been removed). Nevertheless, the SOlines views were not adapted and the product was still required in the view, even if the line was a down payment. This commit makes sure that a down payment line without a product is considered valid client-side. opw-3798379 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-P
Original PR description
Since 9aa52dd6418e5881adc2d96d15d062b55d6150c5, down payments are created without any product (and dp product settings have been removed). Nevertheless, the SOlines views were not adapted and the product was still required in the view, even if the line was a down payment. This commit makes sure that a down payment line without a product is considered valid client-side. opw-3798379 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158005
Steps to reproduce =================== - Launch a survey in a live session. - Start the survey. - Click on the link to join. - The link didn't copy to the clipboard. Technical =========== Here the target element is the input tag so 'textcontent' will not work for that moved the 'o_survey_session_copy_url' class in span tag. This commit has resulted in a breakdown of the feature's https://github.com/odoo/odoo/commit/b62eff731b06520f9669684635cbed408e0fc35c After this commit =======
Original PR description
Steps to reproduce =================== - Launch a survey in a live session. - Start the survey. - Click on the link to join. - The link didn't copy to the clipboard. Technical =========== Here the target element is the input tag so 'textcontent' will not work for that moved the 'o_survey_session_copy_url' class in span tag. This commit has resulted in a breakdown of the feature's https://github.com/odoo/odoo/commit/b62eff731b06520f9669684635cbed408e0fc35c After this commit ================== The link will be copied to the clipboard. Task-3792666 Forward-Port-Of: odoo/odoo#157192
With this commit, the domain of work location domain is reintroduced. It was a mistake introduced by this PR : odoo/odoo#129308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157441
Original PR description
With this commit, the domain of work location domain is reintroduced. It was a mistake introduced by this PR : odoo/odoo#129308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157441
Steps to reproduce: - Enable 2 step reciept in warehaouse settings Bug1: - Create and confirm a PO qty = 1 - Open reciept update qty to 4 and validate - The internal transfer qty is updated to 3 (the difference) Bug2: - In inventory overview create a new reciept and mark it as todo - Update quantity and validate - Internal transfer is not updated Root cause: Initially in version 17 product_uom_qty was changed to indicate the demand before the move is done and it indicates the ac
Original PR description
Steps to reproduce: - Enable 2 step reciept in warehaouse settings Bug1: - Create and confirm a PO qty = 1 - Open reciept update qty to 4 and validate - The internal transfer qty is updated to 3 (the…
Steps to reproduce: - Enable 2 step reciept in warehaouse settings Bug1: - Create and confirm a PO qty = 1 - Open reciept update qty to 4 and validate - The internal transfer qty is updated to 3 (the difference) Bug2: - In inventory overview create a new reciept and mark it as todo - Update quantity and validate - Internal transfer is not updated Root cause: Initially in version 17 product_uom_qty was changed to indicate the demand before the move is done and it indicates the acutual done qty when the move is done. After https://github.com/odoo/odoo/pull/130342 product_uom_qty will always indicate the demand qty, and qty_done will always indicate actually done quantity. Fix: updating the quantity will create a new move for the difference that is used to trigger new push rule and then merged back in the original when merging product_uom_qty is not updated to keep track of the intial demand but pending linked moves should be updated to reflect the new quantity opw-3708740 Forward-Port-Of: odoo/odoo#156331
-Step to reproduce: any custom model that inherit from mail.thread then define a field user_id but with type is char and boom error happen at method '_message_get_suggested_recipients' because it always expect 'user_id' to be a many2one field -Solution: need to check the type of 'user_id' also Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at ww
Original PR description
-Step to reproduce: any custom model that inherit from mail.thread then define a field user_id but with type is char and boom error happen at method '_message_get_suggested_recipients' because it always expect 'user_id' to be a many2one field -Solution: need to check the type of 'user_id' also Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157350 Forward-Port-Of: odoo/odoo#155149
In the Quotations list view, it is possible to show "amount_to_invoice" field. However, this field is empty for quotations and therefore useless. It should be set as invisible for quotations. An inherited view was already taking care of it, but was using "invisible" attribute instead of "column_invisible" attribute. opw-3722037 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158043
Original PR description
In the Quotations list view, it is possible to show "amount_to_invoice" field. However, this field is empty for quotations and therefore useless. It should be set as invisible for quotations. An inherited view was already taking care of it, but was using "invisible" attribute instead of "column_invisible" attribute. opw-3722037 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158043
Before this commit, the `test_websocket_instances_weak_set` was sometimes failing. Indeed, this test doesn't wait for the connection to be fully established before making its assertions. This commit fixes this issue. fixes runbot-55037,55035 Forward-Port-Of: odoo/odoo#157510 Forward-Port-Of: odoo/odoo#157433
Original PR description
Before this commit, the `test_websocket_instances_weak_set` was sometimes failing. Indeed, this test doesn't wait for the connection to be fully established before making its assertions. This commit fixes this issue. fixes runbot-55037,55035 Forward-Port-Of: odoo/odoo#157510 Forward-Port-Of: odoo/odoo#157433
Versions: --------- - 17.0 Issue: ------ Message for flag timesheet from project as billable/non-billable is misplaced. Cause: ------ Xpath given for Message placed in sale_timsheet is not very specific. Solution: --------- Give accurate xpath for message div. task-3630449 Forward-Port-Of: odoo/odoo#148880
Original PR description
Versions: --------- - 17.0 Issue: ------ Message for flag timesheet from project as billable/non-billable is misplaced. Cause: ------ Xpath given for Message placed in sale_timsheet is not very specific. Solution: --------- Give accurate xpath for message div. task-3630449 Forward-Port-Of: odoo/odoo#148880
In Czech republic, the standard is to first render Company ID (IČO), and then to render VAT ID (DIČ). - Changing the position to before (not after), so company ID renders before VAT ID. - Changed label from "ID" to "Company ID" (so it is obvious in what ID it is). Original fixes by @cunivca: odoo/odoo#149339, odoo/odoo#149340, merged into one. Related: https://github.com/odoo/odoo/commit/d0704a19de31e0251d343081ae6b3da9991a248e Forward-Port-Of: odoo/odoo#157993
Original PR description
In Czech republic, the standard is to first render Company ID (IČO), and then to render VAT ID (DIČ). - Changing the position to before (not after), so company ID renders before VAT ID. - Changed label from "ID" to "Company ID" (so it is obvious in what ID it is). Original fixes by @cunivca: odoo/odoo#149339, odoo/odoo#149340, merged into one. Related: https://github.com/odoo/odoo/commit/d0704a19de31e0251d343081ae6b3da9991a248e Forward-Port-Of: odoo/odoo#157993
Current behavior: --- When trying to preview a mailing template with the debug mode enabled, there is an error: Invalid props for component Steps to reproduce: --- 1. Enable debug mode with assets 2. Go to Email Marketing 3. Create a new Mailing 4. Select a template 5. In the Editor, click on the mobile icon 6. ... 'preview' is not a function Cause of the issue: --- Caused by https://github.com/odoo/odoo/commit/13b3f8af4b55d32912b698ae1672be9e144cb775 opw-3702901 --- I
Original PR description
Current behavior: --- When trying to preview a mailing template with the debug mode enabled, there is an error: Invalid props for component Steps to reproduce: --- 1. Enable debug mode with assets 2. Go to Email Marketing 3. Create a new Mailing 4. Select a template 5. In the Editor, click on the mobile icon 6. ... 'preview' is not a function Cause of the issue: --- Caused by https://github.com/odoo/odoo/commit/13b3f8af4b55d32912b698ae1672be9e144cb775 opw-3702901 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153176
This adds a button to the AI Copywriter that allows the user to correct the selected text without altering it otherwise. task-3776377 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156067
Original PR description
This adds a button to the AI Copywriter that allows the user to correct the selected text without altering it otherwise. task-3776377 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156067
The cost of sales accounts need to have the type expense_direct_cost for the Gross Profit calculation in the Profit and Loss report to be correct task: 3764767 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155374
Original PR description
The cost of sales accounts need to have the type expense_direct_cost for the Gross Profit calculation in the Profit and Loss report to be correct task: 3764767 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155374
### Steps to reproduce issue: 1. Create a Product with Lots/Serials tracking 2. Create a BoM with an operation and add Product as By-Product 3. Create a Manufacturing Order using the BoM, click on Confirm then Plan 4. Go to Shop Floor, click on "Register [the By-Product]" - Not the button with the units 6. Click on either "Import Lots" or "Generate Serials" 7. Enter a Lot/Serial number and click on "Generate" 8. Traceback error: > loc_dest = self.env['stock.location'].bro
Original PR description
### Steps to reproduce issue: 1. Create a Product with Lots/Serials tracking 2. Create a BoM with an operation and add Product as By-Product 3. Create a Manufacturing Order using the BoM, click on…
### Steps to reproduce issue: 1. Create a Product with Lots/Serials tracking 2. Create a BoM with an operation and add Product as By-Product 3. Create a Manufacturing Order using the BoM, click on Confirm then Plan 4. Go to Shop Floor, click on "Register [the By-Product]" - Not the button with the units 6. Click on either "Import Lots" or "Generate Serials" 7. Enter a Lot/Serial number and click on "Generate" 8. Traceback error: > loc_dest = self.env['stock.location'].browse(default_vals['location_dest_id']) > KeyError: 'location_dest_id' ### Explanation: When going through the Shop Floor, the context is missing a lot of elements that are normally passed in the manufacturing order form. https://github.com/odoo/odoo/blob/338173e231355d265ddc88bcef5e9b0a608e248e/addons/mrp/views/mrp_production_views.xml#L432-L437 ### Suggested fix: `default_dest_location_id` is the missing element causing the traceback but fixing it reveals that `default_location_id` is also missing, we then add it to the context as well. Test is done in Enterprise while fix is in Community. opw-3719439 Forward-Port-Of: odoo/odoo#157922 Forward-Port-Of: odoo/odoo#155846
The goal of this PR is to improve the current text highlight system by adding the following updates: - Move the highlight option's related CSS ([data-set-text-highlight]) to website. - Update the `selectStyle` options to handle the default "currentColor" value. - Force to hide the highlight options overlay opacity on scroll. - Remove the dead code of `getDOMRectWidth()` (used in older versions to compare text content width on page load). - The `o_text_highlight_item_dirty` class
Original PR description
The goal of this PR is to improve the current text highlight system by adding the following updates: - Move the highlight option's related CSS ([data-set-text-highlight]) to website. - Update the…
The goal of this PR is to improve the current text highlight system by adding the following updates: - Move the highlight option's related CSS ([data-set-text-highlight]) to website. - Update the `selectStyle` options to handle the default "currentColor" value. - Force to hide the highlight options overlay opacity on scroll. - Remove the dead code of `getDOMRectWidth()` (used in older versions to compare text content width on page load). - The `o_text_highlight_item_dirty` class is no longer used to adapt non-detected highlight items (the highlight mutation observer was tweaked to detect and adapt the new highlight items added to the DOM after editors commands. E.g. after the `oEnter()` command). - The editor's code (`_handleTextOptions()`) will only set text highlight classes and activate the snippet. Highlight DOM adaptations (multi-line detection, setting SVGs...) are done by the public widget. - A `z-index:` CSS (used to keep the highlight SVG visible and behind the text at the same time) is replaced by a more appropriate `isolation: isolate;`. - Only use one global `resizeObserver` to adapt the text highlights on resize. - The text highlight effects list was updated. task-3285817 Forward-Port-Of: odoo/odoo#157321 Forward-Port-Of: odoo/odoo#142968
Purpose ======= The time off duration is set to 0 when the related contract is set as expired, then we remove the end date and set the contract back to running. That's because the check was done before calling super, hence the contract is excluded from the candidates because it is still expired without end date, which would make no sense when trying to retrieve the related calendar. TaskID: 3806342 Description of the issue/feature this PR addresses: Current behavior before PR:
Original PR description
Purpose ======= The time off duration is set to 0 when the related contract is set as expired, then we remove the end date and set the contract back to running. That's because the check was done before calling super, hence the contract is excluded from the candidates because it is still expired without end date, which would make no sense when trying to retrieve the related calendar. TaskID: 3806342 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157681
This commit addresses the erratic behavior of the mobile menu, specifically when clicking on menu items linked to anchors instead of navigating to different pages. The issue occurs in mobile view and can be reproduced by following these steps: 1. Create a page longer than the height of the screen with 3 blocks. 2. Add 3 links to target different sections on the page. 3. Create 3 menu items linked to the newly created anchors (/#...). 4. Save to apply the modifications. 5. Switch to mobile
Original PR description
This commit addresses the erratic behavior of the mobile menu, specifically when clicking on menu items linked to anchors instead of navigating to different pages. The issue occurs in mobile view and can be reproduced by following these steps: 1. Create a page longer than the height of the screen with 3 blocks. 2. Add 3 links to target different sections on the page. 3. Create 3 menu items linked to the newly created anchors (/#...). 4. Save to apply the modifications. 5. Switch to mobile view. 6. Open the hamburger menu. 7. Click on the first menu item, then the second, then the third, and again on the first one. Upon reproducing these steps, the scrolling event would pass through all the anchors, causing unexpected behavior. This commit introduces fixes to ensure proper navigation when clicking on menu items in mobile view, resolving the described issue. opw-3652930 Forward-Port-Of: odoo/odoo#150810
Starting from The "unbreakable menu fix" on `16.0` (see: [1]), the state of the website extra menu was stored before every "resize" adaptation, so it can be possible to reopen it if it was already opened. On `17.0`, the same behaviour was fixed using the `odooEditor` > `withoutRollback()` mechanism (see: [2]), and a step was added to the `edit_menus` test (`clickOnExtraMenuItem`) to open the extra menu after the "edit mode resize" [3]. The forward port of [1], on `17.0` was adapted to
Original PR description
Starting from The "unbreakable menu fix" on `16.0` (see: [1]), the state of the website extra menu was stored before every "resize" adaptation, so it can be possible to reopen it if it was already…
Starting from The "unbreakable menu fix" on `16.0` (see: [1]), the state of the website extra menu was stored before every "resize" adaptation, so it can be possible to reopen it if it was already opened. On `17.0`, the same behaviour was fixed using the `odooEditor` > `withoutRollback()` mechanism (see: [2]), and a step was added to the `edit_menus` test (`clickOnExtraMenuItem`) to open the extra menu after the "edit mode resize" [3]. The forward port of [1], on `17.0` was adapted to keep the main fix from [2], and removed the tour step since the extra menu will be automatically opened if it was already open before the "resize". Now, if we have a menu with no overflowing items before the resize, and after switching to "edit" mode an extra menu was added, this menu will be closed by default which makes the test fail without the step in [3]. The goal of this commit is to fix this behaviour by simply restoring the `clickOnExtraMenuItem` step with a simple tweak: We don't click if the extra menu is already opened to prevent closing it again. Remark: the test failed on `17.0` but the commit is targeting `16.0` to prevent any test failure linked to the "extra menu auto open" feature. [1]: https://github.com/odoo/odoo/commit/2598cc9ef7fe89a0ce5e375bca6f6a781f6ffdf7 [2]: https://github.com/odoo/odoo/commit/cbed990924887eb529056d89a042a92ba27b825b Related to opw-3484742 Related to task-3439226 Forward-Port-Of: odoo/odoo#155559
This PR aims to fix an issue with google/outlook sync buttons: The button state doesn't update automatically after restarting the sync. Changes: Introduced new states for the reactive values of the model, which control how the button is displayed. Task: 3731623 Forward-Port-Of: odoo/odoo#156245 Forward-Port-Of: odoo/odoo#155174
Original PR description
This PR aims to fix an issue with google/outlook sync buttons: The button state doesn't update automatically after restarting the sync. Changes: Introduced new states for the reactive values of the model, which control how the button is displayed. Task: 3731623 Forward-Port-Of: odoo/odoo#156245 Forward-Port-Of: odoo/odoo#155174
Before this commit: IoT logs are kept in an IoT log file. Any time the support would need IoT log information, we are forced to ask the customer to send it to us as it requires to be in the LAN. After this commit: Relevant* log lines will be automatically send out to the server using an HTTP route. This feature can be toggled within the Handlers list page  preview:  preview:  *: Relevant = - Any odoo logs (depending on the level set in the handlers list, see: https://github.com/odoo/odoo/pull/134174 ) - Any other logs (werkzeug, python libraries, etc.) except /hw_proxy/hello Note: IoT logs received by the server will ALWAYS be logged regardless of it level. So an Odoo server set in INFO which receive a DEBUG log from the IoT will log it in its log with the DEBUG level Related enterprise PR: https://github.com/odoo/enterprise/pull/55055 opw-3696519 Forward-Port-Of: odoo/odoo#156605 Forward-Port-Of: odoo/odoo#150920
Have a list view with multiple groupbys and a lot of records to have pagers displayed. Open a group (first level). The pager of the group uses the number of records instead of number of (inner) groups as total. This commit fixes the issue. The pager now correctly allows to navigate through inner groups. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guid
Original PR description
Have a list view with multiple groupbys and a lot of records to have pagers displayed. Open a group (first level). The pager of the group uses the number of records instead of number of (inner) groups as total. This commit fixes the issue. The pager now correctly allows to navigate through inner groups. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157995
The pager was not getting the margin from the bottom. This PR fixes the issue by providing the appropriate margin to the pager. Task-3792586 Forward-Port-Of: odoo/odoo#157005
Original PR description
The pager was not getting the margin from the bottom. This PR fixes the issue by providing the appropriate margin to the pager. Task-3792586 Forward-Port-Of: odoo/odoo#157005
Steps to reproduce: ------------------- - go to time-off analysis (by type); - group by "Requet Type" and use list view; - click on an allocation; Issue: ------ We don't have the record for this allocation. Cause: ------ Commit [^1] removes the `allocation_id` field, so it is no longer possible to retrieve a record from the `hr.leave.allocation` model. Solution: --------- Place the allocation id in the `leave_id` field and use the `leave_type` field to determine the model (`
Original PR description
Steps to reproduce: ------------------- - go to time-off analysis (by type); - group by "Requet Type" and use list view; - click on an allocation; Issue: ------ We don't have the record for this allocation. Cause: ------ Commit [^1] removes the `allocation_id` field, so it is no longer possible to retrieve a record from the `hr.leave.allocation` model. Solution: --------- Place the allocation id in the `leave_id` field and use the `leave_type` field to determine the model (`hr.leave` or `hr.leave.allocation`). opw-3748884 [^1]: a1949ca541d760462add25995f139d1fb59f27d8 Forward-Port-Of: odoo/odoo#157204
Before this commit, when the automatic invoice setting is enabled, a traceback would be shown when customers pay and the post-processing of the transaction tries to create an invoice. The problem is that the invoice is created in sudo, but it's unsudoed before logging invoices in the chatter. Now, the invoice will stay sudoed if the method is called in sudo. opw-3700576 Forward-Port-Of: odoo/odoo#157909 Forward-Port-Of: odoo/odoo#157779
Original PR description
Before this commit, when the automatic invoice setting is enabled, a traceback would be shown when customers pay and the post-processing of the transaction tries to create an invoice. The problem is that the invoice is created in sudo, but it's unsudoed before logging invoices in the chatter. Now, the invoice will stay sudoed if the method is called in sudo. opw-3700576 Forward-Port-Of: odoo/odoo#157909 Forward-Port-Of: odoo/odoo#157779
Behavior before the changes: - When a note was modified, it cancelled the old orderline and recreated it with the new note. - Products were not sorted by category in the order preparation display. - Clicking on the header of an order sent it directly to the next stage, regardless of whether lines were crossed out or not. - There were brackets around the order number. Behavior after changes: - When a note is modified, it is modified directly on the existing orderline. - Products are now
Original PR description
Behavior before the changes: - When a note was modified, it cancelled the old orderline and recreated it with the new note. - Products were not sorted by category in the order preparation display. - Clicking on the header of an order sent it directly to the next stage, regardless of whether lines were crossed out or not. - There were brackets around the order number. Behavior after changes: - When a note is modified, it is modified directly on the existing orderline. - Products are now sorted by category in the order. - Clicking on an order header sends only the crossed-out lines to the next stage. If no line is crossed out, the entire order is sent. - There are no longer any brackets around the order name. taskId: 3764317 enterprise PR: https://github.com/odoo/enterprise/pull/57385 Forward-Port-Of: odoo/odoo#156633 Forward-Port-Of: odoo/odoo#155246
When an addon has an invalid version but is not installable, there is no need to error out. This situation typically happens when unmigrated modules are present in the addons path. Description of the issue/feature this PR addresses: fixes #141747 Current behavior before PR: When an uninstallable addon with an invalid version is present in the path, Odoo does not start. Desired behavior after PR is merged: When an uninstallable addon with an invalid version is present in the pat
Original PR description
When an addon has an invalid version but is not installable, there is no need to error out. This situation typically happens when unmigrated modules are present in the addons path. Description of the issue/feature this PR addresses: fixes #141747 Current behavior before PR: When an uninstallable addon with an invalid version is present in the path, Odoo does not start. Desired behavior after PR is merged: When an uninstallable addon with an invalid version is present in the path, Odoo does start. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157657
**Current behaviour before commit:** When trying to crop image in website, 'mousedown' and 'keydown' events are not getting caught. Due to this, - Crop is not getting closed when clicking on document - Cropped image is not getting saved when pressing enter **Desired behaviour after commit:** Now, events are added to the owner document of the crop widget. As result, - Crop gets closed when clicking anywhere in document - Image gets saved when pressing enter. task-3570524
Original PR description
**Current behaviour before commit:** When trying to crop image in website, 'mousedown' and 'keydown' events are not getting caught. Due to this, - Crop is not getting closed when clicking on document - Cropped image is not getting saved when pressing enter **Desired behaviour after commit:** Now, events are added to the owner document of the crop widget. As result, - Crop gets closed when clicking anywhere in document - Image gets saved when pressing enter. task-3570524 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157763 Forward-Port-Of: odoo/odoo#140108
Before this commit, the aria-current was the name of the search_X instead of value 'page'. Code was strange since `'page' and X` == `X`, while we expect 'page' as value. In case of unknown 'search_slide_category' value, use '-' instead to raise a KeyError Exception. We still have some links that point to old url with slide category of type 'presentation' that doesn't exist anymore since the v16. Remove outdated code following the comment: > I swear though, don't be afraid, remove it!
Original PR description
Before this commit, the aria-current was the name of the search_X instead of value 'page'. Code was strange since `'page' and X` == `X`, while we expect 'page' as value. In case of unknown 'search_slide_category' value, use '-' instead to raise a KeyError Exception. We still have some links that point to old url with slide category of type 'presentation' that doesn't exist anymore since the v16. Remove outdated code following the comment: > I swear though, don't be afraid, remove it! From this way, the wrong slide_type of type 'presentation' will be ignored in all case and link from google will show the slide instead of an error 500. Forward-Port-Of: odoo/odoo#158002
* = facturx, ubl, ubl_cii, ubl_bis3 Problem --------- Currently, the EDI use the commercial partner to craft the XML document. However, this causes issues when users add, for example, an invoice address to a partner. Indeed, the address of the main partner will be used and not the invoice address. This caused issue; see the relevant OPW-3624205. Objective --------- Make sure that the correct address is used when generating the XML. Solution --------- Make sure the commercial partn
Original PR description
* = facturx, ubl, ubl_cii, ubl_bis3 Problem --------- Currently, the EDI use the commercial partner to craft the XML document. However, this causes issues when users add, for example, an invoice address to a partner. Indeed, the address of the main partner will be used and not the invoice address. This caused issue; see the relevant OPW-3624205. Objective --------- Make sure that the correct address is used when generating the XML. Solution --------- Make sure the commercial partner // partner value is used at the correct spot. - `partner` should be used for addresses - `commercial_partner` for everything else. OPW-3624205 task-3636315 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#157856 Forward-Port-Of: odoo/odoo#155896
This will fix the number of employees in the partner view and redirect to a kanban view of the employees. The smart button on the partner view for the number of employees related to this partner now gives the correct number depending on the companies selected. If multiple employees are related, the action shows a kanban view of those employees. Task: 3693173 Forward-Port-Of: odoo/odoo#157537 Forward-Port-Of: odoo/odoo#154162
Original PR description
This will fix the number of employees in the partner view and redirect to a kanban view of the employees. The smart button on the partner view for the number of employees related to this partner now gives the correct number depending on the companies selected. If multiple employees are related, the action shows a kanban view of those employees. Task: 3693173 Forward-Port-Of: odoo/odoo#157537 Forward-Port-Of: odoo/odoo#154162
Steps to reproduce the bug: - Install the "Blogs" app and go to the "/blog" page. - Click on "Edit" to enter edit mode. - Go to the "Theme" tab. - Select the 4th color from the theme colors and choose "black". - Save the page to exit edit mode. - Perform a search in the search bar input that yields no results, for example: "zzz". - Bug: The message "No results found. Please try another search." is not visible because it is displayed in white on the white background of the dropdown. A
Original PR description
Steps to reproduce the bug: - Install the "Blogs" app and go to the "/blog" page. - Click on "Edit" to enter edit mode. - Go to the "Theme" tab. - Select the 4th color from the theme colors and…
Steps to reproduce the bug: - Install the "Blogs" app and go to the "/blog" page. - Click on "Edit" to enter edit mode. - Go to the "Theme" tab. - Select the 4th color from the theme colors and choose "black". - Save the page to exit edit mode. - Perform a search in the search bar input that yields no results, for example: "zzz". - Bug: The message "No results found. Please try another search." is not visible because it is displayed in white on the white background of the dropdown. A previous commit [1] had already addressed the issue for the "Search" snippet that can be dropped into a page, but this fix wasn't sufficient to solve the problem everywhere. Indeed, the text-muted in a dropdown should be adjusted in all cases and not just for snippets; it's a Bootstrap issue. The text-muted color should be adapted to the background color of the dropdown. [1]: https://github.com/odoo/odoo/commit/f9bf40cb53cf487c8736c1f565c2f0d3834acd5e task-3662985 Forward-Port-Of: odoo/odoo#157731 Forward-Port-Of: odoo/odoo#156029
PayPal refuses to take access_token name parameter and throws an error to user that they need to log again. Since the Access Token is neeeded to cancel transaction, it is renamed to return_access_token. opw-3810686 Forward-Port-Of: odoo/odoo#157974
Original PR description
PayPal refuses to take access_token name parameter and throws an error to user that they need to log again. Since the Access Token is neeeded to cancel transaction, it is renamed to return_access_token. opw-3810686 Forward-Port-Of: odoo/odoo#157974
Since commit [1], the new tiktok icon is added to odoo but the conversion of the css class into an image is not supported. This commit ensures that the conversion is correctly handled. Steps to reproduce: - Open the mail marketing app - Create a new mass mailing - Insert an icon in the template, for instance type /image in the text and select the "Pictogram" tab - Search for tiktok icon and insert it - Send the mass mailing - The icon will not be found in the mail [1]: https://git
Original PR description
Since commit [1], the new tiktok icon is added to odoo but the conversion of the css class into an image is not supported. This commit ensures that the conversion is correctly handled. Steps to reproduce: - Open the mail marketing app - Create a new mass mailing - Insert an icon in the template, for instance type /image in the text and select the "Pictogram" tab - Search for tiktok icon and insert it - Send the mass mailing - The icon will not be found in the mail [1]: https://github.com/odoo/odoo/commit/515915b9 Forward-Port-Of: odoo/odoo#157937 Forward-Port-Of: odoo/odoo#157919
How to reproduce: - install crm - open a lead - create an activity call or meeting (and schedule it in the calendar) - mark it as done with a feedback The activity log in the chatter contains the feedback twice and shouldn't. The problem was caused by the synchronization of the event description with the related activities. When marking an activity as done, the event description is updated with the feedback which in turn update the activity note with the feedback. When logging the acti
Original PR description
How to reproduce: - install crm - open a lead - create an activity call or meeting (and schedule it in the calendar) - mark it as done with a feedback The activity log in the chatter contains the feedback twice and shouldn't. The problem was caused by the synchronization of the event description with the related activities. When marking an activity as done, the event description is updated with the feedback which in turn update the activity note with the feedback. When logging the activity done in the chatter, the note and the feedback are logged leading to a duplicate feedback. We solve this by first logging the activity done in the chatter before updating the event description. Task-3653088 Forward-Port-Of: odoo/odoo#157930 Forward-Port-Of: odoo/odoo#147898
Some methods were using the `self.env` to decide users/partners while those methods can also be called from Cron, thus the user would end up to be OdooBot instead of the partner that initiated the async sending. Forward-Port-Of: odoo/odoo#157991
Original PR description
Some methods were using the `self.env` to decide users/partners while those methods can also be called from Cron, thus the user would end up to be OdooBot instead of the partner that initiated the async sending. Forward-Port-Of: odoo/odoo#157991
The account move search was not enough specific to retrieve only one account move. The following `assert` sometimes failed because of this. This commit reinforces to search to get only one account move opw: runbot error 60338 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158050
Original PR description
The account move search was not enough specific to retrieve only one account move. The following `assert` sometimes failed because of this. This commit reinforces to search to get only one account move opw: runbot error 60338 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158050
Forward-Port-Of: odoo/odoo#158035
Original PR description
Forward-Port-Of: odoo/odoo#158035