-
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:Claude Opus 5 <noreply@anthropic.com>
72d9ec28
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Core | ||
| Middleware | ||
| Modules | ||
| Shared |