[19.0][IMP] contract: UX revamp, last_date_invoiced & demo data#1427
[19.0][IMP] contract: UX revamp, last_date_invoiced & demo data#1427bosd wants to merge 5 commits into
Conversation
3d05d15 to
811976b
Compare
Robust recurring-invoice cron — client contextPushed two commits ( The problemWe hit this on a multi-company production deployment with a few hundred active recurring contracts. One contract had a bad data entry that made The painful part for the client wasn't just the missed invoicing run, it was finding the bad apple. There's no per-contract error trail. The cron log shows one stack trace (without naming the offending contract clearly) and there's no in-UI marker. Their bookkeeper had to scan hundreds of contracts manually to figure out which one was tripping the cron. What this PR adds
Why per-contract savepoints (not just a per-contract
|
|
21 commits? |
Dropped it to 9 now 😄 |
|
Well, still too many, specially for discussing about each one. Seeing for example the archived products one, why do you need that? Isn't better to remove the active_test context key? |
|
Thanks for the review @pedrobaeza! On the archived-products domain: the On the commit count: I've kept it at 9, with each one an atomic, self-contained unit that reviews independently: last_date_invoiced, view/UX revamp, archived-product fix, date validation, PDF report, portal page, demo data, cron hardening, icon. None depend on another's internals, so they can be discussed — or dropped — one by one. Glad to drop any you consider out of scope for this PR. Also pushed a small test ( |
|
I was talking about splitting this into several PRs, for merging clear things, and discuss the rest, instead of having to block everything until all are agreed. |
Aggregate the latest invoiced date from the contract lines into a stored computed field on contract.contract, label it explicitly in the views, and bump the manifest version.
Add a kanban view and enable the activity view, improve the list and search view UX, add a partner search group-by, refine the form layout (Other Information in a single two-column grid, 'Analytic Account' label) and streamline the contract.tag UX.
|
@pedrobaeza split done 👍 — broke this into focused PRs. This one now holds just the core, low-risk UX changes; the rest are independent so the clear ones can merge without waiting on the others:
They only share |


Core, low-risk UX improvements to the
contractmodule. Originally a larger PR — now split into focused PRs (per @pedrobaeza) so the clear changes can merge independently from the ones that need more discussion.This PR (core):
last_date_invoicedcomputed/displayed oncontract.contractdate_endafterdate_startvalidationSplit out into separate PRs: