From 28b407eea64c775c6d5e5bcafffc296c723ca1ee Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 29 Apr 2026 01:48:05 -0500 Subject: [PATCH] Fix portal user linking: use updateResource instead of set_value for child table set_value doesn't work for child tables like portal_users. Use updateResource (PUT /api/resource/Customer) which handles it correctly. Co-Authored-By: Claude Opus 4.6 (1M context) --- api/src/routes/checkout.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/api/src/routes/checkout.ts b/api/src/routes/checkout.ts index 0cc9d61..d7aae8a 100644 --- a/api/src/routes/checkout.ts +++ b/api/src/routes/checkout.ts @@ -1225,11 +1225,8 @@ export async function handlePaymentComplete( erpCustomer = custResult.customerName; // Link portal user to Customer so portal shows their orders try { - await callMethod("frappe.client.set_value", { - doctype: "Customer", - name: erpCustomer, - fieldname: "portal_users", - value: [{ user: custEmail }], + await updateResource("Customer", erpCustomer!, { + portal_users: [{ user: custEmail }], }); } catch { /* non-fatal — may already be linked */ } } catch { /* non-fatal */ }