• DevPilot's avatar
    fix(rentals): contract page fataled for every approved contract · 808c63d1
    DevPilot authored
    I broke this. The page-actions block reads $gracePeriod to build the
    bulk-generate confirmation, but $gracePeriod was computed inside the content
    block — and page_actions renders first, so the variable did not exist yet.
    Production turns that notice into a fatal, so the contract page died outright.
    
    It had always been wrong; it was simply unreachable, because the guard above it
    requires status approved or active and until yesterday no contract could reach
    those states (the approve button was hidden on drafts). Making approval possible
    made the broken path reachable, and I shipped it without exercising the page in
    the state I had just unlocked.
    
    The shared variables now sit above both sections, which is where anything either
    section needs has to be.
    
    Why the test missed it: I was piping render output through `grep -v Warning:`,
    which filtered out the exact notice that is fatal in production. The check now
    installs an error handler that promotes every notice to an exception — the same
    thing ExceptionHandler does — and renders the contract page in all eight
    statuses and the invoice page in all three. All pass.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    808c63d1
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...