# HG changeset patch # User Kim Alvefur # Date 1679841923 -7200 # Node ID 6d7e3d5463d821429db9875c9b5006ebdae343b1 # Parent 939049732317ca212cbde13cd4cbe53edc5b0017 mod_admin_shell: Simplify user creation when no role given Idea here is to prevent a user from being created with the default role if a different role was given, but that dance wouldn't be needed if no role is provided. diff -r 939049732317 -r 6d7e3d5463d8 plugins/mod_admin_shell.lua --- a/plugins/mod_admin_shell.lua Sun Mar 26 16:07:34 2023 +0200 +++ b/plugins/mod_admin_shell.lua Sun Mar 26 16:45:23 2023 +0200 @@ -1516,21 +1516,29 @@ elseif um.user_exists(username, host) then return nil, "User exists"; end - local ok, err = um.create_user(username, nil, host); - if not ok then - return nil, "Could not create user: "..err; - end if role then + local ok, err = um.create_user(username, nil, host); + if not ok then + return nil, "Could not create user: "..err; + end + local role_ok, rerr = um.set_user_role(jid, host, role); if not role_ok then return nil, "Could not set role: " .. tostring(rerr); end - end - local ok, err = um.set_password(username, password, host, nil); - if not ok then - return nil, "Could not set password for user: "..err; + if password then + local ok, err = um.set_password(username, password, host, nil); + if not ok then + return nil, "Could not set password for user: "..err; + end + end + else + local ok, err = um.create_user(username, password, host); + if not ok then + return nil, "Could not create user: "..err; + end end return true, "User created";