(event)
| 88 | }; |
| 89 | |
| 90 | const handleSubmit = async (event) => { |
| 91 | event.preventDefault(); |
| 92 | if (!emailRegex.test(email)) { |
| 93 | alert(t("valid-email-alert")); |
| 94 | } else { |
| 95 | if (lengthValid && caseDigitValid && specialCharValid) { |
| 96 | clearStorage(); |
| 97 | setState({ loading: true }); |
| 98 | const userDetails = { |
| 99 | name: name, |
| 100 | email: email?.toLowerCase()?.replace(/\s/g, ""), |
| 101 | phone: phone, |
| 102 | company: company, |
| 103 | jobTitle: jobTitle |
| 104 | }; |
| 105 | localStorage.setItem("userDetails", JSON.stringify(userDetails)); |
| 106 | try { |
| 107 | event.preventDefault(); |
| 108 | const user = new Parse.User(); |
| 109 | user.set("name", name); |
| 110 | user.set("email", email?.toLowerCase()?.replace(/\s/g, "")); |
| 111 | user.set("password", password); |
| 112 | user.set("phone", phone); |
| 113 | user.set("username", email?.toLowerCase()?.replace(/\s/g, "")); |
| 114 | const userRes = await user.save(); |
| 115 | if (userRes) { |
| 116 | const params = { |
| 117 | userDetails: { |
| 118 | jobTitle: jobTitle, |
| 119 | company: company, |
| 120 | name: name, |
| 121 | email: email?.toLowerCase()?.replace(/\s/g, ""), |
| 122 | phone: phone, |
| 123 | role: "contracts_Admin", |
| 124 | timezone: usertimezone |
| 125 | } |
| 126 | }; |
| 127 | try { |
| 128 | const usersignup = await Parse.Cloud.run("addadmin", params); |
| 129 | if (usersignup) { |
| 130 | if (isSubscribeNews) { |
| 131 | subscribeNewsletter(); |
| 132 | } |
| 133 | handleNavigation(userRes.getSessionToken()); |
| 134 | } |
| 135 | } catch (err) { |
| 136 | alert(err.message); |
| 137 | setState({ loading: false }); |
| 138 | } |
| 139 | } |
| 140 | } catch (error) { |
| 141 | console.log("err ", error); |
| 142 | if (error.code === 202) { |
| 143 | const params = { email: email }; |
| 144 | const res = await Parse.Cloud.run("getUserDetails", params); |
| 145 | // console.log("Res ", res); |
| 146 | if (res) { |
| 147 | alert(t("already-exists-this-username")); |
nothing calls this directly
no test coverage detected