Monday, October 17, 2022
9 changes · master
Enhancements to existing features
The spreadsheet app is updated with many additional financial formulas, making it easier to model loans, investments, depreciation, treasury bills, and cash flows directly in Odoo. The update also fixes small usability issues in search, calculation display, and column resizing for a smoother spreadsheet experience.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/ab6f7e4b [FIX] find_and_replace: clear input clears search matches…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/ab6f7e4b [FIX] find_and_replace: clear input clears search matches https://github.com/odoo/o-spreadsheet/commit/fe6afd61 [REF] header_visibility_ui: rewrite findLastVisibleColRowIndex https://github.com/odoo/o-spreadsheet/commit/4c987a64 [REF] grid: remove useless clip https://github.com/odoo/o-spreadsheet/commit/25a3168b [REF] functions: naming convention of assert helpers https://github.com/odoo/o-spreadsheet/commit/ab896cac [IMP] functions: add demo data for financial functions https://github.com/odoo/o-spreadsheet/commit/1e5912ad [IMP] functions: add AMORLINC function https://github.com/odoo/o-spreadsheet/commit/cee8339f [IMP] functions: add XNPV function https://github.com/odoo/o-spreadsheet/commit/dd17ff13 [IMP] functions: add XIRR function https://github.com/odoo/o-spreadsheet/commit/d6813dc4 [IMP] functions: add VDB function https://github.com/odoo/o-spreadsheet/commit/83ea4da8 [IMP] functions: add TBILLYIELD function https://github.com/odoo/o-spreadsheet/commit/b2bd8be3 [IMP] functions: add TBILLEQ function https://github.com/odoo/o-spreadsheet/commit/d1e70d63 [IMP] functions: add TBILLPRICE function https://github.com/odoo/o-spreadsheet/commit/ea1bef1c [IMP] functions: add SYD function https://github.com/odoo/o-spreadsheet/commit/31605fd4 [IMP] functions: add SLN function https://github.com/odoo/o-spreadsheet/commit/816d31af [IMP] functions: add RRI function https://github.com/odoo/o-spreadsheet/commit/a4a83a4b [IMP] functions: add RECEIVED function https://github.com/odoo/o-spreadsheet/commit/28feb878 [IMP] functions: add MIRR function https://github.com/odoo/o-spreadsheet/commit/a289a941 [IMP] functions: add INTRATE function https://github.com/odoo/o-spreadsheet/commit/62da0927 [IMP] functions: add FVSCHEDULE function https://github.com/odoo/o-spreadsheet/commit/b6789bd7 [IMP] functions: add DOLLARFR function https://github.com/odoo/o-spreadsheet/commit/5db4064f [IMP] functions: add DOLLARDE function https://github.com/odoo/o-spreadsheet/commit/cdc73ce5 [IMP] functions: add DISC function https://github.com/odoo/o-spreadsheet/commit/cd0ee521 [IMP] functions: add DDB function https://github.com/odoo/o-spreadsheet/commit/161134e6 [IMP] functions: add CUMPRINC function https://github.com/odoo/o-spreadsheet/commit/c89c64ec [IMP] functions: add CUMIPMT function https://github.com/odoo/o-spreadsheet/commit/4608ce74 [IMP] functions: add ACCRINTM function https://github.com/odoo/o-spreadsheet/commit/c0bbf544 [IMP] functions: add DAYS360 function https://github.com/odoo/o-spreadsheet/commit/2a59663c [IMP] functions: add PRICEMAT function https://github.com/odoo/o-spreadsheet/commit/1c28a0ff [IMP] functions: add PRICEDISC function https://github.com/odoo/o-spreadsheet/commit/dabffa30 [IMP] functions: add ISPMT function https://github.com/odoo/o-spreadsheet/commit/f7351b21 [FIX] evaluation: prevent minus 0 (-0) values https://github.com/odoo/o-spreadsheet/commit/3fca53c9 [IMP] functions: add IPMT function https://github.com/odoo/o-spreadsheet/commit/418c9f4a [IMP] functions: add PPMT function https://github.com/odoo/o-spreadsheet/commit/8ea85442 [IMP] functions: add NPER function https://github.com/odoo/o-spreadsheet/commit/b9eb40b8 [IMP] functions: add PMT function https://github.com/odoo/o-spreadsheet/commit/27228ad7 [IMP] functions: add YIELDDISC function https://github.com/odoo/o-spreadsheet/commit/ca54b439 [IMP] functions: add coupon functions https://github.com/odoo/o-spreadsheet/commit/7f0b3703 [IMP] functions: add RATE formula https://github.com/odoo/o-spreadsheet/commit/9940b6d9 [IMP] functions: add NOMINAL and EFFECT functions https://github.com/odoo/o-spreadsheet/commit/97ddfdd6 [FIX] functions: rename financial test file https://github.com/odoo/o-spreadsheet/commit/16f7d2af [REF] sheetview: don't reset viewports uselessly https://github.com/odoo/o-spreadsheet/commit/4dfa2142 [REF] grid: remove useless anonymous function https://github.com/odoo/o-spreadsheet/commit/e3f64551 [FIX] ui_sheet: do not resize empty columns
Grouped data queries were simplified to avoid unnecessary database work when calculating and counting records. This should improve performance for reports and list views that group records, with only a small compatibility note for ordering by record ID in advanced uses.
Original PR description
[IMP] core: simplify SQL query generated from read_group - The query aggreagate the `min(<table>.id)` but the result of it is removed later in `_read_group_format_result`. Then it generates a waste of CPU/IO for PostgreSQL. It was usefull only to able to sort only by `id`, but it always better to sort on the groupby key, because PostgreSQL need to already do to create groups. - Also `<table>.id` inside the `count` generate extra work from PostgreSQL because it needs to check if each `id` is NOT NULL (always) and fetch `id` from disk for nothing. task-2994273
The company form no longer shows an option to duplicate a company, because duplicating companies is not supported. This prevents users from trying an action that would fail and reduces confusion in company administration.
Original PR description
Ducplicating a company is not allowed (see copy override in base/res_company.py), therefore removing the button from the view altogether can avoid user confusion. Task-3000228
The Discuss sidebar code was reorganized so more of its behavior is managed in shared data models rather than screen components. This makes the mail and live chat areas easier to maintain and should reduce future development risk without changing the user experience.
Original PR description
\* = im_livechat + Create DiscussSidebarView + Replace the use of useUpdate with useUpdateToModel Task-3004215.
The messaging and live chat typing indicators were reorganized so their behavior is handled more consistently behind the scenes. This helps keep the user experience reliable while making future maintenance easier, with no major visible workflow changes expected.
Original PR description
*: im_livechat Task-3004018.
The mail app’s messaging menu code was reorganized to make it easier to maintain and evolve. This internal cleanup helps reduce future development risk without changing the user experience.
Original PR description
Task-3004195.
The mail app's typing status logic was reorganized so it is handled in shared data models rather than screen components. This is an internal improvement that should make the feature easier to maintain without changing how users experience typing indicators.
Original PR description
Task-3002619.
The Discuss mobile mailbox selection code was reorganized so its behavior is handled in the underlying app model rather than directly in the screen component. This makes the mail interface easier to maintain and evolve, with minimal direct impact on daily users.
Original PR description
+ Create DiscussMobileMailboxSelectionView model + Pass DiscussMobileMailboxSelectionView record as props Task-3014747.
Bank statement reports now include fewer blank lines and show more available details about partners and bank accounts. For companies not using online synchronization, the report is generated when the statement is posted, making the final report timing better aligned with accounting workflows.
Original PR description
Improve the bank statement report by reducing the amount of blank lines in it, as well as adding more information about the partner and bank account when we have it. Also, when not using online sync the bank statement report will now be generated at the time of posting and not validating. Task id #2860753