| 170 | } |
| 171 | }; |
| 172 | const handleNavigation = async (sessionToken) => { |
| 173 | const res = await Parse.User.become(sessionToken); |
| 174 | if (res) { |
| 175 | const _user = JSON.parse(JSON.stringify(res)); |
| 176 | // console.log("_user ", _user); |
| 177 | localStorage.setItem("accesstoken", sessionToken); |
| 178 | localStorage.setItem("UserInformation", JSON.stringify(_user)); |
| 179 | localStorage.setItem("accesstoken", _user.sessionToken); |
| 180 | if (_user.ProfilePic) { |
| 181 | localStorage.setItem("profileImg", _user.ProfilePic); |
| 182 | } else { |
| 183 | localStorage.setItem("profileImg", ""); |
| 184 | } |
| 185 | // Check extended class user role and tenentId |
| 186 | try { |
| 187 | const userSettings = appInfo.settings; |
| 188 | const extUser = await Parse.Cloud.run("getUserDetails"); |
| 189 | if (extUser) { |
| 190 | const IsDisabled = extUser?.get("IsDisabled") || false; |
| 191 | if (!IsDisabled) { |
| 192 | const userRole = extUser?.get("UserRole"); |
| 193 | const menu = |
| 194 | userRole && userSettings.find((menu) => menu.role === userRole); |
| 195 | if (menu) { |
| 196 | const _currentRole = userRole; |
| 197 | const _role = _currentRole.replace("contracts_", ""); |
| 198 | localStorage.setItem("_user_role", _role); |
| 199 | const extInfo_stringify = JSON.stringify([extUser]); |
| 200 | localStorage.setItem("Extand_Class", extInfo_stringify); |
| 201 | const extInfo = JSON.parse(JSON.stringify(extUser)); |
| 202 | localStorage.setItem("userEmail", extInfo?.Email); |
| 203 | localStorage.setItem("username", extInfo?.Name); |
| 204 | if (extInfo?.TenantId) { |
| 205 | const tenant = { |
| 206 | Id: extInfo?.TenantId?.objectId || "", |
| 207 | Name: extInfo?.TenantId?.TenantName || "" |
| 208 | }; |
| 209 | localStorage.setItem("TenantId", tenant?.Id); |
| 210 | dispatch(showTenant(tenant?.Name)); |
| 211 | localStorage.setItem("TenantName", tenant?.Name); |
| 212 | } |
| 213 | localStorage.setItem("PageLanding", menu.pageId); |
| 214 | localStorage.setItem("defaultmenuid", menu.menuId); |
| 215 | localStorage.setItem("pageType", menu.pageType); |
| 216 | setState({ |
| 217 | loading: false, |
| 218 | alertType: "success", |
| 219 | alertMsg: t("registered-user-successfully") |
| 220 | }); |
| 221 | navigate(`/${menu.pageType}/${menu.pageId}`); |
| 222 | } else { |
| 223 | setState({ |
| 224 | loading: false, |
| 225 | alertType: "danger", |
| 226 | alertMsg: t("role-not-found") |
| 227 | }); |
| 228 | } |
| 229 | } else { |