7c0f858f25aac46cc49fbdb588a24ee9baeb8da3 tdreszer Wed Aug 17 15:41:37 2011 -0700 dateUnrestricted should no longer be calculated off of dateSubmitted. It should also no longer be seen in hgc or hgTables when it is in the past. diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 9038544..7ab3cb3 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -3728,64 +3728,47 @@ case cfgBedFilt: bedUi(tdb,cart,title, boxed); break; #ifdef USE_BAM case cfgBam: bamCfgUi(cart, tdb, prefix, title, boxed); break; #endif case cfgVcf: vcfCfgUi(cart, tdb, prefix, title, boxed); break; case cfgPsl: pslCfgUi(db,cart,tdb,prefix,title,boxed); break; default: warn("Track type is not known to multi-view composites. type is: %d ", cType); break; } } -char *encodeRestrictionDateDisplay(char *db,struct trackDb *trackDb) +char *encodeRestrictionDate(char *db,struct trackDb *trackDb,boolean excludePast) /* Create a string for ENCODE restriction date of this track if return is not null, then free it after use */ { if (!trackDb) return NULL; -boolean addMonths = FALSE; char *date = NULL; if(metadataForTable(db,trackDb,NULL) != NULL) { - addMonths = FALSE; date = cloneString((char *)metadataFindValue(trackDb,"dateUnrestricted")); - if(date == NULL) // TODO: The logic to calculate date based upon dateSubmitted should be removed. However, I don't think we can do it until the mdb is used for all hg18 composites. - { - date = cloneString((char *)metadataFindValue(trackDb,"dateSubmitted")); - addMonths = TRUE; - } - } -if(date == NULL) - { - date = trackDbSetting(trackDb, "dateSubmitted"); - if(date) - { - addMonths = TRUE; - date = cloneString(date); // all returns should be freeable memory - } - } if (date != NULL) - { - date = strSwapChar(date, ' ', 0); // Truncate time - if(addMonths) - date = dateAddTo(date, "%F", 0, 9, 0); + date = strSwapChar(date, ' ', 0); // Truncate time (not expected, but just in case) + + if (excludePast && dateIsOld(date,"%F")) + freez(&date); } return date; } static void cfgLinkToDependentCfgs(struct cart *cart, struct trackDb *tdb,char *prefix) /* Link composite or view level controls to all associateled lower level controls */ { if (!cartVarExists(cart, "ajax") && tdbIsComposite(tdb)) #ifdef SUBTRACK_CFG_POPUP printf("\n",prefix); #else///ifndef SUBTRACK_CFG_POPUP printf("\n",prefix); #endif///ndef SUBTRACK_CFG_POPUP } @@ -4134,31 +4117,31 @@ MAKE_CFG_SUBTRACK_DIV(subtrack->track,htmlIdentifier,open); safef(htmlIdentifier,sizeof(htmlIdentifier),"%s",subtrack->track); cfgByCfgType(cType,db,cart,subtrack,htmlIdentifier,"Subtrack",TRUE); printf(""); } #endif///ndef SUBTRACK_CFG_POPUP // A schema link for each track printf("\n "); makeSchemaLink(db,subtrack,"schema"); printf(" "); // Do we have a restricted until date? if (restrictions) { - char *dateDisplay = encodeRestrictionDateDisplay(db,subtrack); + char *dateDisplay = encodeRestrictionDate(db,subtrack,FALSE); // includes dates in the past if (dateDisplay) { if (dateIsOld(dateDisplay,"%F")) printf("\n %s ", dateDisplay); else printf("\n %s ", dateDisplay); } } // End of row and free ourselves of this subtrack puts("\n"); checkBoxIdFree(&id); } // End of the table @@ -6391,31 +6374,30 @@ first = FALSE; } } } dyStringPrintf(dyLink,VOCAB_MULTILINK_END,members->groupTitle,members->groupTitle); freeMem(vocab); return dyStringCannibalize(&dyLink); } static boolean compositeUiByFilter(char *db, struct cart *cart, struct trackDb *parentTdb, char *formName) /* UI for composite tracks: filter subgroups by multiselects to select subtracks. */ { membersForAll_t* membersForAll = membersForAllSubGroupsGet(parentTdb,cart); if(membersForAll == NULL || membersForAll->filters == FALSE) // Not Matrix or filters return FALSE; -jsIncludeFile("ui.core.js",NULL); webIncludeResourceFile("ui.dropdownchecklist.css"); jsIncludeFile("ui.dropdownchecklist.js",NULL); #ifdef NEW_JQUERY jsIncludeFile("ddcl.js",NULL); #endif///def NEW_JQUERY cgiDown(0.7); printf("Filter subtracks %sby: (select multiple %sitems - %s)
\n", (membersForAll->members[dimX] != NULL || membersForAll->members[dimY] != NULL ? "further ":""), (membersForAll->dimMax == dimA?"":"categories and "),FILTERBY_HELP_LINK); printf("\n"); // Do All [+][-] buttons if(membersForAll->members[dimX] == NULL && membersForAll->members[dimY] == NULL) // No matrix {