550fe72fc67d9683003817fa862edb530d757c2b
braney
Tue Oct 1 11:46:06 2019 -0700
fix bug in number filtering when float is specified in tdb, but the actual
field is an integer
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index b8b6146..c5c6332 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -5863,31 +5863,31 @@
}
printf("
%s: | ",label);
char varName[256];
char altLabel[256];
safef(varName, sizeof(varName), "%s%s", scoreName, _BY_RANGE);
boolean filterByRange = trackDbSettingClosestToHomeOn(tdb, varName);
// NOTE: could determine isFloat = (strchr(setting,'.') != NULL);
// However, historical trackDb settings of pValueFilter did not always contain '.'
if (isFloat)
{
double minLimit=NO_VALUE,maxLimit=NO_VALUE;
double minVal=minLimit,maxVal=maxLimit;
colonPairToDoubles(setting,&minVal,&maxVal);
getScoreFloatRangeFromCart(cart,tdb,parentLevel,scoreName,&minLimit,&maxLimit,
&minVal, &maxVal);
- safef(varName, sizeof(varName), "%s.%s%s", name, scoreName, _MIN);
+ safef(varName, sizeof(varName), "%s.%s%s", name, scoreName, filterByRange ? _MIN:"");
safef(altLabel, sizeof(altLabel), "%s%s", (filterByRange ? "Minimum " : ""),
htmlEncode(htmlTextStripTags(label)));
cgiMakeDoubleVarWithLimits(varName,minVal, altLabel, 0,minLimit, maxLimit);
if (filterByRange)
{
printf(" | to | ");
safef(varName, sizeof(varName), "%s.%s%s", name, scoreName, _MAX);
safef(altLabel, sizeof(altLabel), "%s%s", (filterByRange?"Maximum ":""), label);
cgiMakeDoubleVarWithLimits(varName,maxVal, altLabel, 0,minLimit, maxLimit);
}
safef(altLabel, sizeof(altLabel), "%s", (filterByRange?"": "colspan=3"));
if (minLimit != NO_VALUE && maxLimit != NO_VALUE)
printf(" | (%g to %g)",altLabel,minLimit, maxLimit);
else if (minLimit != NO_VALUE)
printf(" | (minimum %g)",altLabel,minLimit);
|