ca9faceb4bea8c732c739d9ae3499cb6e14014e1
kate
Thu May 9 11:10:06 2019 -0700
Limit top links for Downloads and Contacts to ENCODE production phase tracks (not required for ENCODE 3 tracks). refs #23243
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 71f92cd..7995b47 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -68,50 +68,53 @@
printf(DEF_BUTTON,(anc),"defaults_sm.png","default"); \
safef(id, sizeof id, "btn_%s", (anc)); \
jsOnEventByIdF("click", id, DEF_BUTTON_JS,(nameOrId),(beg),(contains),(nameOrId),(beg),(contains));
#define PM_BUTTON "
\n"
#define PM_BUTTON_JS "setCheckBoxesThatContain('%s',%s,true,'%s','','%s');"
#define PLUS_BUTTON(nameOrId,anc,beg,contains) \
printf(PM_BUTTON, (anc), "add_sm.gif", "+"); \
safef(id, sizeof id, "btn_%s", (anc)); \
jsOnEventByIdF("click", id, PM_BUTTON_JS, (nameOrId),"true", (beg),(contains));
#define MINUS_BUTTON(nameOrId,anc,beg,contains) \
printf(PM_BUTTON, (anc), "remove_sm.gif", "-"); \
safef(id, sizeof id, "btn_%s", (anc)); \
jsOnEventByIdF("click", id, PM_BUTTON_JS, (nameOrId),"false", (beg),(contains));
-boolean isEncode2(char *database)
-// Return true for ENCODE2 assemblies
+boolean isEncode2(char *database, char *track)
+/* Return true for tracks created by UCSC DCC during ENCODE production phase */
{
-return (sameString(database, "hg18") || sameString(database, "hg19") || sameString(database, "mm9"));
+if (startsWith("wgEncode", track))
+ return (sameString(database, "hg18") || sameString(database, "hg19") ||
+ sameString(database, "mm9"));
+return FALSE;
}
static char *htmlStringForDownloadsLink(char *database, struct trackDb *tdb,
char *name,boolean nameIsFile)
// Returns an HTML string for a downloads link
{
// If has fileSortOrder, then link to new hgFileUi
if (!nameIsFile && trackDbSetting(tdb, FILE_SORT_ORDER) != NULL)
{
char * link = needMem(PATH_LEN); // 512 should be enough
safef(link,PATH_LEN,"%s",
hgFileUiName(),database, /*cartSessionVarName(),cartSessionId(cart),*/ tdb->track, name);
// Note the hgsid would be needed if downloads page ever saved fileSortOrder to cart.
return link;
}
-else if (trackDbSetting(tdb, "wgEncode") != NULL && isEncode2(database)) // Downloads directory if this is ENCODE
+else if (trackDbSetting(tdb, "wgEncode") != NULL && isEncode2(database, tdb->track)) // Downloads directory if this is ENCODE
{
const char *compositeDir = metadataFindValue(tdb, MDB_OBJ_TYPE_COMPOSITE);
if (compositeDir == NULL && tdbIsComposite(tdb))
compositeDir = tdb->track;
if (compositeDir != NULL)
{
struct dyString *dyLink =
dyStringCreate("%s",
hDownloadsServer(), database, ENCODE_DCC_DOWNLOADS, compositeDir,
(nameIsFile?name:""), nameIsFile?"file":"files",name);
return dyStringCannibalize(&dyLink);
}
}
return NULL;