87c656377e1664b3175828540e1d371631fffdda
chinhli
  Tue Jun 11 19:45:38 2013 -0700
Thank you suggestion confirmed page.
diff --git src/hg/hgUserSuggestion/hgUserSuggestion.c src/hg/hgUserSuggestion/hgUserSuggestion.c
index ef2c05f..a7e8ebc 100644
--- src/hg/hgUserSuggestion/hgUserSuggestion.c
+++ src/hg/hgUserSuggestion/hgUserSuggestion.c
@@ -20,31 +20,31 @@
 
 /* ---- Global variables. ---- */
 struct cart *cart;	/* The user's ui state. */
 struct hash *oldVars = NULL;
 
 /* ---- Global helper functions ---- */
 void checkHgConfForSuggestion()
 /* Abort if hg.conf has not been set up to accept suggestion */
 {
 if (isEmpty(cfgOption(CFG_SUGGEST_MAILTOADDR)) ||
     isEmpty(cfgOption(CFG_SUGGEST_MAILFROMADDR)) ||
     isEmpty(cfgOption(CFG_FILTERKEYWORD))        ||
     isEmpty(cfgOption(CFG_SUGGEST_MAIL_SIGNATURE)) ||
     isEmpty(cfgOption(CFG_SUGGEST_MAIL_RETURN_ADDR)) ||
     isEmpty(cfgOption(CFG_SUGGEST_BROWSER_NAME)))
-    errAbort("This Genome Browser has not been configured to accept suggestion yet. Please contact the browser administrator for more information.");
+    errAbort("This Genome Browser has not been configured to accept suggestions yet. Please contact the browser administrator for more information.");
 }
 
 char *mailToAddr()
 /* Return the address to send suggestion to  */
 {
 return cloneString(cfgOption(CFG_SUGGEST_MAILTOADDR));
 }
 
 char *mailFromAddr()
 /* Return the bogus sender address to help filter out spam */
 {
 return cloneString(cfgOption(CFG_SUGGEST_MAILFROMADDR));
 }
 
 char *filterKeyword()
