fix(rentals): make the contract cycle visible on the contract page
Asked how to make a contract live, and the honest answer was that you could not
find out from the screen — so the screen now says it.
The approve card was shown only when status was exactly 'pending_approval'. A
contract created from the form lands on 'draft' (the controller even defaults to
'pending', which is not in the status list at all), so the one button that makes
a contract live was invisible on precisely the contracts that needed it. It now
appears for draft, pending and pending_approval.
Added a four-step tracker across the top — العقد اتسجّل ← اعتماد العقد ← توليد
الفواتير ← تحصيل الفاتورة — with the ticks reflecting real state and a line
naming the single next action and where its button is. Underneath it, in words:
which day of the month this contract's invoices fall due, read from the
contract's own payment_due_day rather than assumed to be the 5th, that a short
month pulls it back to the last day, and that the late fee is computed from the
due date automatically.
Invoice rows now carry a تحصيل button straight to the collection form when they
are unpaid, instead of a عرض link that gave no hint the money is taken there.
Verified rendered in draft, approved and active: the next-step line changes with
state, the due day reads from the contract, and 11 unpaid rows show تحصيل while
the paid one shows عرض.
Co-Authored-By:
Claude Opus 5 <noreply@anthropic.com>
Showing
Please register or sign in to comment