/**
* Create a new user
*
* @route crew/users/new
* @param string $userId
*/
public function createUser(string $userId = '')
{
$userId = (int) $userId;
$user = $this->account->getUserAccount($userId, true);
$post = $this->post(new NewUserFilter());
if ($post) {
if (!empty($post['preferences'])) {
if (\is_string($post['preferences'])) {
$post['preferences'] = \json_decode($post['preferences'], true);
}
} else {
$post['preferences'] = [];
}
$userId = $this->account->createUser($post);
if ($userId) {
$this->account->editUserCustomFields($userId, $post['custom_fields'] ?? '[]');
\Airship\redirect($this->airship_cabin_prefix . '/crew/users');
}
}
$this->lens('crew/user_new', ['active_link' => 'bridge-link-admin-crew-users', 'user' => $user, 'groups' => $this->account->getGroupTree()]);
}