304aeae270067c5854358e2c4475ea34419dfec7 gperez2 Thu Aug 27 17:59:26 2026 -0700 Updating hgLogin's buttons, form labels, and two error messages to sentence case matching the Track QA Guidelines wiki page, refs #37929 diff --git src/hg/hgLogin/hgLogin.c src/hg/hgLogin/hgLogin.c index 54a2715a332..fa12b64a3ca 100644 --- src/hg/hgLogin/hgLogin.c +++ src/hg/hgLogin/hgLogin.c @@ -925,58 +925,58 @@ hPrintf( "

Change Password

" "\n" "

%s

" "\n" "
" "\n" "
" "" "" "
" "\n", errMsg ? errMsg : "", hgLoginUrl, htmlEncode(cartUsualString(cart, "hgLogin_userName", ""))); // value="" attribute; escape (XSS) hPrintf("
" "\n" - "" + "" "" ""); printPwdEyeIcon("curPwEyeIcon", "curPwEyeSlash"); hPrintf( "" "
" "\n" "
" - "" + "" "" ""); printPwdEyeIcon("newPw1EyeIcon", "newPw1EyeSlash"); hPrintf( "" "
" "\n" "
" - "" + "" "" ""); printPwdEyeIcon("newPw2EyeIcon", "newPw2EyeSlash"); hPrintf( "" "
" "\n" "
" - "   " + "   " " Cancel" "\n" "
" "
" "\n" "" "\n", getReturnToUrlForAttr()); if (pwdEyeIconEnabled) { printPwdToggleJS(); jsOnEventById("click", "curPwEyeIcon", "togglePwdVisibility('currentPw','curPwEyeSlash');"); jsOnEventById("click", "newPw1EyeIcon", "togglePwdVisibility('newPw1','newPw1EyeSlash');"); jsOnEventById("click", "newPw2EyeIcon", "togglePwdVisibility('newPw2','newPw2EyeSlash');"); } cartSaveSession(cart); @@ -997,38 +997,38 @@ errMsg = cloneString("Username cannot be blank."); changePasswordPage(conn); return; } if (!currentPassword || sameString(currentPassword,"")) { freez(&errMsg); errMsg = cloneString("Current password cannot be blank."); changePasswordPage(conn); return; } if (!newPassword1 || sameString(newPassword1,"") || (strlen(newPassword1)<5)) { freez(&errMsg); - errMsg = cloneString("New Password must be at least 5 characters long."); + errMsg = cloneString("New password must be at least 5 characters long."); changePasswordPage(conn); return; } if (!newPassword2 || sameString(newPassword2,"") ) { freez(&errMsg); - errMsg = cloneString("Re-enter New Password field cannot be blank."); + errMsg = cloneString("Re-enter new password field cannot be blank."); changePasswordPage(conn); return; } if (newPassword1 && newPassword2 && !sameString(newPassword1, newPassword2)) { freez(&errMsg); errMsg = cloneString("New passwords do not match."); changePasswordPage(conn); return; } /* check username existence and is user using a new password */ char *password; if (changeRequired && sameString(changeRequired, "YES")) { sqlSafef(query,sizeof(query), "SELECT newPassword FROM gbMembers WHERE userName='%s'", user); @@ -1175,31 +1175,31 @@ freeMem(encCurEmail); if (hasPassword) hPrintf("
" "" "" "
"); hPrintf("
" "" "" "
"); hPrintf("
" "" "" "
"); hPrintf("
" - "" + "" "  Cancel" "
", getReturnToUrlForAttr()); cartSaveSession(cart); } void changeEmail(struct sqlConnection *conn) /* Process the change-email form for the currently logged-in user. */ { if (!emailLinkEnabled()) { displayLoginPage(conn); return; } char *user = wikiLinkUserName(); if (isEmpty(user)) @@ -1327,67 +1327,67 @@ "
" "%s" "\n", hgLoginUrl, errMsg ? errMsg : ""); printUsernameNote(); hPrintf("
" "" "" "
" "\n" "
" "" "" "
" "\n" "
" - "" + "" "" "
\n", htmlEncode(cartUsualString(cart, "hgLogin_userName", "")), // all three go into value="" attributes; escape (XSS) htmlEncode(cartUsualString(cart, "hgLogin_email", "")), htmlEncode(cartUsualString(cart, "hgLogin_email2", ""))); if (sqlFieldIndex(conn, "gbMembers", "recovEmail") != -1) hPrintf("
" - "" + "" "" "
" "\n"); hPrintf("
" "" "" "", htmlEncode(cartUsualString(cart, "hgLogin_password", ""))); // value="" attribute; escape (XSS) printPwdEyeIcon("signupPwEyeIcon", "signupPwEyeSlash"); hPrintf( "" "
" "\n" "
" - "" + "" "" "", htmlEncode(cartUsualString(cart, "hgLogin_password2", ""))); // value="" attribute; escape (XSS) printPwdEyeIcon("signupPwCheckEyeIcon", "signupPwCheckEyeSlash"); hPrintf( "" "\n" "
" "\n" "
" - "   " + "   " " Cancel" "
" "
" "", getReturnToUrlForAttr()); if (pwdEyeIconEnabled) { printPwdToggleJS(); jsOnEventById("click", "signupPwEyeIcon", "togglePwdVisibility('password','signupPwEyeSlash');"); jsOnEventById("click", "signupPwCheckEyeIcon", "togglePwdVisibility('passwordCheck','signupPwCheckEyeSlash');"); } cartSaveSession(cart); } void signup(struct sqlConnection *conn) @@ -1996,31 +1996,31 @@ hPrintf("

You signed in with %s. Pick a username for your new %s account. " "You can change the suggested name below.

", oauthProviderLabel(provider), brwName); printUsernameNote(); hPrintf("%s", errMsg ? errMsg : ""); hPrintf("
", hgLoginUrl); hPrintf("
" "" "" "
", encSuggested); hPrintf("
" "" "" "
", encEmail); hPrintf("
" - "" + "" "  Cancel" "
", getReturnToUrlForAttr()); cartSaveSession(cart); freeMem(encSuggested); freeMem(encEmail); } void completeAccount(struct sqlConnection *conn) /* Create the account for a first-time social-login user, link the identity, and log in. */ { char *provider = cartUsualString(cart, "oauth_pending_provider", ""); char *subject = cartUsualString(cart, "oauth_pending_subject", ""); if (isEmpty(provider) || isEmpty(subject) || !pendingIdentityValid()) { clearPendingIdentity(); @@ -2162,31 +2162,31 @@ hPrintf("
", hgLoginUrl); hPrintf("
"); boolean first = TRUE; for (m = list; m != NULL; m = m->next) { char *encUserName = htmlEncode(m->userName); hPrintf("
" "" "
", m->idx, m->idx, first ? " checked" : "", m->idx, encUserName); freeMem(encUserName); first = FALSE; } hPrintf("
"); hPrintf("
" - "" + "" "  Cancel" "
", getReturnToUrlForAttr()); cartSaveSession(cart); freeMem(encEmail); gbMembersFreeList(&list); } void chooseAccount(struct sqlConnection *conn) /* Finish the "which account?" chooser: for OAuth, link the pending identity to the chosen * account; for the email link, just sign in. Either way, only accept an account that really * matches the verified email (and, for the email link, still holds the valid token), never an * arbitrary username the client might submit. */ { int chosenIdx = cartUsualInt(cart, "hgLogin_chosenIdx", 0); char *provider = cartUsualString(cart, "oauth_pending_provider", "");