Monday, December 30, 2019
33 changes · master
Enhancements to existing features
Stock delay warnings are now shown directly in popovers instead of being posted as manual chatter messages, making schedule issues easier to see and act on. The change also extends the alert logic across stock, manufacturing, sales, and purchasing flows so teams can better identify moves that may cause delays.
Original PR description
Sale stock ========== Split the widget `qty_at_date_widget` so we can use it in other models/ MRP - Stock - Sale stock =================== Modify the alert system. Instead of writing exception in the chatter, we display a popover widget. Stock move ========= Add a field on `stock.move`, `delay_alert_date`. This field is False is the stock move will not be late, otherwise, this field contains the minimal date that the stock move should have. Task #1970595
Manufacturing planners get better visibility into work order schedules through popover details, working-hours context, and clearer work order names. The update also helps teams detect scheduling conflicts or delays and replan affected work orders when exceptions occur.
Original PR description
Ease work order planning visibility thanks to information popover and working hours visibility. Make it possible to replan WO's in exception.
The website CRM form editor wording has been reviewed and improved to make labels or guidance clearer for users. This helps website editors understand form options more easily and reduces confusion when configuring CRM forms.
Original PR description
Pad:https://pad.odoo.com/p/r.8ce0d17a6ed8033d55753c5bec4ec61f Task:https://www.odoo.com/web#id=2082970&action=327&model=project.task&view_type=form&menu_id=4720
The automated action configuration screens have been reorganized to make them easier to understand and use. This helps users set up automation, email, and SMS actions with clearer forms and less friction.
Original PR description
task : https://www.odoo.com/web#id=2082503&action=327&model=project.task&view_type=form&menu_id=4720 Pad link : https://pad.odoo.com/p/r.30015b26b76505fcbdf24f23372a1eb5 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Quotation templates now retain product name and description translations when products are copied into them. This helps sellers send quotes in a customer's language without losing translated product details, while still allowing manual edits when needed.
Original PR description
Before this PR, the name and description of a product were copied on a sale order template but not their translations. When the seller used the quotation template for a partner in another language, the descriptions were not translated. After this task, the translations are kept on the quotation template. The user can still override the descriptions in the template and manage the translations by himself. TaskID: 2055933 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail activity form layout was adjusted to use screen space more efficiently. Moving the default description and scheduled date out of the cramped left column makes the form easier to read and complete.
Original PR description
Before this task, the default description and the scheduled date were placed in the left column. A lot of space was lost. TaskID: 2119620 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Subscription management was refined to make renewals, alerts, stages, portal pages, reports, and dashboards clearer and more reliable. This helps sales teams track subscription status with better detail and avoids issues such as renewal end dates not updating or alert actions failing.
Original PR description
* UX improvements * End date was not updated when subscription was renewed. * Improved granularity of subscription stage: add categories. TaskID: 2119620
Manufacturing managers can now better understand work order schedules through clearer planning details, working-hours visibility, and maintenance-related unavailability in the planning view. This helps teams spot scheduling conflicts sooner and replan work orders that are in exception, reducing production disruption.
Original PR description
Ease work order planning visibility thanks to information popover and working hours visibility. Make it possible to replan WO's in exception.
Resolved issues and error corrections
This update removes an unnecessary waiting time from an automated website blog test. It does not change how customers use the blog, but helps the team run checks a little faster and keep development feedback efficient.
Original PR description
The delay was added by https://github.com/odoo/odoo/commit/f16f2e212a30352ead86c2f876be02b5c5e23b07 for no apparent or explained reason. Removing it does not seem to break the test so...
Miscellaneous changes
missing bit from rev[0] [0] 7ef11e3c96893dffc1bad93917c6955a38ac6002 Forward-Port-Of: odoo/odoo#42507 Forward-Port-Of: odoo/odoo#42491
Original PR description
missing bit from rev[0] [0] 7ef11e3c96893dffc1bad93917c6955a38ac6002 Forward-Port-Of: odoo/odoo#42507 Forward-Port-Of: odoo/odoo#42491
This update fixes how Odoo filters selectable records in inventory, purchasing, manufacturing, and subcontracting workflows. It replaces fragile screen-triggered filtering with more stable rules, helping users see the right options consistently when creating or changing related operations.
Original PR description
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
Fixed an issue where using the browser back button from detailed Revenue KPI reports could cause an error screen. This helps users navigate subscription dashboard reports more reliably without interruptions.
Original PR description
When user tries to use the back button from any Revenue KPI reports (detailed KPI), a traceback occurs. This commit prevent it by preventing to push a new state. TaskID: 2121160
This fixes how certain manufacturing, maintenance, quality, and barcode inventory fields limit selectable records. The change helps keep forms more reliable and consistent when users update related information.
Pad:https://pad.odoo.com/p/r.8ce0d17a6ed8033d55753c5bec4ec61f Task:https://www.odoo.com/web#id=2082970&action=327&model=project.task&view_type=form&menu_id=4720 Forward-Port-Of: odoo/odoo#42479 Forward-Port-Of: odoo/odoo#39944
Original PR description
Pad:https://pad.odoo.com/p/r.8ce0d17a6ed8033d55753c5bec4ec61f Task:https://www.odoo.com/web#id=2082970&action=327&model=project.task&view_type=form&menu_id=4720 Forward-Port-Of: odoo/odoo#42479 Forward-Port-Of: odoo/odoo#39944
Without this, it will crash since self.env does not exists in a controller. Using request will still crash later since `check_followers` does not exists. Introduced with 957c99abd53b42fa82903ad7ad03300797a706cf Found while working on task-2152191 Forward-Port-Of: odoo/odoo#42487
Original PR description
Without this, it will crash since self.env does not exists in a controller. Using request will still crash later since `check_followers` does not exists. Introduced with 957c99abd53b42fa82903ad7ad03300797a706cf Found while working on task-2152191 Forward-Port-Of: odoo/odoo#42487
Hardcode some existing colors (but make them hidden in the colorpicker) so they can be removed from snippets when selecting another color. Normally, the chosable colors do not contain them, which prevents them to be removed. For example, normally, the 'alpha' and 'beta' color (which are the same as primary and secondary) are displayed instead of their duplicates... but not for all themes. This commit was mainly about the addition of 'success', 'info', 'warning' and 'danger' colors to th
Original PR description
Hardcode some existing colors (but make them hidden in the colorpicker) so they can be removed from snippets when selecting another color. Normally, the chosable colors do not contain them, which prevents them to be removed. For example, normally, the 'alpha' and 'beta' color (which are the same as primary and secondary) are displayed instead of their duplicates... but not for all themes. This commit was mainly about the addition of 'success', 'info', 'warning' and 'danger' colors to the list (as we do not give the possibility to select them through the editor but they might still be used by snippets or in old databases). This also solves a bug for upcoming features in master. This commit also makes the excluded sections of the colorpicker hidden instead of removed for the same reason. In preparation of task-2152191 and others. Forward-Port-Of: odoo/odoo#42475 Forward-Port-Of: odoo/odoo#42405
recordset was passed into a value dict instead of integer in the method `_convert_to_base_model` of the `theme.website.menu` -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#34828
Original PR description
recordset was passed into a value dict instead of integer in the method `_convert_to_base_model` of the `theme.website.menu` -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#34828
Steps to reproduce: -install projects -go to projects > configuration > check the sub-tasks option -create a project with a sub-task and add an activity on the sub-task Previous behavior: attempting to mark an activity as done directly from the chatter will raise an error similar to "Records does not exist or has been deleted (Record: mail.message (x), User: y)" Current behavior: activity can be marked as done trough the feedback button opw-2126704 Forward-Port-Of: odoo/odoo#421
Original PR description
Steps to reproduce: -install projects -go to projects > configuration > check the sub-tasks option -create a project with a sub-task and add an activity on the sub-task Previous behavior: attempting to mark an activity as done directly from the chatter will raise an error similar to "Records does not exist or has been deleted (Record: mail.message (x), User: y)" Current behavior: activity can be marked as done trough the feedback button opw-2126704 Forward-Port-Of: odoo/odoo#42131
This is a changement succeeding 13.0 1c5d54b8, in that commit the issue was solved but only in the case of en_US base language of translation which can not be the case on a website. opw-2153422 Forward-Port-Of: odoo/odoo#42426 Forward-Port-Of: odoo/odoo#42269
Original PR description
This is a changement succeeding 13.0 1c5d54b8, in that commit the issue was solved but only in the case of en_US base language of translation which can not be the case on a website. opw-2153422 Forward-Port-Of: odoo/odoo#42426 Forward-Port-Of: odoo/odoo#42269
Steps to recreate - 1) Create MTO + Manufacture Product -> Bottle 2) Create MTO + Buy -> Plastic Mold Create the SO for Bottle, then it will create a MO which will generate a PO for Plastic Mold. Now cancel MO and then PO, after cancelling PO, MO will be regenerated and will become in 'confirmed' state. Task-2157543 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the C
Original PR description
Steps to recreate - 1) Create MTO + Manufacture Product -> Bottle 2) Create MTO + Buy -> Plastic Mold Create the SO for Bottle, then it will create a MO which will generate a PO for Plastic Mold. Now cancel MO and then PO, after cancelling PO, MO will be regenerated and will become in 'confirmed' state. Task-2157543 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#42285
Steps to reproduce: - Create a default value = 'by_volume' for the field Split method on model stock.landed.cost.lines - Create a landed cost and add a line Bug: The default value was always 'equal'. opw:2161334 Forward-Port-Of: odoo/odoo#42399
Original PR description
Steps to reproduce: - Create a default value = 'by_volume' for the field Split method on model stock.landed.cost.lines - Create a landed cost and add a line Bug: The default value was always 'equal'. opw:2161334 Forward-Port-Of: odoo/odoo#42399
In this - 1) Modified the label of the accounting entries which take place when receiving/delivering/producing with products in automated inventory valuation so that it includes information about the source document (MO/Transfer) and the the product about which the entry is. like - (WH/MO/0001 - Finished product) 2) Hide the Valuation stat button shown on transfer while not in debug mode. 3) on landed costs, if no valuation layer created, don't display the button. 4) default groupb
Original PR description
In this - 1) Modified the label of the accounting entries which take place when receiving/delivering/producing with products in automated inventory valuation so that it includes information about the source document (MO/Transfer) and the the product about which the entry is. like - (WH/MO/0001 - Finished product) 2) Hide the Valuation stat button shown on transfer while not in debug mode. 3) on landed costs, if no valuation layer created, don't display the button. 4) default groupby is missing on the main valuation report. Task-2153155 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#42014
Forward-Port-Of: odoo/odoo#42419
Original PR description
Forward-Port-Of: odoo/odoo#42419
Running the vacuum in avco indeed fixed the estimated value on the delivery but it did not update the standard price afterwards, making it possible to have an inconsistent standard price with the actual value in stock, as described in [0] and in the task [1]. A test was added (and validated) in the layers test file and an two old one were fixed. test_average_perpetual_2 displayed also a different missing bit: the vacuum should run when the user unlock and increments a receipt. [0] ht
Original PR description
Running the vacuum in avco indeed fixed the estimated value on the delivery but it did not update the standard price afterwards, making it possible to have an inconsistent standard price with the actual value in stock, as described in [0] and in the task [1]. A test was added (and validated) in the layers test file and an two old one were fixed. test_average_perpetual_2 displayed also a different missing bit: the vacuum should run when the user unlock and increments a receipt. [0] https://github.com/odoo/odoo/pull/41669 [1] 2154638 Forward-Port-Of: odoo/odoo#42281 Forward-Port-Of: odoo/odoo#41766
Usecase to reproduce: - Set receipt steps to input, QC on warehouse - Add a delay to 3 weeks on the sellers. - Set the MPS per week replenishment. - Add replenish quantities in the first 3 columns. - Run the global replenish button. > Only one PO is created for the whole replenish quantity. The expected result is 3 PO for each week with their respective quantity. It happens due to skip_lead time values in procurements that is not propagated through move and _run_pull(e.g. propagate_
Original PR description
Usecase to reproduce: - Set receipt steps to input, QC on warehouse - Add a delay to 3 weeks on the sellers. - Set the MPS per week replenishment. - Add replenish quantities in the first 3 columns. - Run the global replenish button. > Only one PO is created for the whole replenish quantity. The expected result is 3 PO for each week with their respective quantity. It happens due to skip_lead time values in procurements that is not propagated through move and _run_pull(e.g. propagate_cancel). Pass it as a context instead of a procurement value. Forward-Port-Of: odoo/enterprise#7457
Issue - Install planning - Go to gantt view No year button but when can set default scale to year in studio Cause Year is not present in planning_views.xml scales attribute Solution Adding it OPW-2158788 Forward-Port-Of: odoo/enterprise#7459 Forward-Port-Of: odoo/enterprise#7458
Original PR description
Issue
- Install planning
- Go to gantt view
No year button but when can set default scale to year in studio
Cause
Year is not present in planning_views.xml scales attribute
Solution
Adding it
OPW-2158788
Forward-Port-Of: odoo/enterprise#7459
Forward-Port-Of: odoo/enterprise#7458Issue - Connect both Facebook and Linkedin to the social media app (through Configuration > Social media) - Schedule a post in the future for both Facebook and Linkedin - Make sure the social media token for Facebook is expired or that you change the password for Facebook. - Wait for the scheduled post to be handled by the social media app. The global label on social.post kanban shows Posted even if one of the live posts failed. Cause The
Original PR description
Issue
- Connect both Facebook and Linkedin to the social media app
(through Configuration > Social media)
- Schedule a post in the future for both Facebook and Linkedin
- Make sure the social media token for Facebook is expired or that
you change the password for Facebook.
- Wait for the scheduled post to be handled by the social media app.
The global label on social.post kanban shows Posted even if
one of the live posts failed.
Cause
There is already a red border but visually impaired people
can't see it.
Solution
Add an extra "failed" label when one of the live posts failed.
Fine-tuning of 45dfd1b51f
OPW-2161231
Forward-Port-Of: odoo/enterprise#7455- Create an invoice with total = 0, validate - Open the Reconciliation widget The invoice appears as a suggestion, although there is no reason to reconcile it. We remove the AMLs with a balance of zero from the reconciliation propositions and from the remaining proposition. Complement of 219a062ecf786991b9c12ee63bd which targets the Statement Reconciliation widget. opw-2125957 Forward-Port-Of: odoo/enterprise#7431
Original PR description
- Create an invoice with total = 0, validate - Open the Reconciliation widget The invoice appears as a suggestion, although there is no reason to reconcile it. We remove the AMLs with a balance of zero from the reconciliation propositions and from the remaining proposition. Complement of 219a062ecf786991b9c12ee63bd which targets the Statement Reconciliation widget. opw-2125957 Forward-Port-Of: odoo/enterprise#7431
Steps to reproduce: -install subscriptions -go to subscriptions > reporting > subscriptions -search for a subscription by its code (ex: SUB001) Previous behavior: the search produces an error "ValueError: Invalid field 'code' in leaf "<osv.ExtendedLeaf: ('code', 'ilike', 'sub') on sale_subscription_report" Current behavior: the search by name and by code are split and don't spawn any error opw-2158202 Forward-Port-Of: odoo/enterprise#7334
Original PR description
Steps to reproduce:
-install subscriptions
-go to subscriptions > reporting > subscriptions
-search for a subscription by its code (ex: SUB001)
Previous behavior:
the search produces an error
"ValueError: Invalid field 'code' in leaf "<osv.ExtendedLeaf: ('code', 'ilike', 'sub') on sale_subscription_report"
Current behavior:
the search by name and by code are split and don't spawn any error
opw-2158202
Forward-Port-Of: odoo/enterprise#7334Steps to reproduce: -install inventory, contacts, ups_delivery -go to inventory > configuration > shipping methods and setup your ups connector -go to contacts > pick a contact and give it a long enough first line address (> 35 chars) -go to inventory > delivery orders > create one with the right contact Previous behavior: trying to send a package with a contact having more that 35 character as an address raises an error Current behavior: user gets a warning if addresses are too l
Original PR description
Steps to reproduce: -install inventory, contacts, ups_delivery -go to inventory > configuration > shipping methods and setup your ups connector -go to contacts > pick a contact and give it a long enough first line address (> 35 chars) -go to inventory > delivery orders > create one with the right contact Previous behavior: trying to send a package with a contact having more that 35 character as an address raises an error Current behavior: user gets a warning if addresses are too long for the ups connector opw-2155828 Forward-Port-Of: odoo/enterprise#7409 Forward-Port-Of: odoo/enterprise#7340
Bug 1 ===== If you want to add a child activity to the last activity, when you hover "Add child activity" nothing happen That's because the canvas is above the ``<div>Add child activity</div>`` **Fix**: Just add a CSS property "overflow: hidden;" Bug 2 ===== We cannot delete activity with children **Fix**: In HierarchyKanban, in the method ``_setValue``, if the operation is "DELETE", we recursively delete the childs of the current record Task #2088158 Forward-Port-Of: odoo/enterpri
Original PR description
Bug 1 ===== If you want to add a child activity to the last activity, when you hover "Add child activity" nothing happen That's because the canvas is above the ``<div>Add child activity</div>`` **Fix**: Just add a CSS property "overflow: hidden;" Bug 2 ===== We cannot delete activity with children **Fix**: In HierarchyKanban, in the method ``_setValue``, if the operation is "DELETE", we recursively delete the childs of the current record Task #2088158 Forward-Port-Of: odoo/enterprise#7410 Forward-Port-Of: odoo/enterprise#6807
Issue - Connect both Facebook and Linkedin to the social media app (through Configuration > Social media) - Schedule a post in the future for both Facebook and Linkedin - Make sure the social media token for Facebook is expired or that you change the password for Facebook. - Wait for the scheduled post to be handled by the social media app. 1. The detail screen of the post shows that the Facebook post "Failed" with an ugly formatted error messag
Original PR description
Issue
- Connect both Facebook and Linkedin to the social media app
(through Configuration > Social media)
- Schedule a post in the future for both Facebook and Linkedin
- Make sure the social media token for Facebook is expired or that
you change the password for Facebook.
- Wait for the scheduled post to be handled by the social media app.
1. The detail screen of the post shows that the Facebook post
"Failed" with an ugly formatted error message.
2. When clicking on retry, the chatter says "Message posted".
Cause
1. We are outputting the raw json data
2. The chatter doesn't handle the case where messages have failed
Solution
1. Extract the error message from the json
2. Show a list of failed messages in the chatter
closes 42274
OPW-2161231
Forward-Port-Of: odoo/enterprise#7444Issue - Sales > Reporting > Sales - Open the dropdown The dropdown menu is clipped. Cause In 0a2a99d89, we added an overflow without taking dropdowns into account. The overflow fix the graph width when resizing the window. Solution Replace the overflow by max-width to fix both issues. OPW-2160673 Forward-Port-Of: odoo/enterprise#7439
Original PR description
Issue
- Sales > Reporting > Sales
- Open the dropdown
The dropdown menu is clipped.
Cause
In 0a2a99d89, we added an overflow without taking dropdowns into
account. The overflow fix the graph width when resizing the window.
Solution
Replace the overflow by max-width to fix both issues.
OPW-2160673
Forward-Port-Of: odoo/enterprise#7439