diff --git a/apps/aqhome-cgi/modules/common/musers.c b/apps/aqhome-cgi/modules/common/musers.c index 6cfbd4a..0837bc5 100644 --- a/apps/aqhome-cgi/modules/common/musers.c +++ b/apps/aqhome-cgi/modules/common/musers.c @@ -42,8 +42,20 @@ static void _createRoleList(AQH_MODULE *m); static AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName); static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem); static void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf); +static void _handleRqEditUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf); +static void _handleRqEditUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf); +static void _handleRqAddUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf); +static void _handleRqAddUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf); + +static int _getHighestUserId(const AQH_USER_LIST *userList); +static void _writeEditUserForm(AQH_MODULE *m, + const AQH_USER *u, + const char *sAlias, + const char *sUrl, + const char *sSubmitText, + GWEN_BUFFER *dbuf); +static void _writeModulePerms(const AQH_MODULE *destMod, const AQH_MODULE_PERMS *modPerms, GWEN_BUFFER *dbuf); -static void _writeEditUserForm(const AQH_USER *user, const char *sAlias, 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); @@ -58,6 +70,10 @@ static void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const static AQH_MODSERVICE_HANDLER_ENTRY _requestTable[]={ {"index.html", AQCGI_REQUEST_METHOD_GET, AQH_MODADMUSERS_PERMS_USERSREAD, _handleRqIndex}, + {"edituser.html", AQCGI_REQUEST_METHOD_GET, AQH_MODADMUSERS_PERMS_USERSWRITE, _handleRqEditUserGet}, + {"edituser.html", AQCGI_REQUEST_METHOD_POST, AQH_MODADMUSERS_PERMS_USERSWRITE, _handleRqEditUserPost}, + {"adduser.html", AQCGI_REQUEST_METHOD_GET, AQH_MODADMUSERS_PERMS_USERSWRITE, _handleRqAddUserGet}, + {"adduser.html", AQCGI_REQUEST_METHOD_POST, AQH_MODADMUSERS_PERMS_USERSWRITE, _handleRqAddUserPost}, {NULL, 0, 0, NULL} }; @@ -151,68 +167,63 @@ int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf) { - AQH_SERVICE *sv; - GWEN_STRINGLIST *slUsers; + AQH_USER_LIST *userList; uint32_t perms; perms=AQH_ModService_GetUserPerms(m); - sv=AQH_ModService_GetService(m); - slUsers=AQH_Service_ListUsers(sv); - if (slUsers) { - GWEN_STRINGLISTENTRY *se; + userList=AQH_ModService_LoadRawUsers(m); - GBAS(dbuf, "
| Id | Alias | Name | Status | Notes | Actions |
|---|