3d00d8348e1cb6eafec60cc3d7321f6de7e669be braney Mon Dec 12 13:09:49 2022 -0800 be smarter about showing the user error messages diff --git src/hg/lib/web.c src/hg/lib/web.c index c05f8e2..5c4725b 100644 --- src/hg/lib/web.c +++ src/hg/lib/web.c @@ -907,33 +907,36 @@ * In the cart only, we use the same order of preference. * If someone requests an Genome we try to give them the same db as * was in their cart, unless the Genome doesn't match. */ { boolean gotClade = hGotClade(); *retDb = (dbOveride != NULL) ? dbOveride : cgiOptionalString(dbCgiName); if (*retDb == NULL) // if db is not in URL, but genome is, use it for db *retDb = cgiOptionalString(hgHubGenome); *retGenome = cgiOptionalString(orgCgiName); *retClade = cgiOptionalString(cladeCgiName); /* Was the database passed in as a cgi param? * If so, it takes precedence and determines the genome. */ -if (*retDb && hDbExists(*retDb)) +if (*retDb) { + if (hDbExists(*retDb)) *retGenome = hGenome(*retDb); + else + errAbort("No db called %s", *retDb); } /* If no db was passed in as a cgi param then was the organism (a.k.a. genome) * passed in as a cgi param? * If so, the we use the proper database for that genome. */ else if (*retGenome && !sameWord(*retGenome, "0")) { *retDb = getDbForGenome(*retGenome, cart); *retGenome = hGenome(*retDb); } else if (*retClade && gotClade) { *retGenome = hDefaultGenomeForClade(*retClade); *retDb = getDbForGenome(*retGenome, cart); } /* If no cgi params passed in then we need to inspect the session */