Monday, January 2, 2023
12 changes · master
New functionality added to Odoo
A new shared module centralizes the common logic used by Odoo's document extraction features. This should make invoice, expense, recruitment, and purchase extraction easier to maintain and more consistent without changing the core user workflow.
Original PR description
This commit adds a module that contains the common business logic of all *_extract modules.
Enhancements to existing features
The Turkish localization now includes a Profit and Loss report and a translatable Balance Sheet, making financial reporting clearer for Turkish users. The simplified balance sheet was removed because it duplicated the expanded balance sheet view.
Original PR description
* Make balance sheet report translatable * Add PnL report * Remove brief balance sheet as it is just unfolded balance sheet
Resolved issues and error corrections
This fixes unreliable automated tests in the barcode inventory workflows so build results are more consistent. The changes reduce false failures around inventory adjustments, receipts, and packaging scenarios, helping teams trust validation results before releases.
Original PR description
**`test_inventory_adjustment_multi_location`** & **`test_receipt_reserved_1`** > Same error than for the tour `test_gs1_receipt_lot_serial` (see #35046) runbot build errors: 13669 & 13673 **`test_put_in_pack_from_different_location`** > The error seems to be caused by how the `stock.quant.package` was got. If the `search` doesn't return the packages in the expected order, the test will fail for sure. runbot build error: 14408
Miscellaneous changes
### Steps to reproduce * In `Settings > Accounting > Vendor Payments`, select any check layout and save. * Create a vendor payment of type check, fill the vendor and the amount fields. * Confirm and print the check You should see that the PDF has large margins on the right and bottom of the page. opw-3038688 Forward-Port-Of: odoo/enterprise#34889
Original PR description
### Steps to reproduce * In `Settings > Accounting > Vendor Payments`, select any check layout and save. * Create a vendor payment of type check, fill the vendor and the amount fields. * Confirm and print the check You should see that the PDF has large margins on the right and bottom of the page. opw-3038688 Forward-Port-Of: odoo/enterprise#34889
This update removes unused internal files from the point-of-sale accounting reports area. It helps keep the module simpler to maintain without changing how users work with the system.
Original PR description
remove unused models directory and import
This update makes a small internal cleanup in the payroll planning code without changing how users work with the system. It helps keep the code easier to maintain, reducing future maintenance effort and risk.
Original PR description
more pythonic if statement
Users can now delete document workspaces that contain documents directly from folder form and list views. The action opens the same confirmation wizard used elsewhere in the Documents app, making workspace management more consistent and reliable.
This is an extend of the fix here: https://github.com/odoo/odoo/pull/102200 We define new filters to replace the unsupported time_ranges opw-3000595 Forward-Port-Of: odoo/enterprise#32944
Original PR description
This is an extend of the fix here: https://github.com/odoo/odoo/pull/102200 We define new filters to replace the unsupported time_ranges opw-3000595 Forward-Port-Of: odoo/enterprise#32944
Steps to reproduce: - Have ecommerce and subscription module installed. - Create a subscription product. - Go to the website and search for the subscription product. Issue: We are going to get many tracebacks while trying to search for the product, with a key error on `subscription_duration`. This is caused because we never pass the right pricelist to `_get_first_suitable_pricing_values` so we never get the `combination_info` computed properly for subscription. Solution: Ad
Original PR description
Steps to reproduce: - Have ecommerce and subscription module installed. - Create a subscription product. - Go to the website and search for the subscription product. Issue: We are going to get many tracebacks while trying to search for the product, with a key error on `subscription_duration`. This is caused because we never pass the right pricelist to `_get_first_suitable_pricing_values` so we never get the `combination_info` computed properly for subscription. Solution: Added the proper pricelist of the given product if we don't get any other pricelist. opw-3102681 Forward-Port-Of: odoo/enterprise#35250
Currently, when opening the wizard for manual followups, the attachments pre-filled are for every unpaid invoices, regardless of their 'excluded from follow-ups' status. The intended behaviour is to only include attachments for invoices with amls that are not blocked (not excluded). task id=3094395 Forward-Port-Of: odoo/enterprise#34793
Original PR description
Currently, when opening the wizard for manual followups, the attachments pre-filled are for every unpaid invoices, regardless of their 'excluded from follow-ups' status. The intended behaviour is to only include attachments for invoices with amls that are not blocked (not excluded). task id=3094395 Forward-Port-Of: odoo/enterprise#34793
Before this commit, when an article's permission was recently changed to Restricted and the new user didn't refresh the page, he could try to access it. This behavior led to restricted articles having all the attributes of a selected article without being able to remove them. Now, when trying to access articles and the Access Error is thrown, we open the first article that the user can access with a full reload of the page. task-3087960 Forward-Port-Of: odoo/enterprise#34640
Original PR description
Before this commit, when an article's permission was recently changed to Restricted and the new user didn't refresh the page, he could try to access it. This behavior led to restricted articles having all the attributes of a selected article without being able to remove them. Now, when trying to access articles and the Access Error is thrown, we open the first article that the user can access with a full reload of the page. task-3087960 Forward-Port-Of: odoo/enterprise#34640
To reproduce ============ - on website try to make an appointment - fill all details till the page "confirm your details" - Copy the URL of this page, and paste it into a fresh Incognito window. a server error is raised Problem ======= - on code we try to get `request.session["timezone"]`, but `timezone` may sometimes not be in `request.session` which will occure a `KeyError`. - after fixing this `KeyError` we will get another one, which is `timezone is not an attribute of calendar.a
Original PR description
To reproduce ============ - on website try to make an appointment - fill all details till the page "confirm your details" - Copy the URL of this page, and paste it into a fresh Incognito window. a server error is raised Problem ======= - on code we try to get `request.session["timezone"]`, but `timezone` may sometimes not be in `request.session` which will occure a `KeyError`. - after fixing this `KeyError` we will get another one, which is `timezone is not an attribute of calendar.appointment.type`. Solution ======== - use the `get` method when trying to get the value of `timezone` from `request.session` which will return `None` if there is no `timezone`. - the `timezone` attribute in `calendar.appointment.type` is called `appointment_tz` opw-3084109 Forward-Port-Of: odoo/enterprise#35301 Forward-Port-Of: odoo/enterprise#35117