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("<TR><TD align='right'><B>%s:</B><TD align='left'>",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("<TD align='left'>to<TD align='left'>"); 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("<TD align='left'%s> (%g to %g)",altLabel,minLimit, maxLimit); else if (minLimit != NO_VALUE) printf("<TD align='left'%s> (minimum %g)",altLabel,minLimit);