Users does: a link to choose * their own password (functions/user_invite.php). Without, ITFlow makes * their password and shows it once for you to give them, their own copy of * the vault key made under it, and they change it once signed in. */ defined('FROM_GETTING_STARTED') || die("Direct file access is not allowed"); $gs_agents = mysqli_query($mysqli, "SELECT user_id, user_name, user_email, role_name, role_is_admin FROM users LEFT JOIN user_roles ON role_id = user_role_id WHERE user_type = 1 AND user_status = 1 AND user_archived_at IS NULL ORDER BY user_name ASC"); $gs_roles = userRoles(); // Technician, when there is one - most people added are - or the first role that isn't an admin one $gs_role_default = ''; foreach ($gs_roles as $gs_role_id => $gs_role) { if (!intval($gs_role['role_is_admin']) && ($gs_role_default === '' || strcasecmp($gs_role['role_name'], 'Technician') === 0)) { $gs_role_default = (string) $gs_role_id; } } $gs_role_options = ''; foreach ($gs_roles as $gs_role_id => $gs_role) { $gs_role_options .= ''; } $gs_invites = userInvitesWaiting(); $gs_invite_ready = userInvitesReady() && userInviteMailReady(); $gs_limit = agentUserLimitReached(); ?>

Send an invite again, get its link or cancel it in Admin > Users, Invited.

Add someone

'fa-user', 'label' => 'Name', 'required' => true, 'maxlength' => 200, 'placeholder' => 'Alex Morgan', 'autocomplete' => 'off']) ?>
'fa-envelope', 'type' => 'email', 'label' => 'Email', 'required' => true, 'maxlength' => 200, 'placeholder' => 'alex@example.com', 'autocomplete' => 'off']) ?>
'fa-id-badge', 'label' => 'Role', 'required' => true, 'options_html' => $gs_role_options, 'help' => 'What they can see and change - roles are in Admin > Roles. A role that isn\'t an admin one sees every client, until you limit them in Admin > Users.']) ?>

They are emailed an invite - a link to choose their own password and sign in, which works for days.

and shows it to you once - for you to give them, and them to change.