mirror of
https://github.com/hansjone/netx.git
synced 2026-10-18 04:00:47 +08:00
Show original field names in biz-state workbook headers.
Stop using Chinese display_name for metric sheet columns so headers match the raw field keys. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
ee375b144d
commit
b6eab3ed8f
3 changed files with 24 additions and 2 deletions
|
|
@ -742,7 +742,7 @@ def list_batch_metric_rows(
|
||||||
columns = [
|
columns = [
|
||||||
{
|
{
|
||||||
"key": f.name,
|
"key": f.name,
|
||||||
"header": f.display_name or f.name,
|
"header": f.name, # strict original field name (no display_name localization)
|
||||||
"role": f.role,
|
"role": f.role,
|
||||||
"is_key": bool(f.is_key),
|
"is_key": bool(f.is_key),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,27 @@ class BatchWorkbookApiTests(unittest.TestCase):
|
||||||
list_batch_metric_rows(db, "b1", "commands")
|
list_batch_metric_rows(db, "b1", "commands")
|
||||||
self.assertEqual(ctx.exception.status_code, 400)
|
self.assertEqual(ctx.exception.status_code, 400)
|
||||||
|
|
||||||
|
def test_metric_columns_use_original_field_names(self) -> None:
|
||||||
|
batch = BizStateBatch(id="b1", task_id="t1", status="ok")
|
||||||
|
db = MagicMock()
|
||||||
|
db.get.return_value = batch
|
||||||
|
q = MagicMock()
|
||||||
|
q.filter.return_value = q
|
||||||
|
q.count.return_value = 0
|
||||||
|
q.order_by.return_value.offset.return_value.limit.return_value.all.return_value = []
|
||||||
|
db.query.return_value = q
|
||||||
|
|
||||||
|
out = list_batch_metric_rows(db, "b1", "interface_detail", page=1, page_size=10)
|
||||||
|
self.assertTrue(out["columns"])
|
||||||
|
for col in out["columns"]:
|
||||||
|
self.assertEqual(col["key"], col["header"])
|
||||||
|
# Must not surface Chinese display_name as header
|
||||||
|
self.assertNotIn("接口", col["header"])
|
||||||
|
self.assertNotIn("描述", col["header"])
|
||||||
|
keys = {c["key"] for c in out["columns"]}
|
||||||
|
self.assertIn("interface", keys)
|
||||||
|
self.assertIn("description", keys)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
||||||
|
|
@ -422,7 +422,8 @@ export function BizStatePage() {
|
||||||
setSheetTotal(Number(res.total || 0));
|
setSheetTotal(Number(res.total || 0));
|
||||||
const cols = (res.columns || []).map((c) => ({
|
const cols = (res.columns || []).map((c) => ({
|
||||||
key: c.key,
|
key: c.key,
|
||||||
header: c.header || c.key,
|
// Always show original field key; never localized display_name.
|
||||||
|
header: c.key || c.header || "",
|
||||||
}));
|
}));
|
||||||
setSheetColumns(cols.length ? cols : columnsFromRows(res.items || []));
|
setSheetColumns(cols.length ? cols : columnsFromRows(res.items || []));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue