diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte
index d57603b338..5583a48b7d 100644
--- a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte
@@ -2,22 +2,47 @@
import {
Body,
Input,
- Select,
+ Label,
ModalContent,
notifications,
+ Select,
Toggle,
- Label,
} from "@budibase/bbui"
import { createValidationStore, emailValidator } from "helpers/validation"
import { users } from "stores/portal"
- export let disabled
-
+ const password = Math.random().toString(36).substring(2, 22)
const options = ["Email onboarding", "Basic onboarding"]
- let selected = options[0]
- let builder, admin
-
const [email, error, touched] = createValidationStore("", emailValidator)
+ let disabled
+ let builder
+ let admin
+ let selected = "Email onboarding"
+
+ $: basic = selected === "Basic onboarding"
+
+ function addUser() {
+ if (basic) {
+ createUser()
+ } else {
+ createUserFlow()
+ }
+ }
+
+ async function createUser() {
+ try {
+ await users.create({
+ email: $email,
+ password,
+ builder,
+ admin,
+ forceResetPassword: true,
+ })
+ notifications.success("Successfully created user")
+ } catch (error) {
+ notifications.error("Error creating user")
+ }
+ }
async function createUserFlow() {
try {
@@ -30,7 +55,7 @@