• DevPilot's avatar
    fix(rentals): make the contract cycle visible on the contract page · 108ebc7d
    DevPilot authored
    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: 's avatarClaude Opus 5 <noreply@anthropic.com>
    108ebc7d
Name
Last commit
Last update
.claude Loading commit data...
Another ERP that we may want to cheat from Loading commit data...
HR requests Loading commit data...
Proposal Loading commit data...
Server Connection Data Loading commit data...
app Loading commit data...
config Loading commit data...
cron Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
public Loading commit data...
support_tickets_downloads/support_screenshots Loading commit data...
tests Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env Loading commit data...
.env.example Loading commit data...
.gitignore Loading commit data...
.php-cs-fixer.php Loading commit data...
BalanceSheet.html Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
Makefile Loading commit data...
SYSTEM_MAP.md Loading commit data...
Sports Module System Design DETAILED.md Loading commit data...
UPGRADE_PLAN.md Loading commit data...
captain-definition Loading commit data...
cli.php Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
interesting_features.md Loading commit data...
phpstan.neon Loading commit data...
phpunit.xml Loading commit data...
sports activity stuff .txt Loading commit data...
sports-activity-alignment-plan.md Loading commit data...
sports-activity-smart-filtering-plan.md Loading commit data...
trial_balance_2026-01-01_to_2026-05-10.csv Loading commit data...