Friday, August 30, 2024
17 changes
12 changes
Miscellaneous changes
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some produ
Original PR description
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the…
**Current behavior:** Having a batch transfer with 2+ delivery pickings, opening the choose package wizard and filling out the package type will not accurately display the shipping weight for the whole batch. **Expected behavior:** The weight displayed on the wizard form should reflect the weight of the package plus all product that will be put inside it from the batch. **Steps to reproduce:** 1. Enable packs in settings, create a package type with a base weight of 1 unit and some product with a weight of 1 unit 2. Create two delivery transfers with some carrier (e.g, local delivery) each with 1 of the created product 3. Add the two pickings to a new batch, on the batch click the `Put in Pack` button and select the created package type 4. Observe that in the form, only one of the products from the batch transfer has been used to calculate the shipping weight **Cause of the issue:** In `shipping_weight`'s compute function in the `ChooseDeliveryPackage` wizard, we don't account for a batch package (like what is done in `action_put_in_pack()` defined on this wizard). Thus, one of the move lines in the batch is not used in the weight calculation. **Fix:** Look at the context to see if the user is packing a batch and if so, get all the involved move lines from it. opw-4077546 Forward-Port-Of: odoo/odoo#177952 Forward-Port-Of: odoo/odoo#177022
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in v
Original PR description
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In…
Stock quants are not meant to be duplicated. This commit ensures that it is not possible to copy such records. opw-4035690 (cherry picked from commit 044210f6c7c4e539b8ebd41082c737e8bc91fd4e) --- In PR https://github.com/odoo/odoo/pull/172376 it was decided to not completely forbid quant duplication due to potential third party modules that could potentially use this feature. However, we see an increment of customer with an incorrect quantity in past history, or a discrepancy in valuation and accounting because of this error. Unfortunately, it is incredibly easy to duplicate the quants by mistake, for example by miss-clicking when trying to export or update the inventory qty to 0 ...  Hence, even if it breaks some third party modules, it is imperative to prevent further quants duplication. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177796 Forward-Port-Of: odoo/odoo#177584
Changed the note on the attached_on field to properly note that the Inside quote option will include the document on the pdf of the quotation and sale order instead of just the quotation. Previously only said that it would be on the quote and caused confusion for customers when it would also show on the sale order. opw-4106894 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177681
Original PR description
Changed the note on the attached_on field to properly note that the Inside quote option will include the document on the pdf of the quotation and sale order instead of just the quotation. Previously only said that it would be on the quote and caused confusion for customers when it would also show on the sale order. opw-4106894 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#177681
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
Original PR description
Added start/stop/restart aliases to the IoT image to simplify the use of systemctl commands. Forward-Port-Of: odoo/odoo#177874
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Steps to reproduce:** 1) With a database in v16 onwards, install the account_check_printing module. 2) Go to "Accounting / Configuration / Accounting / Journals" and create a new journal bank with more than one outgoing payment with "Checks" Payment Method. 3
Original PR description
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment…
**Description of the issue/feature this PR addresses:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Steps to reproduce:** 1) With a database in v16 onwards, install the account_check_printing module. 2) Go to "Accounting / Configuration / Accounting / Journals" and create a new journal bank with more than one outgoing payment with "Checks" Payment Method. 3) Go to "Accounting / Vendor / Payments" and create a new payment with journal created on step 1 and "Checks" payment method and confirm. 4) Go to "Accounting" and on "Accounting dashboard" click on "Check to print" on Journal created on step 1 and then a bug with traceback is raised. **Current behavior before PR:** There is a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Desired behavior after PR is merged:** There is not a bug with traceback on accounting dashboard when is clicked "Checks to print" on bank journal with more than one outgoing payment with "Checks" Payment Method. **Video/Screenshot link:** https://drive.google.com/file/d/1r6A3uMkFv2nIDZ1HYJLgj6e18pNH1P67/view Ticket Adhoc side: 75606 Task latam: 1217 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168383
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new milestone with a cap. 5. Create a new allocation set its type to accrual then link it to our accrual plan. 6. Set the start date in the past so that the accrued days reach the cap. 7. Create a new leave in the past related to the allocation. 8. Check your balance for a future date in the Time
Original PR description
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new…
To reproduce the bug, follow these steps: 1. Create a new time off type. 2. Create a new accrual plan. 3. Set the "Accrued Gain Time" field to “At the start of the accrual period.” 4. Create a new milestone with a cap. 5. Create a new allocation set its type to accrual then link it to our accrual plan. 6. Set the start date in the past so that the accrued days reach the cap. 7. Create a new leave in the past related to the allocation. 8. Check your balance for a future date in the Time Off app. Normally, with accrual allocation, we should see the allocation increase. The problem here is that in the future, the allocation decreases. This issue arises due to the way the `leaves_taken` field is computed. https://github.com/odoo/odoo/blob/08a4b9d78addeefde24b189f0066540e0dcee4c4/addons/hr_holidays/models/hr_leave_allocation.py#L215-L220 The value is retrieved from a default dictionary, which is processed based on existing records in the database. When we attempt to fetch the value using a new instance that only exists in memory, the key returns the default value of 0. Additionally, if we modify step 7 to set the leave in the future, the accrual value caps out at a level below the intended maximum. In some cases, if the data-fetching function is called with the same parameters consecutively, we receive different outputs. These issues arise because the new record persists as a cache. When we retrieve a new record with the same origin as a previous call, we receive the previously processed data. This also leads to a problem with recursion in the function `_get_future_leaves_on`. This commit addresses and resolves these issues. opw-4040882 Forward-Port-Of: odoo/odoo#174354
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock move, and without a warehouse id, it was impossible to find a stock rule for it. Now, with the correct warehouse and stock rule, the stock move is added on the transfers. Testing steps: --------------------- - go to configuration > settings > enable Multi-step routes - go to configuration > wareho
Original PR description
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock…
Since the rule refactor, additional byproducts are not considered in the post production picking. The problem is when we add a new byproduct, the backend do not add the warehouse_id on the stock move, and without a warehouse id, it was impossible to find a stock rule for it. Now, with the correct warehouse and stock rule, the stock move is added on the transfers. Testing steps: --------------------- - go to configuration > settings > enable Multi-step routes - go to configuration > warehouses and enable either 2 or 3 step manufacture - go to configuration > enable byproducts - create a BOM with some components/byproducts - create a MO with the BOM above, confirm it. Now, we can see the 'transfers' button with 2 transfers, one by the components and another one for the final products and the byproducts. - add a new byproduct with some produced quantity. Problem: ------------- No picking for the new byproduct when clicking on the transfer button Expected behaviour: ------------------------------ The byproduct should be in the list task: 3982566 Forward-Port-Of: odoo/odoo#170280
During refactoring of hr_holidays for 17.0 (commit https://github.com/odoo/odoo/commit/8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a) a typo was introduced. Forward-Port-Of: odoo/odoo#177563
Original PR description
During refactoring of hr_holidays for 17.0 (commit https://github.com/odoo/odoo/commit/8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a) a typo was introduced. Forward-Port-Of: odoo/odoo#177563
Previously the code setting the default taxes on product was called only if the database was in demo, which makes zero sense. Without demo data, creating a new company and assigning it its accounting package was not configuring correctly the existing products with the default taxes. ticket 4037904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173803
Original PR description
Previously the code setting the default taxes on product was called only if the database was in demo, which makes zero sense. Without demo data, creating a new company and assigning it its accounting package was not configuring correctly the existing products with the default taxes. ticket 4037904 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#173803
Do a modification of the picking type reservation method will not remove the reservation date on stock.move. It could create issue on the reservation or the forecast report where the reservation date is used without doing a check on the picking type reservation method. Clean the data when we update the reservation method 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 an
Original PR description
Do a modification of the picking type reservation method will not remove the reservation date on stock.move. It could create issue on the reservation or the forecast report where the reservation date is used without doing a check on the picking type reservation method. Clean the data when we update the reservation method 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#170443 Forward-Port-Of: odoo/odoo#170341
Before this commit, recurrent events created with the 'All Day' option were duplicating the first event of the recurrence in Google side. This was happening because we wrongly synchronized the single event with Google before the synchronization of its recurrence (which already synchronize the events in Google side itself). After this commit, the recurrence is created normally using the 'All Day' option. We achieve that by skipping the useless synchronization we were doing in the single event:
Original PR description
Before this commit, recurrent events created with the 'All Day' option were duplicating the first event of the recurrence in Google side. This was happening because we wrongly synchronized the single event with Google before the synchronization of its recurrence (which already synchronize the events in Google side itself). After this commit, the recurrence is created normally using the 'All Day' option. We achieve that by skipping the useless synchronization we were doing in the single event: only the recurrence must be synchronized in this specific flow. task-3768121 Forward-Port-Of: odoo/odoo#177073 Forward-Port-Of: odoo/odoo#166885
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's
Original PR description
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select…
- Have an one2may or a many2many on a setting (with some data in them); - Edit/toggle any setting; - Click on an action button or navigate to another view; - On the "Unsaved changes" dialog, select "Discard". Before this commit, the `discard` function of the relational model, didn't take into account the initial commands, and replace the x2many with an empty list of commands. The issue is that the settings need to be saved (after discarding the changes) when leaving, throws an action's button. This is done, to create a res_id, that is most of the time mandatory to perform the action (see [1]) So if the `discard` function, empty the x2many, the setting will be modified, and the x2many will be emptied. Now, the `discard` function of the relational model take into account the x2many initial commands, therefore the x2many setting will stay unchanged. [1] : https://github.com/odoo/odoo/commit/9b81ddb993e4d56aba5aae637d160522d3af1d30 opw-4050990 opw-4092267 opw-4100926 Co-authored-by: Aaron Bohy <aab@odoo.com> Forward-Port-Of: odoo/odoo#178039 Forward-Port-Of: odoo/odoo#177883
5 changes
Enhancements to existing features
This update simplifies how the UrbanPiper point of sale integration identifies the current order. It reduces reliance on duplicate internal logic, helping keep order handling more consistent and easier to maintain.
Original PR description
Remove `selectedOrder` getter to use `get_order()` instead. taskId: 4141914
Resolved issues and error corrections
The Field Service sales tour has been corrected so users can create a product and return to the product list without encountering an error. This prevents interruptions during guided Field Service workflows and keeps the product selection flow stable.
Original PR description
This commit resolves an issue where a traceback occurs during the FSM tour. Steps to reproduce: 1. Start the FSM tour. 2. Create a new task. 3. Launch the timer on the task. 4. Click on the Products cart stat button. 5. Create a new product. 6. Use the breadcrumbs to navigate back to the product list. 7. Traceback occurs. Issue: Extra classes were being added unintentionally, causing the traceback. Solution: Remove the unnecessary classes to prevent the traceback. task-4140462
Miscellaneous changes
vat base and change exempt base to exports account. Forward-Port-Of: odoo/enterprise#66380 Forward-Port-Of: odoo/enterprise#66086
Original PR description
vat base and change exempt base to exports account. Forward-Port-Of: odoo/enterprise#66380 Forward-Port-Of: odoo/enterprise#66086
Have a partner in need of action with the followup level configured to Send an Email, with 'Automatic' enabled Case 1: - Send the followup manually - Reply to the follouwp mail - Message will be posted as log note but the system link the message with the previous one[1], where user is the author and will be automatically notified Case 2: - Wait for the cron to send followup automatically - Reply to the followup mail - Message will be posted as log note but since OdooBot is the author
Original PR description
Have a partner in need of action with the followup level configured to Send an Email, with 'Automatic' enabled Case 1: - Send the followup manually - Reply to the follouwp mail - Message will be posted as log note but the system link the message with the previous one[1], where user is the author and will be automatically notified Case 2: - Wait for the cron to send followup automatically - Reply to the followup mail - Message will be posted as log note but since OdooBot is the author of the previous message no user will receive any notification With this commit we make use of the followup responsible when sending followup email automatically before defaulting to OdooBot [1] https://github.com/odoo/odoo/blob/fe4b2a6d08a450b281e7ac0676afd51a88dd6008/addons/mail/models/mail_thread.py#L1182 opw-4000835 Forward-Port-Of: odoo/enterprise#67391
As the SO for subscription are updated every recurrence, it's hard to keep track of possible upselling opportunities. This change update the sale upselling opportunity for subscription to save more information regarding the opportunity and don't erase old activities to keep a better record of what has been deliverd/invoiced. task-id : 3323129 Forward-Port-Of: odoo/enterprise#63894
Original PR description
As the SO for subscription are updated every recurrence, it's hard to keep track of possible upselling opportunities. This change update the sale upselling opportunity for subscription to save more information regarding the opportunity and don't erase old activities to keep a better record of what has been deliverd/invoiced. task-id : 3323129 Forward-Port-Of: odoo/enterprise#63894