032ee604735db232b12e1d49a7f2b8a3710c4536 hiram Wed Sep 5 15:33:27 2012 -0700 only show clades for databases that are active redmine 8846 diff --git src/hg/lib/web.c src/hg/lib/web.c index f274f35..743a501 100644 --- src/hg/lib/web.c +++ src/hg/lib/web.c @@ -481,41 +481,44 @@ va_end(args); exit(0); } void printCladeListHtml(char *genome, char *onChangeText) /* Make an HTML select input listing the clades. */ { char **row = NULL; char *clades[128]; char *labels[128]; char *defaultClade = hClade(genome); char *defaultLabel = NULL; int numClades = 0; struct sqlConnection *conn = hConnectCentral(); // after hClade since it access hgcentral too -struct sqlResult *sr = sqlGetResult(conn, "select name, label from clade order by priority"); +// get only the clades that have actual active genomes +struct sqlResult *sr = sqlGetResult(conn, "SELECT DISTINCT(c.name), c.label FROM clade c, genomeClade g, dbDb d WHERE c.name=g.clade AND d.organism=g.genome AND d.active=1 ORDER BY c.priority"); while ((row = sqlNextRow(sr)) != NULL) { clades[numClades] = cloneString(row[0]); labels[numClades] = cloneString(row[1]); if (sameWord(defaultClade, clades[numClades])) defaultLabel = clades[numClades]; numClades++; if (numClades >= ArraySize(clades)) internalErr(); } +sqlFreeResult(&sr); +hDisconnectCentral(&conn); cgiMakeDropListFull(cladeCgiName, labels, clades, numClades, defaultLabel, onChangeText); } static void printSomeGenomeListHtmlNamedMaybeCheck(char *customOrgCgiName, char *db, struct dbDb *dbList, char *onChangeText, boolean doCheck) /* Prints to stdout the HTML to render a dropdown list * containing a list of the possible genomes to choose from. * param db - a database whose genome will be the default genome. * If NULL, no default selection. * param onChangeText - Optional (can be NULL) text to pass in * any onChange javascript. */ { char *orgList[1024];