From 1e7f7137258bee01f02f4f2d671ec61ae1a87054 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sun, 12 Jul 2026 10:28:24 +0800 Subject: [PATCH] fix: use HTML meta refresh redirect instead of DataViewer or 302 PopupWindow renders dspy response directly. DataViewer doesn't work inside popup context. HTML meta refresh redirects to CRUD page. --- wwwroot/api/ensure_distribution_agreement.dspy | 10 ++++------ wwwroot/api/ensure_supply_contract.dspy | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/wwwroot/api/ensure_distribution_agreement.dspy b/wwwroot/api/ensure_distribution_agreement.dspy index a91ebef..069359d 100644 --- a/wwwroot/api/ensure_distribution_agreement.dspy +++ b/wwwroot/api/ensure_distribution_agreement.dspy @@ -1,11 +1,11 @@ """Check/create distribution_agreement for sub_reseller_id, then redirect to CRUD page.""" sub_reseller_id = params_kw.get('sub_reseller_id') if not sub_reseller_id: - return {'widgettype': 'Error', 'options': {'title': 'Error', 'message': 'Missing sub_reseller_id', 'timeout': 3}} + return '

Error: Missing sub_reseller_id

' userorgid = await get_userorgid() if not userorgid: - return {'widgettype': 'Error', 'options': {'title': 'Auth Error', 'message': 'Please login', 'timeout': 3}} + return '

Error: Please login

' dbname = get_module_dbname('supplychain') async with DBPools().sqlorContext(dbname) as sor: @@ -33,7 +33,5 @@ async with DBPools().sqlorContext(dbname) as sor: 'created_by': userorgid, 'created_at': now, 'updated_at': now, }) -# Redirect to CRUD page -request._response_status = 302 -request._response_headers['Location'] = f'/supplychain/distribution_agreements_list?sub_reseller_id={sub_reseller_id}&_webbricks_=1' -return '' +url = f'/supplychain/distribution_agreements_list?sub_reseller_id={sub_reseller_id}&_webbricks_=1' +return f'Redirecting...' diff --git a/wwwroot/api/ensure_supply_contract.dspy b/wwwroot/api/ensure_supply_contract.dspy index fd4f4d1..50ce45c 100644 --- a/wwwroot/api/ensure_supply_contract.dspy +++ b/wwwroot/api/ensure_supply_contract.dspy @@ -1,11 +1,11 @@ """Check/create supply_contract for supplier_id, then redirect to CRUD page.""" supplier_id = params_kw.get('supplier_id') if not supplier_id: - return {'widgettype': 'Error', 'options': {'title': 'Error', 'message': 'Missing supplier_id', 'timeout': 3}} + return '

Error: Missing supplier_id

' userorgid = await get_userorgid() if not userorgid: - return {'widgettype': 'Error', 'options': {'title': 'Auth Error', 'message': 'Please login', 'timeout': 3}} + return '

Error: Please login

' dbname = get_module_dbname('supplychain') async with DBPools().sqlorContext(dbname) as sor: @@ -33,7 +33,5 @@ async with DBPools().sqlorContext(dbname) as sor: 'created_by': userorgid, 'created_at': now, 'updated_at': now, }) -# Redirect to CRUD page -request._response_status = 302 -request._response_headers['Location'] = f'/supplychain/supply_contracts_list?supplier_id={supplier_id}&_webbricks_=1' -return '' +url = f'/supplychain/supply_contracts_list?supplier_id={supplier_id}&_webbricks_=1' +return f'Redirecting...'