\n", ki->releaseLogUrl );
break;
+ case e_importance:
+ temp = "";
+ if (sameString(ki->importance, "") || sameString(ki->importance, " "))
+ temp = "Unprioritized";
+ else if (sameString(ki->importance, "B"))
+ temp = "Background";
+ else if (sameString(ki->importance, "L"))
+ temp = "Low";
+ else if (sameString(ki->importance, "M"))
+ temp = "Medium";
+ else if (sameString(ki->importance, "H"))
+ temp = "High";
+ else if (sameString(ki->importance, "U"))
+ temp = "Urgent";
+ printf("
%s
\n", temp );
+ break;
+
default:
errAbort("drawDisplayLine: unexpected case enum %d.",col);
}
}
void doDisplay()
/* handle display request, shows pushQ records, also this is the default action */
{
struct pushQ *ki, *kiList = NULL;
struct sqlResult *sr;
@@ -1358,81 +1380,82 @@
}
/* too bad this isn't part of autoSql's code generation */
void pushQUpdateEscaped(struct sqlConnection *conn, struct pushQ *el, char *tableName, int updateSize)
/* Update pushQ row to the table specified by tableName.
* As blob fields may be arbitrary size updateSize specifies the approx size.
* of a string that would contain the entire query. Automatically
* escapes all simple strings (not arrays of string) but may be slower than pushQSaveToDb().
* For example automatically copies and converts:
* "autosql's features include" --> "autosql\'s features include"
* before inserting into database. */
{
struct dyString *update = newDyString(updateSize);
-char *qid, *pqid, *priority, *qadate, *newYN, *track, *dbs, *tbls, *cgis, *files, *currLoc, *makeDocYN, *onlineHelp, *ndxYN, *joinerYN, *stat, *featureBits, *sponsor, *reviewer, *extSource, *openIssues, *notes, *pushState, *initdate, *lastdate, *lockUser, *lockDateTime, *releaseLog, *releaseLogUrl;
+char *qid, *pqid, *priority, *qadate, *newYN, *track, *dbs, *tbls, *cgis, *files, *currLoc, *makeDocYN, *onlineHelp, *ndxYN, *joinerYN, *stat, *featureBits, *sponsor, *reviewer, *extSource, *openIssues, *notes, *pushState, *initdate, *lastdate, *lockUser, *lockDateTime, *releaseLog, *releaseLogUrl, *importance;
qid = sqlEscapeString(el->qid);
pqid = sqlEscapeString(el->pqid);
priority = sqlEscapeString(el->priority);
qadate = sqlEscapeString(el->qadate);
newYN = sqlEscapeString(el->newYN);
track = sqlEscapeString(el->track);
dbs = sqlEscapeString(el->dbs);
tbls = sqlEscapeString(el->tbls);
cgis = sqlEscapeString(el->cgis);
files = sqlEscapeString(el->files);
currLoc = sqlEscapeString(el->currLoc);
makeDocYN = sqlEscapeString(el->makeDocYN);
onlineHelp = sqlEscapeString(el->onlineHelp);
ndxYN = sqlEscapeString(el->ndxYN);
joinerYN = sqlEscapeString(el->joinerYN);
stat = sqlEscapeString(el->stat);
featureBits = sqlEscapeString(el->featureBits);
sponsor = sqlEscapeString(el->sponsor);
reviewer = sqlEscapeString(el->reviewer);
extSource = sqlEscapeString(el->extSource);
openIssues = sqlEscapeString(el->openIssues);
notes = sqlEscapeString(el->notes);
pushState = sqlEscapeString(el->pushState);
initdate = sqlEscapeString(el->initdate);
lastdate = sqlEscapeString(el->lastdate);
lockUser = sqlEscapeString(el->lockUser);
lockDateTime = sqlEscapeString(el->lockDateTime);
releaseLog = sqlEscapeString(el->releaseLog);
releaseLogUrl = sqlEscapeString(el->releaseLogUrl);
+importance = sqlEscapeString(el->importance);
/* had to split this up because dyStringPrintf only up to 4000 chars at one time */
dyStringPrintf(update,
"update %s set "
"pqid='%s',priority='%s',rank=%u,qadate='%s',newYN='%s',track='%s',",
tableName, pqid, priority, el->rank, qadate, newYN, track);
dyStringPrintf(update, "dbs='%s',",dbs);
dyStringPrintf(update, "tbls='%s',",tbls);
dyStringPrintf(update, "cgis='%s',",cgis);
dyStringPrintf(update, "files='%s',",files);
dyStringPrintf(update, "sizeMB=%u,currLoc='%s',"
"makeDocYN='%s',onlineHelp='%s',ndxYN='%s',joinerYN='%s',stat='%s',"
"sponsor='%s',reviewer='%s',extSource='%s',",
el->sizeMB , currLoc, makeDocYN,
onlineHelp, ndxYN, joinerYN, stat,
sponsor, reviewer, extSource);
dyStringPrintf(update, "openIssues='%s',",openIssues);
dyStringPrintf(update, "notes='%s',",notes);
-dyStringPrintf(update, "pushState='%s', initdate='%s', lastdate='%s', bounces='%u',lockUser='%s',lockDateTime='%s',releaseLog='%s',featureBits='%s',releaseLogUrl='%s' "
+dyStringPrintf(update, "pushState='%s', initdate='%s', lastdate='%s', bounces='%u',lockUser='%s',lockDateTime='%s',releaseLog='%s',featureBits='%s',releaseLogUrl='%s',importance='%s' "
"where qid='%s'",
- pushState, initdate, lastdate, el->bounces, lockUser, lockDateTime, releaseLog, featureBits, releaseLogUrl,
+ pushState, initdate, lastdate, el->bounces, lockUser, lockDateTime, releaseLog, featureBits, releaseLogUrl, importance,
qid
);
sqlUpdate(conn, update->string);
freeDyString(&update);
freez(&qid);
freez(&pqid);
freez(&priority);
freez(&qadate);
freez(&newYN);
freez(&track);
freez(&dbs);
freez(&tbls);
freez(&cgis);
freez(&files);
@@ -1442,30 +1465,31 @@
freez(&ndxYN);
freez(&joinerYN);
freez(&stat);
freez(&sponsor);
freez(&reviewer);
freez(&extSource);
freez(&openIssues);
freez(¬es);
freez(&pushState);
freez(&initdate);
freez(&lastdate);
freez(&lockUser);
freez(&lockDateTime);
freez(&releaseLog);
freez(&releaseLogUrl);
+freez(&importance);
}
void getCgiData(bool *isOK, bool isPtr, void *ptr, int size, char *name)
/* get data, truncate to fit in field to prevent safef buf overflows */
{
int l = 0;
char **pfld = NULL;
char *fld = NULL;
char *cgi = NULL;
cgi = cgiString(name);
l = strlen(cgi);
if (isPtr)
{
pfld = (char **) ptr;
}
@@ -1607,30 +1631,31 @@
}
safef(newPriority, sizeof(newPriority), cgiString("priority"));
/* dates */
getCgiData(&isOK, FALSE, q->qadate , sizeof(q->qadate ), "qadate" );
getCgiData(&isOK, FALSE, q->initdate , sizeof(q->initdate ), "initdate" );
/* YN select listboxes */
getCgiData(&isOK, FALSE, q->newYN , sizeof(q->newYN ), "newYN" );
getCgiData(&isOK, FALSE, q->makeDocYN , sizeof(q->makeDocYN ), "makeDocYN" );
getCgiData(&isOK, FALSE, q->ndxYN , sizeof(q->ndxYN ), "ndxYN" );
getCgiData(&isOK, FALSE, q->joinerYN , sizeof(q->joinerYN ), "joinerYN" );
+getCgiData(&isOK, FALSE, q->importance, sizeof(q->importance), "importance" );
/* chr(255) strings */
getCgiData(&isOK, TRUE ,&q->track , 256 , "track" );
getCgiData(&isOK, TRUE ,&q->dbs , 256 , "dbs" );
getCgiData(&isOK, TRUE ,&q->cgis , 256 , "cgis" );
getCgiData(&isOK, TRUE ,&q->stat , 256 , "stat" );
/* integers */
if (sscanf(cgiString("sizeMB"),"%u",&q->sizeMB) != 1)
{
q->sizeMB = 0;
}
/* strings of various sizes */
getCgiData(&isOK, FALSE, q->currLoc , sizeof(q->currLoc ), "currLoc" );
@@ -3174,30 +3199,31 @@
}
void doShowEditHelp()
/* show the sizes of all the track tables, cgis, and general files in separate window target= _blank */
{
struct pushQ q;
ZeroVar(&q);
safef(q.qid,sizeof(q.qid),cgiString("qid"));
printf("
Details/Edit Help
\n");
printf(" \n");
printf("CANCEL - click to return to main display without saving changes. \n");
printf("HELP - click to see this help. \n");
printf(" \n");
printf("Initial submission - displays date automatically generated when push queue record is created. \n");
+printf("Importance - from Redmine. \n");
printf("Date Opened - date QA (re)opened. (YYYY-MM-DD) Defaults originally to current date to save typing. \n");
printf("New track? - choose Y if this is a new track (i.e. has never before appeared on beta). \n");
printf("Track - enter the track name as it will appear in the genome browser (use the shortLabel). \n");
printf("Release Log- enter the short Label (usually) followed by notes in parentheses if any. This appears in the release log unless empty. \n");
printf("Databases - enter db name. May be comma-separated list if more than one organism, etc. \n");
printf("Tables - enter as comma-separated list all tables that apply. They must exist in the database specified. Wildcard * supported. (Put comments in parentheses). \n");
printf("CGIs - enter names of any new cgis that are applicable. Must be found on hgwbeta. \n");
printf("Files - enter pathnames of any additional files if needed. \n");
printf("Size(MB) - enter the size of the total push in megabytes (MB). \n");
printf("Show Sizes button - click to see a complete list of sizes of all tables and cgis. Tables are relative to Current Location specified. \n");
printf("Current Location - chooose the current location of the files. Should default to hgwdev at start, after sudo mypush to hgwbeta, change this to hgwbeta. \n");
printf("Makedoc verified? - choose Y if you have verified the MakeAssembly.doc in kent/src/hg/makeDb. \n");
printf("Online help - enter status of online help. Verify hgTracksHelp \n");
printf("Index verified? - choose Y if the index has been verified. Use the ShowSizes button for a quick view. \n");
printf("All.joiner verified? - choose Y if the all.joiner in /hg/makeDb/schema has been verified. \n");