• DevPilot's avatar
    fix(ui): buttons that led nowhere, across the financial screens · 72d9ec28
    DevPilot authored
    Swept every link and form action in the financial modules against the real
    route patterns. The asset problem was not a one-off.
    
    **Screens you could reach but not use.** Three edit screens existed, worked, and
    had nothing linking to them: vendor invoices, return-to-vendor, and the legacy
    pricing configs. Buttons added on both the list and the detail page, gated on
    the same status the controller already enforces — draft only, since neither
    document should change once verified or submitted.
    
    **Links pointing at routes that do not exist.**
    
      - Asset custody was entirely unusable: both the transfer button and the
        transfer form posted to /inventory/assets/{id}/transfer, but the route is
        /inventory/assets/custody/{id}/transfer. Nobody could ever hand over an
        asset.
      - Pricing configs was broken at both ends — the list linked to
        /pricing/{id}/edit and the form posted to /pricing/{id}, while the routes
        are under /pricing/configs. The edit screen was unreachable and unsavable.
      - Quote comparison posted to /select-winner, which was never built; the
        endpoint is /procurement/quotes/evaluate.
      - The quotes list "عرض" pointed at a detail page that does not exist. It now
        opens the response screen, which is what a quote is actually for.
      - "تظلم" on a fine was an <a>, so it issued a GET against a POST-only route.
        It is a form now, with a confirmation, since it records something.
    
    **Buttons for things that were never built.** BOM edit had no route and no
    controller method — a guaranteed 404 in two places. Removed rather than faked;
    creating and viewing a BOM both work, and editing one is a feature nobody has
    written yet. Settlements had exactly one action and it opened a detail page that
    does not exist either; replaced with اعتماد, the action that does exist and the
    only thing a draft settlement is waiting on.
    
    Not changed, having checked: vouchers and budgets flagged in the sweep were
    artifacts of my own parser — PHP unescapes '\\d+' in single quotes, and the
    budgets links emit a query string from inside the PHP tag. Both resolve fine.
    
    Verified: 1503 routes resolve, 255 controllers instantiate, 243 services load,
    zero orphaned edit screens remain, and every screen touched renders.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    72d9ec28
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...