- checkout.ts: generalize ensureCompliancePortalUser -> ensurePortalUser and call it in the CRTC post-payment path so PayPal/crypto/webhook-confirmed CRTC orders always get an ERPNext Customer + Website User (the single source of truth for portal login/password), matching the compliance fix from the PayPal incident. Also flip portal_user_created for canada_crtc/formation. - canada-crtc.ts: enforce discount active+start/expiry windows, global usage limit and applies_to scope server-side at checkout (was active-only), so a promo like CANADA200 actually stops working after its expiry. - scripts/generate_canada_carrier_guide_pdf.py: render the public Canadian wholesale carrier/vendor guide PDF (reuses the canonical VENDORS list) to site/public/guides/canada-carrier-guide.pdf for the CRTC campaign lead magnet. |
||
|---|---|---|
| .. | ||
| lib | ||
| middleware | ||
| routes | ||
| config.ts | ||
| create-admin.ts | ||
| db.ts | ||
| email.ts | ||
| erpnext-client.ts | ||
| fx.ts | ||
| index.ts | ||
| sanctions.ts | ||
| service-catalog.ts | ||