@@ -109,31 +109,30 @@
     "         </select><BR>\n");
 hPrintf(
     "       <label for=\"summary\">Summary:</label><input type=\"text\" name=\"suggestSummary\" id=\"summary\" size=\"50\" /><BR>\n"
     "       <label for=\"details\">Details:</label><BR><textarea name=\"suggestDetails\" id=\"details\" cols=\"100\" rows=\"10\"></textarea><BR>  \n"
     "     </div>\n");
 hPrintf(
     "         <p>\n"
     "           <label for=\"code\">Enter the following value below: <span id=\"txtCaptchaDiv\" style=\"color:#F00\"></span><BR><!-- this is where the script will place the generated code --> \n"
     "           <input type=\"hidden\" id=\"txtCaptcha\" /></label><!-- this is where the script will place a copy of the code for validation: this is a hidden field -->\n"
     "           <input type=\"text\" name=\"txtInput\" id=\"txtInput\" size=\"30\" />\n"
     "         </p>\n");
 hPrintf(
     "      <div class=\"formControls\">\n"
     "        <input id=\"sendButton\" type=\"button\" value=\"Send\" onclick=\"submitform()\"/> \n"
     "        <input type=\"reset\" name=\"suggestClear\" value=\"Clear\" class=\"largeButton\"> \n"
-//    "        <input type=\"cancel\" name=\"Cancel\" value=\"Cancel\" class=\"largeButton\">\n"
     "      </div>\n"
     "      \n"
     "     </FORM>\n\n");
 }
 void printValidateScript()
 /* javascript to validate form inputs */
 {
 hPrintf(  
     "    <script type=\"text/javascript\">\n"
     "    function validateMainForm(theform)\n"
     "    {\n"
     "    var x=theform.suggestName.value;\n"
     "    if (x==null || x==\"\")\n"
     "      {\n"
     "      alert(\"Name field must be filled out\");\n"
@@ -244,42 +243,49 @@
 void printSubmitFormScript()
 /* javascript to submit form */
 {
 hPrintf(
     "     <script type=\"text/javascript\">\n"
     "     function submitform()\n"
     "     {\n"
     "      if ( validateMainForm(document.forms[\"mainForm\"]) && checkCaptcha(document.forms[\"mainForm\"]))\n"
     "        {\n"
     "          document.forms[\"mainForm\"].submit();\n"
     "        }\n"
     "     }\n"
     "     </script>\n\n");
 }
 
-void printSuggestionConfirmed()
+void printSuggestionConfirmed(char *summary, char * refID, char *userAddr, char *adminAddr, char *details)
+/* display suggestion confirm page */
 {
 hPrintf(
     "<h2>Thank you for your suggestion!</h2>");
 hPrintf(
     "<p>"
-    "Thank you for your suggestion regarding the UCSC Genome Browser.<BR>"
-    "A confirmation mail has send to you containing an unique suggestion ID,<BR>"
-"Please use this ID for all future communications related to this suggestion.</p><BR>");
+    "Thank you for your suggestion regarding %s. <BR>"
+    "You may follow up on the status of your request at any time by sending email to %s "
+    "and quoting your reference number:<BR><BR>%s<BR><BR>"
+    "A copy of this information has also been sent to you at %s.<BR></p>",
+    summary, adminAddr, refID, userAddr); 
 hPrintf(
-    "<p><a href=\"hgUserSuggestion\">Click here for more suggestions</a><BR></p>");
-
+    "<p><a href=\"hgUserSuggestion\">Click here if you wish to make additional suggestions.</a></p>");
+hPrintf(
+    "<p>"
+    "Your suggestion:<BR>"
+    "%s</p>",
+    details);
 } 
 
 void sendSuggestionBack(char *sName, char *sEmail, char *sCategory, char *sSummary, char *sDetails, char *suggestID)
 /* send back the suggestion */
 {
 /* parameters from hg.cong */
 char *mailTo = mailToAddr();
 char *mailFrom=mailFromAddr();
 char *filter=filterKeyword();
 char subject[256];
 char msg[4096]; /* need to make larger */
 safef(msg, sizeof(msg),
     "SuggestionID:: %s\nUserName:: %s\nUserEmail:: %s\nCategory:: %s\nSummary:: %s\n\n\nDetails::\n%s",
     suggestID, sName, sEmail, sCategory, sSummary, sDetails);
 
@@ -329,31 +335,31 @@
 char *sName=cartUsualString(cart,"suggestName","");
 char *sEmail=cartUsualString(cart,"suggestEmail","");
 char *sCategory=cartUsualString(cart,"suggestCategory","");
 char *sSummary=cartUsualString(cart,"suggestSummary","");
 char *sDetails=cartUsualString(cart,"suggestDetails","");
 
 char suggestID[256];
 safef(suggestID, sizeof(suggestID),"%s-%s", sEmail, now());
 char subject[256];
 safef(subject, sizeof(subject),"%s %s", filter, suggestID);
 /* send back the suggestion */
 sendSuggestionBack(sName, sEmail, sCategory, sSummary, sDetails, suggestID);
 /* send confirmation mail to user */
 sendConfirmMail(sEmail,suggestID);
 /* display confirmation page */
-printSuggestionConfirmed();
+printSuggestionConfirmed(sSummary, suggestID, sEmail, mailReturnAddr(), sDetails);
 cartRemove(cart, "do.suggestSendMail");
 }
 
 void doMiddle(struct cart *theCart)
 /* Write header and body of html page. */
 {
 char *db, *organism;
 cart = theCart;
 getDbAndGenome(cart, &db, &organism, oldVars);
 cartWebStart(theCart, db, "User Suggestion");
 checkHgConfForSuggestion();
 if (cartVarExists(cart, "do.suggestSendMail"))
     {
     submitSuggestion();
     cartRemove(cart, "do.suggestSendMail");