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 // /////////////////////////////////////////////////