68556d6313c84572edde3f854fd0ee2592cee9b7
tdreszer
  Mon Sep 12 14:05:12 2011 -0700
Further work to have cv label appear instead of term in file search, fileUi and metadata dropdown
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index cf91d3c..3c585f4 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -205,50 +205,39 @@
             {
             struct slName *file = slPopHead(&fileSet);
             dyStringAppend(dyTable,htmlStringForDownloadsLink(db, tdb, file->name, TRUE, trackHash));
             if (fileSet != NULL)
                 dyStringAppend(dyTable,"<BR>");
             slNameFree(&file);
             }
 #endif///ndef NO_FILENAME_LISTS
         dyStringAppend(dyTable,"</td></tr>");
         }
     else
         {
         if (cvTermTypes && differentString(mdbVar->var,MDB_VAR_TABLENAME)) // Don't bother with tableName
             {
             struct hash *cvTerm = hashFindVal(cvTermTypes,mdbVar->var);
-            if (cvTerm != NULL)
+            if (cvTerm != NULL) // even if cvTerm isn't used, it proves that it exists and a link is desirable
                 {
                 if(!cvTermIsHidden(mdbVar->var))
                     {
-                    char *label=hashFindVal(cvTerm,CV_LABEL);
-                    if (label == NULL)
-                        label = mdbVar->var;
+                    char *label = (char *)cvLabel(NULL,mdbVar->var);
                     char *linkOfType = controlledVocabLink(NULL,CV_TYPE,mdbVar->var,label,label,NULL);
-                    char *cvDefined=hashFindVal(cvTerm,CV_TOT_CV_DEFINED);
-                    if (cvDefined != NULL && !SETTING_IS_OFF(cvDefined)) // assume setting is ON
-                        {
-                        label = NULL;
-                        if (SETTING_IS_ON(cvDefined))
+                    if (cvTermIsCvDefined(mdbVar->var))
                             {
-                            struct hash *cvVal = (struct hash *)cvOneTermHash(mdbVar->var,mdbVar->val);
-                            if (cvVal != NULL)
-                                label=hashFindVal(cvVal,CV_LABEL);
-                            }
-                        if (label == NULL)
-                            label = mdbVar->val;
+                        label = (char *)cvLabel(mdbVar->var,mdbVar->val);
                         char *linkOfTerm = controlledVocabLink(NULL,CV_TERM,mdbVar->val,label,label,NULL);
                         dyStringPrintf(dyTable,"<tr valign='bottom'><td align='right' nowrap><i>%s:</i></td><td nowrap>%s</td></tr>",linkOfType,linkOfTerm);
                         freeMem(linkOfTerm);
                         }
                     else
                         dyStringPrintf(dyTable,"<tr valign='bottom'><td align='right' nowrap><i>%s:</i></td><td nowrap>%s</td></tr>",linkOfType,mdbVar->val);
                     freeMem(linkOfType);
                     continue;
                     }
                 }
             }
         dyStringPrintf(dyTable,"<tr valign='bottom'><td align='right' nowrap><i>%s:</i></td><td nowrap>%s</td></tr>",mdbVar->var,mdbVar->val);
         }
     }
 dyStringAppend(dyTable,"</table>");