From c58d8fd7deb6f54a0bf7d99c41565d4b462d66c2 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 2 Nov 2023 14:32:53 -0500 Subject: [PATCH] CE-604 Let a customizer set a record label --- .../qqq/backend/core/actions/values/QValueFormatter.java | 8 ++++++++ .../backend/core/actions/values/QValueFormatterTest.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java index 7dc51ca4..860a4279 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java @@ -274,6 +274,14 @@ public class QValueFormatter *******************************************************************************/ private static String formatRecordLabelExceptionalCases(QTableMetaData table, QRecord record) { + ////////////////////////////////////////////////////////////////////////////////////// + // if the record already has a label (say, from a query-customizer), then return it // + ////////////////////////////////////////////////////////////////////////////////////// + if(record.getRecordLabel() != null) + { + return (record.getRecordLabel()); + } + /////////////////////////////////////////////////////////////////////////////////////// // if there's no record label format, then just return the primary key display value // /////////////////////////////////////////////////////////////////////////////////////// diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatterTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatterTest.java index 52b9db39..893c2a41 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatterTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatterTest.java @@ -121,6 +121,12 @@ class QValueFormatterTest extends BaseTest table = new QTableMetaData().withPrimaryKeyField("id"); assertEquals("42", QValueFormatter.formatRecordLabel(table, new QRecord().withValue("id", 42))); + /////////////////////////////////////////////////////////////////////////////////////// + // exceptional flow: no recordLabelFormat specified, and record already had a label // + /////////////////////////////////////////////////////////////////////////////////////// + table = new QTableMetaData().withPrimaryKeyField("id"); + assertEquals("my label", QValueFormatter.formatRecordLabel(table, new QRecord().withRecordLabel("my label").withValue("id", 42))); + ///////////////////////////////////////////////// // exceptional flow: no fields for the format // /////////////////////////////////////////////////