aqhome-cgi: more work on userEdit dialog

This commit is contained in:
Martin Preuss
2025-09-19 16:34:50 +02:00
parent 8da865928a
commit 65c89fab07

View File

@@ -44,7 +44,8 @@ static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
static void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
static void _writeEditUserForm(const AQH_USER *user, const char *sAlias, GWEN_BUFFER *dbuf);
static void _addLabelAndInputToFormTableH(const char *sTitle, const char *sName, const char *sValue, GWEN_BUFFER *dbuf);
static void _addLabelAndInputToFormTableH(const char *title, const char *name, const char *value, const char *xxtra, GWEN_BUFFER *dbuf);
static void _addUserStateLabelAndSelectionToFormTableH(const char *sTitle, const char *sName, int st, GWEN_BUFFER *dbuf);
static void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const char *sModName);
@@ -184,20 +185,14 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
id=AQH_User_GetId(currentUser);
sAlias=AQH_User_GetAlias(currentUser);
GBAS(dbuf, "<tr>");
/* id */
GBAA(dbuf, "<td>%lu</td>", (unsigned long int) id);
/* alias */
GBAA(dbuf, "<td>%s</td>", sAlias?sAlias:"");
/* name */
s=AQH_User_GetName(currentUser);
GBAA(dbuf, "<td>%s</td>", s?s:"");
/* status */
s=AQH_UserState_toString(AQH_User_GetState(currentUser));
GBAA(dbuf, "<td>%s</td>", s?s:"");
/* email */
s=AQH_User_GetEmail(currentUser);
GBAA(dbuf, "<td>%s</td>", s?s:"");
/* notes */
s=AQH_User_GetNotes(currentUser);
GBAA(dbuf, "<td>%s</td>", s?s:"");
@@ -251,17 +246,17 @@ void _handleRqEditUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
void _writeEditUserForm(const AQH_USER *user, const char *sAlias, GWEN_BUFFER *dbuf)
{
/* write module info */
GBAS(dbuf, "<h2>Module Info</h2>\n");
GBAS(dbuf,
"<form action=\"edituser.html\" method=\"post\">\n"
"<table class=\"formtable\">\n");
_addLabelAndInputToFormTableH("Alias", "alias", AQH_User_GetAlias(user), dbuf);
_addLabelAndInputToFormTableH("Name", "name", AQH_User_GetName(user), dbuf);
_addLabelAndInputToFormTableH("Email", "email", AQH_User_GetEmail(user), dbuf);
_addLabelAndInputToFormTableH("Notes", "notes", AQH_User_GetNotes(user), dbuf);
_addLabelAndInputToFormTableH("Alias", "alias", AQH_User_GetAlias(user), "required", dbuf);
_addLabelAndInputToFormTableH("Name", "name", AQH_User_GetName(user), NULL, dbuf);
_addLabelAndInputToFormTableH("Email", "email", AQH_User_GetEmail(user), NULL, dbuf);
_addLabelAndInputToFormTableH("Notes", "notes", AQH_User_GetNotes(user), NULL, dbuf);
_addUserStateLabelAndSelectionToFormTableH("Status", "status", AQH_User_GetState(user), dbuf);
GBAS(dbuf, "</table>\n");
GBAA(dbuf, "<input type=\"hidden\" name=\"alias\" value=\"%s\">\n", sAlias);
GBAS(dbuf, "<input type=\"submit\" value=\"Save\">\n</form>\n\n");
@@ -271,13 +266,32 @@ void _writeEditUserForm(const AQH_USER *user, const char *sAlias, GWEN_BUFFER *d
void _addLabelAndInputToFormTableH(const char *sTitle, const char *sName, const char *sValue, GWEN_BUFFER *dbuf)
void _addUserStateLabelAndSelectionToFormTableH(const char *sTitle, const char *sName, int st, GWEN_BUFFER *dbuf)
{
int i;
GBAA(dbuf, "<tr><td><label for=\"%s\">%s:</label></td>", sName?sName:"", sTitle?sTitle:"");
GBAA(dbuf, "<td><select name=\"%s\">", sName?sName:"");
for(i=AQH_UserState_Unknown; i<=AQH_UserState_Active; i++) {
const char *s;
s=AQH_UserState_toString(i);
GBAA(dbuf, "<option value=\"%s\" %s>%s</option>", s, (i==st)?"selected":"", s);
}
GBAS(dbuf, "</select></td></tr>");
}
void _addLabelAndInputToFormTableH(const char *sTitle, const char *sName, const char *sValue, const char *sExtra, GWEN_BUFFER *dbuf)
{
GBAS(dbuf, "<tr>");
GBAA(dbuf, "<td><label for=\"%s:\">%s</label></td>", sName?sName:"", sTitle?sTitle:"");
GBAA(dbuf, "<td><input type=\"text\" name=\"%s\"", sName?sName:"");
if (sValue && *sValue)
GBAA(dbuf, " value=\"%s\"", sValue);
if (sExtra && *sExtra)
GBAA(dbuf, " %s", sExtra);
GBAS(dbuf, "></td>");
GBAS(dbuf, "</tr>\n");
}