Daily updates from Odoo
Navigate
Branch
Monday, February 7, 2022
17 changes
Enhancements to existing features
Payroll managers now get a dedicated dashboard as the first screen of the Payroll app, giving quicker access to the information and actions they need day to day. The update also lets payroll users fully manage payslip batches, aligning batch access with existing payslip permissions.
The data cleaning record link now uses a more appropriate cleanup behavior when its related model is removed. This helps avoid inconsistent records and supports more reliable data cleanup operations.
Original PR description
The field `cleaning_model_id` on `data_cleaning.record` was set to `set null` which doesn't make sense in this case. TaskID: 2755289
Warehouse users can now scan product packaging using GS1 barcode standards, making package-level handling faster and less error-prone. This improves barcode operations by recognizing packaging information directly during stock movements.
Original PR description
It is now possible for a user to scan a packaging with the GS1 nomenclature (https://github.com/odoo/enterprise/pull/22952#issuecomment-1005573592) odoo/upgrade#3180 odoo/odoo#82883
Resolved issues and error corrections
The HR Referral dashboard now displays rectangular profile photos properly. This improves the visual consistency of employee images and makes the dashboard look cleaner for users.
Original PR description
Rectangular profile images were not properly displayed on the Dashboard. TaskID: 2746918
Code cleanup and technical improvements
The map view's page navigation setup has been simplified so it can pass pager details directly instead of relying on a separate helper. This is an internal cleanup that should make the feature easier to maintain without changing how users interact with maps.
Original PR description
Before this commit, to use the pager on the control panel, the view needed to use the 'pager_hook'. Now, the view only needs to send the information as props
Miscellaneous changes
It seems that Quadram/Finkok changed the WSDL for the cancel service. The cancellation feature does not work until the fix is applied. Forward-Port-Of: odoo/enterprise#24051
Original PR description
It seems that Quadram/Finkok changed the WSDL for the cancel service. The cancellation feature does not work until the fix is applied. Forward-Port-Of: odoo/enterprise#24051
Before this PR: If the document is in the ask_for_status state in the SII, it could be canceled or drafted, opening the possibility to send it more than once. After this PR: draft and cancel button raises if the document is accepted or objected, and also if the document has been sent to the SII and is waiting for the result, (ask_for_status), while in this state, it is not allowed to change to draft or cancel Forward-Port-Of: odoo/enterprise#23999 Forward-Port-Of: odoo/enterprise#23142
Original PR description
Before this PR: If the document is in the ask_for_status state in the SII, it could be canceled or drafted, opening the possibility to send it more than once. After this PR: draft and cancel button raises if the document is accepted or objected, and also if the document has been sent to the SII and is waiting for the result, (ask_for_status), while in this state, it is not allowed to change to draft or cancel Forward-Port-Of: odoo/enterprise#23999 Forward-Port-Of: odoo/enterprise#23142
…ent can't be made Before this commit, when a subscription payment would failed during automatic invoice generation, the cron would be retriggered and try to process payment infinitely for the failing subscription. This would cause an infinite loop and mass mailing of errors in the chatter. opw-ticket: 2725806 Forward-Port-Of: odoo/enterprise#23549
Original PR description
…ent can't be made Before this commit, when a subscription payment would failed during automatic invoice generation, the cron would be retriggered and try to process payment infinitely for the failing subscription. This would cause an infinite loop and mass mailing of errors in the chatter. opw-ticket: 2725806 Forward-Port-Of: odoo/enterprise#23549
Forward-Port-Of: odoo/enterprise#24014
Original PR description
Forward-Port-Of: odoo/enterprise#24014
Purpose ======= Pass correctly the employee on the context, so that we check the employee allocations, and not the current user. Forward-Port-Of: odoo/enterprise#24018
Original PR description
Purpose ======= Pass correctly the employee on the context, so that we check the employee allocations, and not the current user. Forward-Port-Of: odoo/enterprise#24018
The table `data_cleaning_record` reference to `data_cleaning_model` via the column `cleaning_model_id` is `ON DELETE SET NULL`. This means that when removing a record of `data_cleaning.model` the associated `data_cleaning.record`(s) will have an invalid (False) reference to the `data_cleaning.model` this raises an exception when trying to access the menu Data Cleaning > Field Cleaning. Steps to reproduce: On a v 14.0 db with Data Cleaning and Contacts installed 1. Open Data Cleaning >
Original PR description
The table `data_cleaning_record` reference to `data_cleaning_model` via the column `cleaning_model_id` is `ON DELETE SET NULL`. This means that when removing a record of `data_cleaning.model` the…
The table `data_cleaning_record` reference to `data_cleaning_model` via
the column `cleaning_model_id` is `ON DELETE SET NULL`. This means that
when removing a record of `data_cleaning.model` the associated
`data_cleaning.record`(s) will have an invalid (False) reference to the
`data_cleaning.model` this raises an exception when trying to access the
menu Data Cleaning > Field Cleaning.
Steps to reproduce:
On a v 14.0 db with Data Cleaning and Contacts installed
1. Open Data Cleaning > Configuration > Field Cleaning
2. On the Contact's field cleaning, click on CLEAN button
3. Remove the Contact field cleaning record.
4. Try to open Data Cleaning > Field Cleaning
Example error from TB
```
File "/home/odoo/src/enterprise/14.0/data_cleaning/models/data_cleaning_record.py", line 72, in _compute_values
original_records = {'%s_%s' % (r._name, r.id): r for r in self._original_records()}
File "/home/odoo/src/enterprise/14.0/data_cleaning/models/data_cleaning_record.py", line 118, in _original_records
recs = self.env[model].with_context(active_test=False).sudo().browse(record_ids).exists()
File "/home/odoo/src/odoo/14.0/odoo/api.py", line 476, in __getitem__
return self.registry[model_name]._browse(self, (), ())
File "/home/odoo/src/odoo/14.0/odoo/modules/registry.py", line 177, in __getitem__
return self.models[model_name]
Exception
...
KeyError: False
```
Forward-Port-Of: odoo/enterprise#23991Setting the name of a customer invoice might change the sequence associated to it. This is very problematic as it's practically invisible to the user and difficult to fix once it has been changed. From now on, the name won't be set, the current sequence will be used to generate it. Forward-Port-Of: odoo/enterprise#24009
Original PR description
Setting the name of a customer invoice might change the sequence associated to it. This is very problematic as it's practically invisible to the user and difficult to fix once it has been changed. From now on, the name won't be set, the current sequence will be used to generate it. Forward-Port-Of: odoo/enterprise#24009
Steps : - Two companies A and B - Planning > Add a shift for Demo at date D - Users > Admin > Allowed Companies : A - Users > Demo > Default Company : B - With Admin : Planning > Send Schedule > Period : date D Issue : Access Error : Not allowed to acces hr.employee due to multi company restriction Cause : _compute_slots_data searches for slots for this date, but for all company. Then it maps it as its employees, which could be from another company. Fix : Restrict the search
Original PR description
Steps : - Two companies A and B - Planning > Add a shift for Demo at date D - Users > Admin > Allowed Companies : A - Users > Demo > Default Company : B - With Admin : Planning > Send Schedule > Period : date D Issue : Access Error : Not allowed to acces hr.employee due to multi company restriction Cause : _compute_slots_data searches for slots for this date, but for all company. Then it maps it as its employees, which could be from another company. Fix : Restrict the search domain to the allowed companies. opw-2734255 Forward-Port-Of: odoo/enterprise#23996 Forward-Port-Of: odoo/enterprise#23936
Fixes a traceback when doing a sign request on a contract due to invalid python code. TaskId-2753339 Forward-Port-Of: odoo/enterprise#24034 Forward-Port-Of: odoo/enterprise#23976
Original PR description
Fixes a traceback when doing a sign request on a contract due to invalid python code. TaskId-2753339 Forward-Port-Of: odoo/enterprise#24034 Forward-Port-Of: odoo/enterprise#23976
### Current behavior Traceback when clicking on employee's form Document smart button ### Steps - Install Employees and Documents app - Go to an employee form and click on "Document" smart button ### Reason Since this commit and especially this diff [1], `_get_document_folder` can return a boolean if a HR workspace isn't set in Documents settings. In this case, it'll raise a traceback when clicking on Document button as we're looking for an `id` property on, in this case, a boolean [2]
Original PR description
### Current behavior Traceback when clicking on employee's form Document smart button ### Steps - Install Employees and Documents app - Go to an employee form and click on "Document" smart button ### Reason Since this commit and especially this diff [1], `_get_document_folder` can return a boolean if a HR workspace isn't set in Documents settings. In this case, it'll raise a traceback when clicking on Document button as we're looking for an `id` property on, in this case, a boolean [2] [1] : https://github.com/odoo/enterprise/commit/255c8cc0ca88c917fa60b5d1a4281378f570496b#diff-65667684a96c5a8e220e5b46249133506ff82aa22855623c20ccf6ca1d6f3465R16 [2] : https://github.com/odoo/enterprise/blob/abbe2bebe46c02967810fc8214b86f2cbb64cba8/documents_hr/models/hr_employee.py#L55 OPW-2741830 Forward-Port-Of: odoo/enterprise#23785
An error would occur when clicking "Audit" in the carret menu on partners on the "Partner VAT listingting" report. When getting l10n_be_open_invoices() result and rendering the ir.actions.act_window, no tree view was found. Task: 2741854 Forward-Port-Of: odoo/enterprise#23632
Original PR description
An error would occur when clicking "Audit" in the carret menu on partners on the "Partner VAT listingting" report. When getting l10n_be_open_invoices() result and rendering the ir.actions.act_window, no tree view was found. Task: 2741854 Forward-Port-Of: odoo/enterprise#23632
This commit prevents adding duplicate accounts. An improvement was made to check just `linkedin_account_urn` instead of checking the whole dictionary to see if an account has already been added opw-2696038 Forward-Port-Of: odoo/enterprise#24001 Forward-Port-Of: odoo/enterprise#23920
Original PR description
This commit prevents adding duplicate accounts. An improvement was made to check just `linkedin_account_urn` instead of checking the whole dictionary to see if an account has already been added opw-2696038 Forward-Port-Of: odoo/enterprise#24001 Forward-Port-Of: odoo/enterprise#23920