No description
Find a file
justin f6419759e6 portal: converge all compliance orders on the single ERPNext portal
Root cause of customers being unable to log in: ERPNext (portal.performancewest.net)
is the intended single portal and already surfaces compliance/trucking orders
(performancewest_erpnext/www/orders.py reads compliance_orders by email). But
only the Stripe checkout path provisioned the ERPNext Website User up-front
(findOrCreateCustomer). PayPal / crypto / remediation-pipeline orders go straight
to handlePaymentComplete, which created NO portal user and never set
portal_user_created -> no login + no set-password invite (exactly what happened
to the Paul Wilson / Compound Technologies PayPal order).

- handlePaymentComplete: add ensureCompliancePortalUser() in the shared
  post-payment path so EVERY paid compliance order (any payment method) gets an
  ERPNext portal account + the set-password invite. Idempotent.
- Guard against placeholder emails (synthetic@/pipeline.com etc): skip portal
  provisioning and the set-password invite for non-deliverable addresses.
- compliance-orders API: validate email format AND reject placeholder addresses
  at order creation (was: presence-only, so synthetic@pipeline.com passed).
- delivery_worker: never email a set-password invite to a placeholder address.

Note: the legacy PG-customers login (api/routes/portal-auth.ts, /account/*) is
CRTC/formation-era and only backfills canada_crtc_orders/orders, never
compliance_orders. ERPNext is now the consistent portal for compliance.
2026-06-02 22:44:34 -05:00
.claude/projects/-home-justin-projects-performancewest-new-site/memory Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
api portal: converge all compliance orders on the single ERPNext portal 2026-06-02 22:44:34 -05:00
chrome-extension/fcc-access-helper Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
docs docs: trucking state-campaign send runbook 2026-06-02 16:51:08 -05:00
docserver Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
erpnext Add ERPNext Dockerfile + build script for automated security rebuilds 2026-05-06 22:10:49 -05:00
frappe_adyen Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
frappe_ca_registry Fix flagged items: CRTC email submission, BITS todo, selector docs, stale plans 2026-05-04 11:33:45 -05:00
frappe_crypto Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
infra ansible: sync portal nginx template with live working config 2026-06-02 22:20:08 -05:00
mcp Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
monitoring Fix ContainerHighMemory alert: skip containers with no memory limit 2026-05-01 03:54:16 -05:00
node-compile-cache/v25.1.0-x64-392347a2-1000 Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
performancewest_erpnext Add compliance order pipeline tracking + fix Closed status bug 2026-05-04 21:09:58 -05:00
scripts portal: converge all compliance orders on the single ERPNext portal 2026-06-02 22:44:34 -05:00
site DOT D&A binder: editable DOCX output, all 6 forms each full-page, service-aware delivery email 2026-06-02 21:27:44 -05:00
src Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
test_screenshots Pivot CRTC offering on FCC carrier page for A-Z wholesale carriers 2026-06-02 13:26:39 -05:00
.gitignore Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
CLAUDE.md Update CLAUDE.md with complete deployment guide, infrastructure map, and key patterns 2026-04-28 02:54:44 -05:00
deploy.sh deploy: fix recurring portal CSS breakage from ERPNext asset hash drift 2026-06-02 22:12:33 -05:00
docker-compose.yml Add Telegram notification on every new paid order 2026-05-04 07:32:42 -05:00
extract-erpnext-assets.sh portal: serve /files/ (logo) from stable host path, fix recurring 403 2026-06-02 22:18:30 -05:00