Root cause of the 'Link invalid' onboarding link: Frappe's TemplatePage
resolves a www page's Python controller by converting hyphens to underscores
(see frappe/website/page_renderers/template_page.py set_pymodule: it looks for
'set_password.py' next to 'set-password.html'). Our controller was named
'set-password.py' (hyphen), so os.path.exists() missed it, pymodule_name stayed
None, get_context never ran over HTTP, and the template rendered with no
context -> raw {{ email }}, title 'Link invalid', token never verified. (It
worked under bench/in-process only because we called get_context directly.)
Fix: rename www/set-password.py -> www/set_password.py (route stays
/set-password, driven by the .html filename) and update the whitelisted submit
endpoint path in set-password.html to ...www.set_password.submit.
NOTE: the sibling legacy CRTC/CDR admin pages (admin-filings.py,
admin-resellers.py, cdr-*.py) have the same latent hyphen bug; left as-is since
they're outside the compliance portal, but they are silently controller-less.
|
||
|---|---|---|
| .. | ||
| performancewest_erpnext | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
Performance West ERPNext
Custom payment gateways, surcharge hooks, and identity verification for Performance West Inc.
Features
- PW Stripe Settings — Stripe Checkout Sessions gateway (Card+Klarna, ACH)
- Surcharge hooks — Injects payment processing fee line items on Sales Invoices
- Identity gate — Blocks CRTC orders without verified identity
- Custom fields — Sales Order, Sales Invoice, Payment Request extensions
Installation
bench get-app performancewest_erpnext https://github.com/performancewest/performancewest_erpnext
bench --site your-site.com install-app performancewest_erpnext
Requires: frappe>=15, erpnext>=15, payments