Friday, January 21, 2022
30 changes · master
Enhancements to existing features
This update improves manufacturing workflows by making unbuilds easier to find, warning users about expired lot or serial numbers, and allowing more flexible work order time tracking. It also improves the consistency of manufacturing and stock movement data, reducing hidden errors when orders are copied, backordered, or manually adjusted.
Original PR description
Task: 2667151 This PR has 3 goals. --- The 1st is for UX improvements to the mrp UX: 1 - Add "Unbuild" filter to MOs (1 or more 'Done' unbuilds) + added Unbuilds smart button to MO form view 2 - When…
Task: 2667151
This PR has 3 goals.
---
The 1st is for UX improvements to the mrp UX:
1 - Add "Unbuild" filter to MOs (1 or more 'Done' unbuilds) + added
Unbuilds smart button to MO form view
2 - When copying an operation across BoMs, it is annoying that it adds
"Copy" to the end of the name, so we remove that.
3 - Display a warning when using an expired Lot/SN in detailed operations
view (burger window + tab).
4 - Allow adding/removing WO Real Duration + add/remove/edit specific time
time tracking (time_ids) for Done, Unlocked MOs.
5 - Allow search WOs by product to manufacture
7 - Fix validation error message typo
Parts 1-5 and 7 of Task: 2667151
---
The 2nd goal is to enforce consistency for MO's move values:
Due to many move values being set only during an onchange, there were
inconsistencies with the values of the products to manufacture and the
MO's components in the following cases:
- when a MO has manually added components/byproducts (i.e. not from a
BoM or a MO with no BoM) = missing values
- a MO is copied = incorrect values copied
- a backorder is made = backorders' moves contained new "-00#" name, but
original "-001" MO did not update all corresponding values to new name
There were also a couple of default values for manually added moves that
were either incorrect or not correctly saving.
Most of these inconsistencies are not visible to the user unless they do
a data export or are playing close attention (e.g. copying an MTO
triggered MO will copy the date_deadline, and this value cannot be
edited by the user.)
Part 6 of Task: 2667151
---
The 3rd goal is to fix `_set_duration` for WOs (i.e. manually update the Real Duration):
There were some discrepencies when adding to/removing from WO Real
Duration:
- When adding time that is brings the total Duration over the expected
duration, the time should be split between the "productive" and
"performance" (i.e. reduced speed) times. This is already happening
when using start/pause buttons, so now it is consistent.
- Use 'id' instead of "Start Date" to determine which time_ids
to reduce/remove since adding a large enough "real duration" value
compared to previous time_id(s) could result in an earlier "Start
Date" for a newer time_id (i.e. results in which one is adjusted/
deleted = confusing). Using "End Date" was considered, but same
non-sequential issue can occur during time split from point above.
- Correctly determine if the "productivity" should be 'productive' or
not (i.e. 'performance') based on total WO duration (not duration
of newly added time_id)
Refinement of Part 4 of Task: 2667151
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prSearch results in the command palette now visually highlight the part of each command name that matches what the user typed. This makes it faster for users to scan results and choose the right action, improving navigation efficiency across the web interface.
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
The SMS mailing setup screen now shows useful settings instead of an empty settings tab. Responsible user and opt-out link options are grouped clearly, while email content settings only appear for email marketing.
Original PR description
PURPOSE While creating a new SMS mailing, The settings tab should have Responsible' and 'Include opt-out link' fields. SPECIFICATIONS While creating a new SMS mailing, There is an empty settings tab. With this Commit, - We have added a new 'User' group and set the 'Responsible' and "Include opt-out link" fields inside this group. - Show Email Content only while creating Email Marketing PR #82196 Task-2710557 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users now get immediate confirmation when certain paid Odoo services complete successfully, such as batch SMS, snail mail letters, and lead enrichment. If there are not enough credits, Odoo shows a clear warning with a link to buy credits, helping users resolve the issue without confusion.
Original PR description
…ap system The purpose of this task is to use the system we currently have for partner autocomplete and to generalize it to our other IAP services. This would be perfect for actions in list views…
…ap system The purpose of this task is to use the system we currently have for partner autocomplete and to generalize it to our other IAP services. This would be perfect for actions in list views (e.g. Send for Digitalization for the OCR or Enrich in CRM) so that the user gets immediate feedback on what he's just done. In this commit, we improve the iap notification for the below views -> we display a toast in green when the request was successfully completed (and the user has enough credits). - when an SMS is sent in batch from the list view - when a letter is sent in batch from the list view - when leads are enriched in batch from the list view -> we display a toast in orange when the user doesn't have enough credits with a corresponding 'buy credits' link to the service. - when an SMS is sent in batch from the list view - when a letter is sent in batch from the list view - when leads are enriched in batch from the list view or when clicking on 'enrich' from the form view - when creating a new lead mining request LINKS PR: #66977 Task-Id:2185306 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
Users now receive clearer immediate notifications when sending invoices or expenses for OCR digitization from list views. This makes the action outcome easier to understand and reduces uncertainty after using IAP-powered document processing.
Original PR description
…p system The purpose of this task is to use the system we currently have for partner autocomplete and to generalize it to our other IAP services. This would be perfect for actions in list views (e.g. Send for Digitalization for the OCR or Enrich in CRM) so that the user gets immediate feedback on what he's just done. In this commit, we improve the iap notification for the OCR in the list view. LINKS PR: #16736 Task-Id:2185306
Field Service users now see a warning when marking a task as done while related timers are still running. This prevents timers from being stopped silently and lets users either confirm the action or cancel to review ongoing work.
Original PR description
Prior to this commit:
- Running timers of timesheets attached to an FSM task that is in the
process of being marked as done are silently stopped.
After this commit:
- A warning will be displayed when clicking on the Mark as Done button
of an FSM task when there are still running timers on the task's
attached timesheet. The user will be able to either continue and
stop the running timers, or cancel.
task-2677386Old inactive spreadsheet revision records are now automatically removed after 60 days by the scheduled cleanup process. This helps reduce unnecessary stored data and keeps document spreadsheet history manageable without manual intervention.
Original PR description
With this commit, all the revisions which are inactive and older than 60 days (can be adjusted by the ir.config.parameter `documents_spreadsheets.revisions_limit_days`) are removed by the autovaccum cron. Task-id 2713172
Miscellaneous changes
Description of the issue/feature this PR addresses: When user tries to print a receipt from a small device, sometimes receipt is cropped on the right side. This happens because unlike height, receipt width is not calculated, instead it is equal to the width of the receipt div. Desired behavior after PR is merged: the width of the receipt is equal to the outer width of the receipt instead of div, and the receipts are not cropped anymore. OPW-2721030 -- I confirm I have signed the
Original PR description
Description of the issue/feature this PR addresses: When user tries to print a receipt from a small device, sometimes receipt is cropped on the right side. This happens because unlike height, receipt width is not calculated, instead it is equal to the width of the receipt div. Desired behavior after PR is merged: the width of the receipt is equal to the outer width of the receipt instead of div, and the receipts are not cropped anymore. OPW-2721030 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83081
[ADD]: l10n_se: Add K3 BS and PnL reports menu items, tags, and accounts As there are currently no menu for the implementation of Sweden localisation Balance sheet and Profit and Loss reports. Links for those forms are added here. Are also added a K2 complete COA implementation and a complete child COA that is BAS compliant. Tags for more account controls on reports were also added. Task: task-2674123 Description of the issue/feature this PR addresses: Sweden localization for
Original PR description
[ADD]: l10n_se: Add K3 BS and PnL reports menu items, tags, and accounts As there are currently no menu for the implementation of Sweden localisation Balance sheet and Profit and Loss reports. Links for those forms are added here. Are also added a K2 complete COA implementation and a complete child COA that is BAS compliant. Tags for more account controls on reports were also added. Task: task-2674123 Description of the issue/feature this PR addresses: Sweden localization for accounting Current behavior before PR: No Access to the Sweden Report Documents Desired behavior after PR is merged: Access to the Sweden Report Documents -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#80223
This PR removes a `only` in web_editor tests that prevented the actual test suite to be ran. It also reverts one commit that actually broke the test suite but wasn't properly tested because of the aforementioned mistake. A proper fix for the issue that it was supposed to fix will be merged later. Forward-Port-Of: odoo/odoo#83112 Forward-Port-Of: odoo/odoo#83086
Original PR description
This PR removes a `only` in web_editor tests that prevented the actual test suite to be ran. It also reverts one commit that actually broke the test suite but wasn't properly tested because of the aforementioned mistake. A proper fix for the issue that it was supposed to fix will be merged later. Forward-Port-Of: odoo/odoo#83112 Forward-Port-Of: odoo/odoo#83086
This pull request adds the tax report (Relatório de IVA) for Portugal Based on 1) https://app.pt.sageone.com/facturacao/reporting/reports/vat_report 2) 'mapas do IVA': https://www.moloni.pt/suporte/index.php?action=getFaqDetail&id=387 https://www.moloni.pt/suporte/que-tipos-de-consultas-e-possivel-realizar-no-moloni task-2674543 Forward-Port-Of: odoo/odoo#80916
Original PR description
This pull request adds the tax report (Relatório de IVA) for Portugal Based on 1) https://app.pt.sageone.com/facturacao/reporting/reports/vat_report 2) 'mapas do IVA': https://www.moloni.pt/suporte/index.php?action=getFaqDetail&id=387 https://www.moloni.pt/suporte/que-tipos-de-consultas-e-possivel-realizar-no-moloni task-2674543 Forward-Port-Of: odoo/odoo#80916
This PR adds the taxes values for the Portuguese islands (Madeira and Açores). The values are taken from https://www.economias.pt/valor-do-iva-em-portugal However the link is not up to date as the normal tax of the Açores has been modified on the 1st July 2021 as mentioned https://portal.azores.gov.pt/web/comunicacao/news-detail?id=3829054 task-2674543 Forward-Port-Of: odoo/odoo#82055
Original PR description
This PR adds the taxes values for the Portuguese islands (Madeira and Açores). The values are taken from https://www.economias.pt/valor-do-iva-em-portugal However the link is not up to date as the normal tax of the Açores has been modified on the 1st July 2021 as mentioned https://portal.azores.gov.pt/web/comunicacao/news-detail?id=3829054 task-2674543 Forward-Port-Of: odoo/odoo#82055
It was not possible to set a different value via the field datas Add tests Forward-Port-Of: odoo/odoo#83134 Forward-Port-Of: odoo/odoo#83084
Original PR description
It was not possible to set a different value via the field datas Add tests Forward-Port-Of: odoo/odoo#83134 Forward-Port-Of: odoo/odoo#83084
Both of the native `magic` libraries can trigger an allocation error if the buffer being sniffed is large. This results in nothing useful for the user and just triggers and exception when trying to create large attachments (in the hundreds of MBs). Fix by implementing the workaround suggested in ahupp/python-magic#82, under the assumption that it should also work fine for Debian's python-magic. The pure-python trivial version of odoo should not have this issue, as it does not normall
Original PR description
Both of the native `magic` libraries can trigger an allocation error if the buffer being sniffed is large. This results in nothing useful for the user and just triggers and exception when trying to create large attachments (in the hundreds of MBs). Fix by implementing the workaround suggested in ahupp/python-magic#82, under the assumption that it should also work fine for Debian's python-magic. The pure-python trivial version of odoo should not have this issue, as it does not normally copy the source buffer in full, it just seeks and slices the buffer, and occasionally parses it as a zip (but does not normally load everything in memory). Task-2722110 Forward-Port-Of: odoo/odoo#83072 Forward-Port-Of: odoo/odoo#82791
On opening field html with the inline styles option we were parsing all the css in the page. This should only be needed when we save. This commit moves the call to `getCSSRules`back to `commitChanges`. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83074
Original PR description
On opening field html with the inline styles option we were parsing all the css in the page. This should only be needed when we save. This commit moves the call to `getCSSRules`back to `commitChanges`. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83074
The text_block snippet has the option to add columns in website but not in mass_mailing. This is a clear oversight that is hereby addressed. task-2737896 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83093
Original PR description
The text_block snippet has the option to add columns in website but not in mass_mailing. This is a clear oversight that is hereby addressed. task-2737896 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83093
Attachments of the chatter didn't update when a log with an attachment was deleted Steps to reproduce: 1. Install Sales app 2. Open any sale 3. Create a log note with an image attached 4. Delete the log note 5. The image is still in the sale's chatter attachments Solution: Check if attachments were deleted when updating the log and remove them from the chatter attachments OPW-2732793 Forward-Port-Of: odoo/odoo#83182 Forward-Port-Of: odoo/odoo#82987
Original PR description
Attachments of the chatter didn't update when a log with an attachment was deleted Steps to reproduce: 1. Install Sales app 2. Open any sale 3. Create a log note with an image attached 4. Delete the log note 5. The image is still in the sale's chatter attachments Solution: Check if attachments were deleted when updating the log and remove them from the chatter attachments OPW-2732793 Forward-Port-Of: odoo/odoo#83182 Forward-Port-Of: odoo/odoo#82987
Task-2733132 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82585
Original PR description
Task-2733132 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#82585
Before this commit, the implementation of Buckaroo's method for computing the signature of a dataset was upper-casing data keys before sorting them, in order for the sort to be done in a case-insensitive manner. The issue is that, as `ord('A') < ord('_') < ord('a')`, two keys could be incorrectly swapped if they shared the same prefix and one of the two contained an underscore. For example, `brq_transactions` would be appended to the signing string before `brq_transaction_type` whereas, i
Original PR description
Before this commit, the implementation of Buckaroo's method for
computing the signature of a dataset was upper-casing data keys before
sorting them, in order for the sort to be done in a case-insensitive
manner. The issue is that, as `ord('A') < ord('_') < ord('a')`, two keys
could be incorrectly swapped if they shared the same prefix and one of
the two contained an underscore. For example, `brq_transactions` would
be appended to the signing string before `brq_transaction_type` whereas,
if the sort was based on the upper-case keys, the second would be
appended before the first.
This commit changes the computation of the signature to rely on the
lower-case keys rather than upper-case keys in order to use the same
method as Buckaroo when they compute the signature on their end.
Forward-Port-Of: odoo/odoo#83178Commit [1] moved the scrollbar from the document body to the top element (#wrapwrap). This works for website builder but fails for iframes which don't have that element. This is apparent in Marketing Automation mail templates where it's become impossible to scroll down. This fixes that issue by unsetting the overflow in the iframe. task-2734825 [1] https://github.com/odoo/odoo/commit/9f048625e11dacda9fd49694e89ae65bc112374f -- I confirm I have signed the CLA and read the PR guidelines
Original PR description
Commit [1] moved the scrollbar from the document body to the top element (#wrapwrap). This works for website builder but fails for iframes which don't have that element. This is apparent in Marketing Automation mail templates where it's become impossible to scroll down. This fixes that issue by unsetting the overflow in the iframe. task-2734825 [1] https://github.com/odoo/odoo/commit/9f048625e11dacda9fd49694e89ae65bc112374f -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83088
Steps to reproduce the bug: - Log in as Admin - Go to POS and open a session - Select a customer for the order and complete the order - Close the POS session - Go to the associated customer to view their contact record - Click the smart button for "Orders" > Admin can see POS orders for customer - Log out, then log in as Demo - Go to the contact and click the smart button for "Orders” Problem: An access error was raised: `You are not allowed to access 'Action Window' (ir.actions.act
Original PR description
Steps to reproduce the bug: - Log in as Admin - Go to POS and open a session - Select a customer for the order and complete the order - Close the POS session - Go to the associated customer to view their contact record - Click the smart button for "Orders" > Admin can see POS orders for customer - Log out, then log in as Demo - Go to the contact and click the smart button for "Orders” Problem: An access error was raised: `You are not allowed to access 'Action Window' (ir.actions.act_window) records.` Only people in group Administration/Settings could read `action_pos_pos_form` Solution: To avoid this error, we should use `_for_xml_id`. opw-2734462 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#83186
This reverts commit 0c957e36ae18165793056674a81a864a2453f0d7. The initial behavior was actually the desired one. And what the customer thought was a bug, was actually the correct behavior. It allows to create a single asset model and use it for multiple Fixed Asset Accounts. Forward-Port-Of: odoo/enterprise#23427
Original PR description
This reverts commit 0c957e36ae18165793056674a81a864a2453f0d7. The initial behavior was actually the desired one. And what the customer thought was a bug, was actually the correct behavior. It allows to create a single asset model and use it for multiple Fixed Asset Accounts. Forward-Port-Of: odoo/enterprise#23427
before this commit, the default value was preventing any other case in the computed method. So the default value was always the only possible value for automatic invoicing Now the compute method fallback on the previous default value when no other value is found. For automatic invoicing the payment method can come from the journal Forward-Port-Of: odoo/enterprise#23634
Original PR description
before this commit, the default value was preventing any other case in the computed method. So the default value was always the only possible value for automatic invoicing Now the compute method fallback on the previous default value when no other value is found. For automatic invoicing the payment method can come from the journal Forward-Port-Of: odoo/enterprise#23634
Forward-Port-Of: odoo/enterprise#23559
Original PR description
Forward-Port-Of: odoo/enterprise#23559
Forward-Port-Of: odoo/enterprise#23642
Original PR description
Forward-Port-Of: odoo/enterprise#23642
Merging account moves didn't recompute the amounts Steps to reproduce: 1. Install Data Cleaning and Invoicing apps 2. Go to Settings -> Technical -> Database Structure -> Models and enable merge for model 'account.move' 3. Create and save two invoices 4. Go to the list view of the invoices and select the two just created 5. Select the action 'Merge', finalize and confirm 6. The amounts of the merged invoice are not correct Solution: Before recomputing the destination record, invalid
Original PR description
Merging account moves didn't recompute the amounts Steps to reproduce: 1. Install Data Cleaning and Invoicing apps 2. Go to Settings -> Technical -> Database Structure -> Models and enable merge for model 'account.move' 3. Create and save two invoices 4. Go to the list view of the invoices and select the two just created 5. Select the action 'Merge', finalize and confirm 6. The amounts of the merged invoice are not correct Solution: Before recomputing the destination record, invalidate the computed and stored fields so they will be recomputed OPW-2727730 Forward-Port-Of: odoo/enterprise#23581
Forward-Port-Of: odoo/enterprise#23602
Original PR description
Forward-Port-Of: odoo/enterprise#23602
### [ADD]: l10n_se_reports: K3 balance reports and profit and loss reports As there are currently no reporting for balance sheets and profit and loss for sweden, the K3 balance sheet and profit and loss forms are added using an existing PR as a base. Task: task-2674123 Signed-off-by: Julien Alardot (jual) <jual@odoo.com> Current behavior before PR: No Report Documents for Sweden accounting Desired behavior after PR is merged: Sweden accounting reports implemented Forward-Port-O
Original PR description
### [ADD]: l10n_se_reports: K3 balance reports and profit and loss reports As there are currently no reporting for balance sheets and profit and loss for sweden, the K3 balance sheet and profit and loss forms are added using an existing PR as a base. Task: task-2674123 Signed-off-by: Julien Alardot (jual) <jual@odoo.com> Current behavior before PR: No Report Documents for Sweden accounting Desired behavior after PR is merged: Sweden accounting reports implemented Forward-Port-Of: odoo/enterprise#22467
…ulation Forward-Port-Of: odoo/enterprise#23606
Original PR description
…ulation Forward-Port-Of: odoo/enterprise#23606
Previously, if the account token was empty, the generic "An error occurred" message appeared. It was a bit confusing, so a specific error message now exists. Forward-Port-Of: odoo/enterprise#23630 Forward-Port-Of: odoo/enterprise#23614
Original PR description
Previously, if the account token was empty, the generic "An error occurred" message appeared. It was a bit confusing, so a specific error message now exists. Forward-Port-Of: odoo/enterprise#23630 Forward-Port-Of: odoo/enterprise#23614