Thursday, June 2, 2022
21 changes · master
New functionality added to Odoo
Adds Kenyan payroll localization so businesses operating in Kenya can manage payroll rules, contracts, payslips, and related accounting in Odoo. This helps employers calculate local payroll elements more consistently and provides country-specific reports and demo data for setup.
Enhancements to existing features
The point-of-sale customer list is cleaner by combining loyalty points and outstanding balances into one view and moving less-used actions into customer details. Customer amounts due now update automatically during payment, reducing manual refresh steps and confusion for cashiers.
Original PR description
In this PR we simplify the PoS interface. task-2669747
Resolved issues and error corrections
Spreadsheet currency rate lookups now use the same date logic as currency rates created by users, including the creator's time zone. This helps prevent incorrect exchange rates from being used around date boundaries, improving accuracy for financial reporting.
Original PR description
The defaut `name` (which is a Date) of a `res.currency.rate` is computed based on its creator's TZ. The look up of currency rates in spreadsheet should follow the same logic. Task 2869705
Miscellaneous changes
This PR fixes an issue in the `project.task` where the `progress` of the gantt view was not working. task-2870726 Forward-Port-Of: odoo/enterprise#27980
Original PR description
This PR fixes an issue in the `project.task` where the `progress` of the gantt view was not working. task-2870726 Forward-Port-Of: odoo/enterprise#27980
Sign requests can now be sent to recipients in a defined sequence, so later signers are only notified when earlier signers have completed their part. This supports HR and other approval flows where documents must be reviewed and signed in a specific order, while still allowing people at the same step to sign in parallel.
Original PR description
[IMP] sign: send and sign sign requests in order add a checkbox "sent order" that allow user to define an order in the recipient system take the lowest number, send him the file to sign. When it's signed, warn the new recipients in numerical order. If two recipients have the same number, they receive the sign request at the same moment. And when both of them have signed, the next level (if any) is warned. When the biggest number have signed, process is complete taskid: 2582202
The website sales dashboard update now removes only the older sales dashboard instead of replacing the full analytics area. This keeps existing Plausible and Google dashboards available, so businesses retain access to their web analytics views while the outdated sales dashboard is removed.
Field service teams can now review customer ratings directly from a dedicated menu and use new filters to find recently closed tasks. Project task views also show both planned start and end dates and have cleaner default grouping, making day-to-day project monitoring easier.
Original PR description
Before these changes: - We don't have custom rating menu for field service module - Some filters were missing to check closed tasks in last 7 / 30 days - [kanban][task] we only display planning start date - Many default group by need to be deleted and applied only for some views After these changes: - Custom rating menu was added to display ratings related to fsm projects - Closed in last 7/30 days filters were added - [kanban][task] planning start date -> end date are displayed - Group by were fixed as asked by the PO task-id : 2724965
The quotation template form is reorganized to make Terms and Conditions easier to find in its own tab. The validity setting is also renamed from "Quotation expires after" to "Quotation Validity," making the wording clearer for sales teams configuring quotes.
Original PR description
- Create a tab for Terms and Conditions - Rename `Quotation expires after` to `Quotation Validity` taskid-2831317
Spreadsheet formulas created when inserting or autofilling lists and pivots now omit unnecessary quotes around numeric IDs. This makes formulas easier to read and keeps generated spreadsheet content more consistent.
Original PR description
### Task Description
When insterting a pivot/list in a spreadsheed, we got formula like `'=PIVOT("1","foo","true","record_id","1")` and `"=LIST("1","2","foo"),` where the IDs are encapsulated between quotes.
The aim of this task is to remove these quotes in the formulas when the values is a number (pivot ID, list ID, record ID, ...) as they are not necessary anymore and can make the formula less-readable.
To be consistent, the quote has also been removed from the autofill of pivots/lists, as well as the pivot template.
### Related Task
task-[2832354](https://www.odoo.com/web#id=2832354&view_type=form&model=project.task)Users can now move more directly from journal item and reconciliation screens to the related journal entry, reducing extra steps during accounting review. The update also improves journal item visibility and layout details across related accounting, asset, follow-up, and subscription views.
Original PR description
This PR aims to ease the flows around Journal items by UX improvement Get rid of the account move line form view, and go to the corresponding Journal Entry when the journal item is clicked. Improves the UX in some different places (margins in a notebook, shown/hidden columns, access to Journal Items wihtout the need to be in debug mode). Ability to go to the corresponding Journal Entry from a reconciliation line, in the reconciliation widget. task 2855459
Spreadsheet charts now adjust text color and label scaling more intelligently, making charts easier to read across different backgrounds and data formats. The update also refreshes an underlying chart component to improve consistency and maintainability.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/b4f80b07 [IMP] chart: dynamic font color based on the background color https://github.com/odoo/o-spreadsheet/commit/21da5ec5 [IMP] helpers: introduce color conversion helpers https://github.com/odoo/o-spreadsheet/commit/badd7557 [IMP] charts: scale chart on time/number labels https://github.com/odoo/o-spreadsheet/commit/8fc5fbee [IMP] chartJS: replace chartJS.min by chartJS.bundle.min
This updates an internal Web Studio test so it matches a recent change in how the messaging area is reached. It helps keep automated quality checks reliable without changing what users see or do.
Accounting users get a new journal audit report inside the accounting reports framework, replacing the old PDF-only version and removing outdated journal menu shortcuts. The change simplifies the accounting menu and moves access to journal details into report actions, while also removing the no longer useful consolidated journals report.
Original PR description
Improvement in two ways: - Implement a new, accounting report version of the existing journals audit pdf report. - As of now, the old journal audit pdf report is still printed when we try to print the accounting report. This may change soon as the accounting report gets completed and the exported pdf is better. - Remove the menu items in "accounting" that open the group by view of journal items with different filters. Now, these will be linked to actions on lines in the different reports available to the user. Task id #2838182
The Belgian VAT report export no longer includes grid 91 because the related VAT advance payment requirement has been abolished by the government. This keeps the report aligned with current regulations and removes an obsolete field that would no longer be used.
Original PR description
The vat advance payment possibility has been abolished by the government. As such, grid91 will never be filled and can be removed. So this commit removes all mentions of grid91. task-2790435
This fix prevents an access error from appearing when an employee is archived in cases involving payroll contracts or departure documents. It helps HR teams complete employee departures smoothly without being blocked by permissions issues.
Original PR description
community PR - odoo/odoo#91332 task - 2811165
Forward-Port-Of: odoo/enterprise#27924
Original PR description
Forward-Port-Of: odoo/enterprise#27924
Steps to reproduce: 1- install accounting, account_disaalowed_expenses_fleet 2- set a disallowed expense category on an expense account 3- create a bill and set an the expense account 4- Connect as a billing profile 5- error about access rights linked to disallowed expense category Bug: the billing user doesn't have access to disallowed_expenses_category_id accessed to set need_vehicle Fix: sudo :) OPW-2811266 Forward-Port-Of: odoo/enterprise#27269 Forward-Port-Of: odoo/ent
Original PR description
Steps to reproduce: 1- install accounting, account_disaalowed_expenses_fleet 2- set a disallowed expense category on an expense account 3- create a bill and set an the expense account 4- Connect as a billing profile 5- error about access rights linked to disallowed expense category Bug: the billing user doesn't have access to disallowed_expenses_category_id accessed to set need_vehicle Fix: sudo :) OPW-2811266 Forward-Port-Of: odoo/enterprise#27269 Forward-Port-Of: odoo/enterprise#26992
- in a spreadsheet, right click - insert Link - insert Odoo menu - Settings/Gamification Tools/Challenges - Confirm => boom The "Challenges" menu is only available in debug mode (base.group_no_one) but the group is not actually on the menu itself but on its parent. Hence, you can select it with the many2one field but the web client didn't load it. Task 2836745 Forward-Port-Of: odoo/enterprise#27903 Forward-Port-Of: odoo/enterprise#27654
Original PR description
- in a spreadsheet, right click - insert Link - insert Odoo menu - Settings/Gamification Tools/Challenges - Confirm => boom The "Challenges" menu is only available in debug mode (base.group_no_one) but the group is not actually on the menu itself but on its parent. Hence, you can select it with the many2one field but the web client didn't load it. Task 2836745 Forward-Port-Of: odoo/enterprise#27903 Forward-Port-Of: odoo/enterprise#27654
Steps to reproduce the product: - Enable “Work Orders” option in MRP settings - Create a storable product “P1” with BOM: - BOM type: Manufacture this product - operations: “OP1” - Components: product “C1” consumed in the operation “OP1 - Create an ECO for “P1”: - Type: New Product Introduction - Apply on; Bill Of materials - Click on “Start Revision” Problem: A BOM change will be created for the component “C1” where it will be added and removed. When cre
Original PR description
Steps to reproduce the product: - Enable “Work Orders” option in MRP settings - Create a storable product “P1” with BOM: - BOM type: Manufacture this product - operations: “OP1” - Components: product…
Steps to reproduce the product:
- Enable “Work Orders” option in MRP settings
- Create a storable product “P1” with BOM:
- BOM type: Manufacture this product
- operations: “OP1”
- Components: product “C1” consumed in the operation “OP1
- Create an ECO for “P1”:
- Type: New Product Introduction
- Apply on; Bill Of materials
- Click on “Start Revision”
Problem:
A BOM change will be created for the component “C1” where it will be added and removed.
When creating an ECO, a copy of the original BOM will be created,
and then we compare the BOM lines of the two BOMs if they are identical (product, qty and operation)
but as the operation has been duplicated therefore created with a different ID,
the two lines will not be identical and a distorted change in the BOM will be detected
Solution:
- It is better to compare the fields of the operations instead of their ID to detect if a change has been made in the BOM
- When modifying the revision BOM so that a component is consumed in another operation than the original one,
a BOM line changes type “Remove” and “Add” will be added,
because we cannot detect that an update has been made, imagine we have the following BOM:
1:/ old_bom to produce “product A”:
Components:
“Product B” - 1 unit - operation 1 (id = 1)
“Product B” - 1 unit - operation 2 (id= 2)
-------------------------------------------------- -----------------
2:/ new_bom == copy of (old_bom)
Components:
Product B - 1 unit - Operation 1 (id = 3)
Product B - 1 unit - operation 2 (id= 4)
-------------------------------------------
Operation 1 (id=1) == Operation 1 (id=3)
Operation 2 (id = 2) == Operation (id = 4)
So as the product is the same in the two BOM lines, if we change the two operations at the same time,
we cannot check which line exactly was changed.
opw-2823253
opw-2809586
opw-2833083
https://user-images.githubusercontent.com/78867936/168627303-fa808618-5a76-49ae-9ddf-8da588abe995.mp4
Forward-Port-Of: odoo/enterprise#27723
Forward-Port-Of: odoo/enterprise#27391The fields of the wizard have been asked to been added to the pdf in the attachment too. They are now added in its header. task-2790447 Forward-Port-Of: odoo/enterprise#25386
Original PR description
The fields of the wizard have been asked to been added to the pdf in the attachment too. They are now added in its header. task-2790447 Forward-Port-Of: odoo/enterprise#25386
This PR updates the tests for Belgian reports to fit the new tax names Community PR: https://github.com/odoo/odoo/pull/92553 Forward-Port-Of: odoo/enterprise#27909
Original PR description
This PR updates the tests for Belgian reports to fit the new tax names Community PR: https://github.com/odoo/odoo/pull/92553 Forward-Port-Of: odoo/enterprise#27909