feat: add login validation for user and fix warning message in teams and users report

This commit is contained in:
prafull-opensignlabs
2024-07-08 17:04:12 +05:30
parent 2e8b2fa525
commit 5fc1a58bdb
12 changed files with 476 additions and 1191 deletions
+1 -2
View File
@@ -167,7 +167,6 @@ const HomeLayout = () => {
setIsTour(false);
const serverUrl = localStorage.getItem("baseUrl");
const appId = localStorage.getItem("parseAppId");
const extUserClass = localStorage.getItem("extended_class");
const json = JSON.parse(localStorage.getItem("Extand_Class"));
const extUserId = json && json.length > 0 && json[0].objectId;
// console.log("extUserId ", extUserId)
@@ -189,7 +188,7 @@ const HomeLayout = () => {
// console.log("updatedTourStatus ", updatedTourStatus);
await axios.put(
serverUrl + "classes/" + extUserClass + "/" + extUserId,
serverUrl + "classes/contracts_Users/" + extUserId,
{
TourStatus: updatedTourStatus
},
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -465,7 +465,6 @@ function Opensigndrive() {
if (isDontShow) {
const serverUrl = localStorage.getItem("baseUrl");
const appId = localStorage.getItem("parseAppId");
const extUserClass = localStorage.getItem("extended_class");
const json = JSON.parse(localStorage.getItem("Extand_Class"));
const extUserId = json && json.length > 0 && json[0].objectId;
let updatedTourStatus = [];
@@ -483,7 +482,7 @@ function Opensigndrive() {
updatedTourStatus = [{ driveTour: true }];
}
await axios.put(
serverUrl + "classes/" + extUserClass + "/" + extUserId,
serverUrl + "classes/contracts_Users/" + extUserId,
{
TourStatus: updatedTourStatus
},
+41 -170
View File
@@ -207,8 +207,6 @@ const PgSignUp = () => {
if (res.data) {
let _user = res.data;
localStorage.setItem("UserInformation", JSON.stringify(_user));
localStorage.setItem("userEmail", _user.email);
localStorage.setItem("username", _user.name);
localStorage.setItem("accesstoken", _user.sessionToken);
localStorage.setItem("scriptId", true);
if (_user.ProfilePic) {
@@ -218,179 +216,52 @@ const PgSignUp = () => {
}
// Check extended class user role and tenentId
try {
let userRoles = [];
if (appInfo.settings) {
let userSettings = appInfo.settings;
//Get Current user roles
let url = `${baseUrl}functions/UserGroups`;
const headers = {
"Content-Type": "application/json",
"X-Parse-Application-Id": parseAppId,
sessionToken: _user.sessionToken
};
let body = { appname: "contracts" };
await axios
.post(url, JSON.stringify(body), { headers: headers })
.then((roles) => {
if (roles) {
userRoles = roles.data.result;
let _currentRole = "";
if (userRoles.length > 1) {
if (userRoles[0] === "contracts_appeditor") {
_currentRole = userRoles[1];
} else {
_currentRole = userRoles[0];
}
} else {
_currentRole = userRoles[0];
}
if (_currentRole !== "contracts_appeditor") {
userSettings.forEach(async (element) => {
if (element.role === _currentRole) {
let _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
// Get TenentID from Extendend Class
localStorage.setItem(
"extended_class",
element.extended_class
);
const currentUser = Parse.User.current();
await Parse.Cloud.run("getUserDetails", {
email: currentUser.get("email")
}).then(
(result) => {
const results = [result];
let tenentInfo = [];
if (results) {
let extendedInfo_stringify =
JSON.stringify(results);
localStorage.setItem(
"Extand_Class",
extendedInfo_stringify
);
let extendedInfo = JSON.parse(
extendedInfo_stringify
);
if (extendedInfo.length > 1) {
extendedInfo.forEach((x) => {
if (x.TenantId) {
let obj = {
tenentId: x.TenantId.objectId,
tenentName: x.TenantId.TenantName || ""
};
tenentInfo.push(obj);
}
});
if (tenentInfo.length) {
dispatch(
showTenant(tenentInfo[0].tenentName || "")
);
localStorage.setItem(
"TenantName",
tenentInfo[0].tenentName || ""
);
}
localStorage.setItem("showpopup", true);
localStorage.setItem(
"PageLanding",
element.pageId
);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem(
"pageType",
element.pageType
);
setIsLoader(false);
navigate("/", { replace: true });
} else {
extendedInfo.forEach((x) => {
if (x.TenantId) {
let obj = {
tenentId: x.TenantId.objectId,
tenentName: x.TenantId.TenantName || ""
};
localStorage.setItem(
"TenantId",
x.TenantId.objectId
);
tenentInfo.push(obj);
}
});
if (tenentInfo.length) {
dispatch(
showTenant(tenentInfo[0].tenentName || "")
);
localStorage.setItem(
"TenantName",
tenentInfo[0].tenentName || ""
);
}
localStorage.setItem(
"PageLanding",
element.pageId
);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem(
"pageType",
element.pageType
);
setIsLoader(false);
alert("Registered user successfully");
const redirectUrl =
location?.state?.from ||
`/${element.pageType}/${element.pageId}`;
// Redirect to the appropriate URL after successful login
navigate(redirectUrl);
}
} else {
alert("Registered user successfully");
localStorage.setItem("PageLanding", element.pageId);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem("pageType", element.pageType);
setIsLoader(false);
const redirectUrl =
location?.state?.from ||
`/${element.pageType}/${element.pageId}`;
// Redirect to the appropriate URL after successful login
navigate(redirectUrl);
}
},
(error) => {
setIsLoader(false);
console.error("Error while fetching Follow", error);
}
);
}
});
} else {
setIsLoader(false);
}
} else {
setIsLoader(false);
const userSettings = appInfo.settings;
const currentUser = Parse.User.current();
const extUser = await Parse.Cloud.run("getUserDetails", {
email: currentUser.get("email")
});
if (extUser) {
const IsDisabled = extUser?.get("IsDisabled") || false;
if (!IsDisabled) {
const userRole = extUser?.get("UserRole");
const menu =
userRole && userSettings.find((menu) => menu.role === userRole);
if (menu) {
const _currentRole = userRole;
const _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
const extInfo_stringify = JSON.stringify([extUser]);
localStorage.setItem("Extand_Class", extInfo_stringify);
const extInfo = JSON.parse(JSON.stringify(extUser));
localStorage.setItem("userEmail", extInfo?.Email);
localStorage.setItem("username", extInfo?.Name);
if (extInfo?.TenantId) {
const tenant = {
Id: extInfo?.TenantId?.objectId || "",
Name: extInfo?.TenantId?.TenantName || ""
};
localStorage.setItem("TenantId", tenant?.Id);
dispatch(showTenant(tenant?.Name));
localStorage.setItem("TenantName", tenant?.Name);
}
})
.catch((err) => {
console.log("err", err);
localStorage.setItem("PageLanding", menu.pageId);
localStorage.setItem("defaultmenuid", menu.menuId);
localStorage.setItem("pageType", menu.pageType);
setIsLoader(false);
});
alert("Registered user successfully");
const redirectUrl =
location?.state?.from || `/${menu.pageType}/${menu.pageId}`;
// Redirect to the appropriate URL after successful login
navigate(redirectUrl);
}
} else {
setIsLoader(false);
}
}
} catch (error) {
setIsLoader(false);
console.log(error);
console.log("Err in fetch extuser", error);
}
}
};
+1 -2
View File
@@ -1542,7 +1542,6 @@ function PlaceHolderSign() {
const closeTour = async () => {
setPlaceholderTour(false);
if (isDontShow) {
const extUserClass = localStorage.getItem("extended_class");
let updatedTourStatus = [];
if (tourStatus.length > 0) {
updatedTourStatus = [...tourStatus];
@@ -1561,7 +1560,7 @@ function PlaceHolderSign() {
.put(
`${localStorage.getItem(
"baseUrl"
)}classes/${extUserClass}/${signerUserId}`,
)}classes/contracts_Users/${signerUserId}`,
{
TourStatus: updatedTourStatus
},
+49 -87
View File
@@ -1,7 +1,6 @@
import React, { useEffect, useState } from "react";
import { useLocation, useNavigate } from "react-router-dom";
import Parse from "parse";
import axios from "axios";
import { appInfo } from "../constant/appinfo";
import { isEnableSubscription } from "../constant/const";
import { fetchSubscription } from "../constant/Utils";
@@ -136,8 +135,6 @@ const SSOVerify = () => {
};
// `thirdpartyLoginfn` is used to save necessary parameters locally for the logged-in user
const thirdpartyLoginfn = async (sessionToken) => {
const baseUrl = localStorage.getItem("baseUrl");
const parseAppId = localStorage.getItem("parseAppId");
try {
const validUser = await Parse.User.become(sessionToken);
if (validUser) {
@@ -151,76 +148,44 @@ const SSOVerify = () => {
}
// Check extended class user role and tenentId
try {
let userRoles = [];
const userSettings = appInfo.settings;
//Get Current user roles
const url = `${baseUrl}functions/UserGroups`;
const headers = {
"Content-Type": "application/json",
"X-Parse-Application-Id": parseAppId,
sessionToken: _user.sessionToken
};
const body = { appname: "contracts" };
const UserGroupsRes = await axios.post(url, JSON.stringify(body), {
headers: headers
});
userRoles = (UserGroupsRes.data && UserGroupsRes.data.result) || [];
if (userRoles) {
let _currentRole = "";
const excludeRoles = ["contracts_Guest", `contracts_appeditor`];
const filteredRole = userRoles.filter(
(x) => !excludeRoles.includes(x)
);
if (filteredRole?.length > 1) {
console.log("user has two roles");
// _currentRole = filteredRole.filter((x) => x === "contracts_User");
} else {
_currentRole = filteredRole?.[0] || "";
}
if (_currentRole) {
const roleSetting = userSettings?.find(
(setting) => setting.role === _currentRole
);
const redirectUrl =
location?.state?.from ||
`/${roleSetting.pageType}/${roleSetting.pageId}`;
const _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
// Get TenentID from Extendend Class
localStorage.setItem(
"extended_class",
roleSetting.extended_class
);
try {
const extUser = await Parse.Cloud.run("getUserDetails", {
email: _user.email
});
if (extUser) {
const _extUser = JSON.parse(JSON.stringify(extUser));
localStorage.setItem("userEmail", _extUser.Email);
localStorage.setItem("username", _extUser.Name);
localStorage.setItem("scriptId", true);
let tenentInfo = [];
const results = [extUser];
if (results) {
let extendedInfo_stringify = JSON.stringify(results);
localStorage.setItem(
"Extand_Class",
extendedInfo_stringify
);
const currentUser = Parse.User.current();
await Parse.Cloud.run("getUserDetails", {
email: currentUser.get("email")
})
.then(async (extUser) => {
if (extUser) {
const IsDisabled = extUser?.get("IsDisabled") || false;
if (!IsDisabled) {
const userRole = extUser?.get("UserRole");
const menu =
userRole &&
userSettings.find((menu) => menu.role === userRole);
if (menu) {
const _currentRole = userRole;
const redirectUrl =
location?.state?.from ||
`/${menu.pageType}/${menu.pageId}`;
const _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
const extUser_stringify = JSON.stringify([extUser]);
localStorage.setItem("Extand_Class", extUser_stringify);
const _extUser = JSON.parse(JSON.stringify(extUser));
localStorage.setItem("userEmail", _extUser.Email);
localStorage.setItem("username", _extUser.Name);
localStorage.setItem("scriptId", true);
if (_extUser.TenantId) {
const obj = {
tenentId: _extUser.TenantId.objectId,
tenentName: _extUser.TenantId.TenantName || ""
const tenant = {
Id: _extUser?.TenantId?.objectId || "",
Name: _extUser?.TenantId?.TenantName || ""
};
localStorage.setItem("TenantId", obj.tenentId);
tenentInfo.push(obj);
dispatch(showTenant(obj.tenentName || ""));
localStorage.setItem("TenantName", obj.tenentName || "");
localStorage.setItem("TenantId", tenant?.Id);
dispatch(showTenant(tenant?.Name));
localStorage.setItem("TenantName", tenant?.Name);
}
localStorage.setItem("PageLanding", roleSetting.pageId);
localStorage.setItem("defaultmenuid", roleSetting.menuId);
localStorage.setItem("pageType", roleSetting.pageType);
localStorage.setItem("PageLanding", menu.pageId);
localStorage.setItem("defaultmenuid", menu.menuId);
localStorage.setItem("pageType", menu.pageType);
if (isEnableSubscription) {
const res = await fetchSubscription();
const plan = res.plan;
@@ -232,33 +197,30 @@ const SSOVerify = () => {
localStorage.removeItem("userDetails");
navigate(redirectUrl);
} else {
navigate(`/subscription`, {
replace: true
});
navigate(`/subscription`, { replace: true });
}
} else {
navigate(`/subscription`, {
replace: true
});
navigate(`/subscription`, { replace: true });
}
} else {
navigate(redirectUrl);
}
}
} else {
alert(
"Error: You don't have access, please contact the admin."
);
setMessage(
"Error: You don't have access, please contact the admin."
);
}
} catch (err) {
alert("user not exist.");
setMessage("Error: User not exist.");
console.log("err in get extUser", err);
}
} else {
alert("Role does not exists.");
setMessage("Error: Role does not exists.");
}
} else {
alert("Role does not exists.");
setMessage("Error: Role does not exists.");
}
})
.catch((error) => {
console.error("Err in fetch extuser", error);
alert("user not exist.");
setMessage("Error: User not exist.");
});
} catch (err) {
console.log("err in usergroups", err);
}
+63 -226
View File
@@ -182,8 +182,6 @@ const Signup = () => {
if (res.data) {
let _user = res.data;
localStorage.setItem("UserInformation", JSON.stringify(_user));
localStorage.setItem("userEmail", _user.email);
localStorage.setItem("username", _user.name);
localStorage.setItem("accesstoken", _user.sessionToken);
localStorage.setItem("scriptId", true);
if (_user.ProfilePic) {
@@ -193,241 +191,84 @@ const Signup = () => {
}
// Check extended class user role and tenentId
try {
let userRoles = [];
if (appInfo.settings) {
let userSettings = appInfo.settings;
//Get Current user roles
let url = `${baseUrl}functions/UserGroups`;
const headers = {
"Content-Type": "application/json",
"X-Parse-Application-Id": parseAppId,
sessionToken: _user.sessionToken
};
let body = { appname: "contracts" };
await axios
.post(url, JSON.stringify(body), { headers: headers })
.then((roles) => {
if (roles) {
userRoles = roles.data.result;
let _currentRole = "";
if (userRoles.length > 1) {
if (userRoles[0] === "contracts_appeditor") {
_currentRole = userRoles[1];
} else {
_currentRole = userRoles[0];
const userSettings = appInfo.settings;
const currentUser = Parse.User.current();
await Parse.Cloud.run("getUserDetails", {
email: currentUser.get("email")
})
.then(async (extUser) => {
if (extUser) {
const IsDisabled = extUser?.get("IsDisabled") || false;
if (!IsDisabled) {
const userRole = extUser?.get("UserRole");
const menu =
userRole &&
userSettings.find((menu) => menu.role === userRole);
if (menu) {
const _currentRole = userRole;
const _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
const extInfo_stringify = JSON.stringify([extUser]);
localStorage.setItem("Extand_Class", extInfo_stringify);
const extInfo = JSON.parse(JSON.stringify(extUser));
localStorage.setItem("userEmail", extInfo?.Email);
localStorage.setItem("username", extInfo?.Name);
if (extInfo?.TenantId) {
const tenant = {
Id: extInfo?.TenantId?.objectId || "",
Name: extInfo?.TenantId?.TenantName || ""
};
localStorage.setItem("TenantId", tenant?.Id);
dispatch(showTenant(tenant?.Name));
localStorage.setItem("TenantName", tenant?.Name);
}
} else {
_currentRole = userRoles[0];
}
if (_currentRole !== "contracts_appeditor") {
userSettings.forEach(async (element) => {
if (element.role === _currentRole) {
let _role = _currentRole.replace("contracts_", "");
localStorage.setItem("_user_role", _role);
// Get TenentID from Extendend Class
localStorage.setItem(
"extended_class",
element.extended_class
);
await Parse.Cloud.run("getUserDetails", {
email: email
}).then(
(result) => {
let tenentInfo = [];
const results = [result];
if (results) {
let extendedInfo_stringify =
JSON.stringify(results);
localStorage.setItem(
"Extand_Class",
extendedInfo_stringify
);
let extendedInfo = JSON.parse(
extendedInfo_stringify
);
if (extendedInfo.length > 1) {
extendedInfo.forEach((x) => {
if (x.TenantId) {
let obj = {
tenentId: x.TenantId.objectId,
tenentName: x.TenantId.TenantName || ""
};
tenentInfo.push(obj);
}
});
if (tenentInfo.length) {
dispatch(
showTenant(tenentInfo[0].tenentName || "")
);
localStorage.setItem(
"TenantName",
tenentInfo[0].tenentName || ""
);
}
localStorage.setItem("showpopup", true);
localStorage.setItem(
"IncludedApps",
JSON.stringify(tenentInfo)
);
localStorage.setItem(
"PageLanding",
element.pageId
);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem(
"pageType",
element.pageType
);
setState({ loading: false });
navigate("/");
} else {
extendedInfo.forEach((x) => {
if (x.TenantId) {
let obj = {
tenentId: x.TenantId.objectId,
tenentName: x.TenantId.TenantName || ""
};
localStorage.setItem(
"TenantId",
x.TenantId.objectId
);
tenentInfo.push(obj);
}
});
if (tenentInfo.length) {
dispatch(
showTenant(tenentInfo[0].tenentName || "")
);
localStorage.setItem(
"TenantName",
tenentInfo[0].tenentName || ""
);
}
localStorage.setItem(
"PageLanding",
element.pageId
);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem(
"pageType",
element.pageType
);
setState({ loading: false });
if (isEnableSubscription) {
if (isFreeplan) {
navigate(
`/${element.pageType}/${element.pageId}`
);
} else {
navigate(`/subscription`, { replace: true });
}
} else {
alert("Registered user successfully");
navigate(
`/${element.pageType}/${element.pageId}`
);
}
}
} else {
alert("Registered user successfully");
localStorage.setItem("PageLanding", element.pageId);
localStorage.setItem(
"defaultmenuid",
element.menuId
);
localStorage.setItem("pageType", element.pageType);
setState({ loading: false });
if (isEnableSubscription) {
if (isFreeplan) {
navigate(
`/${element.pageType}/${element.pageId}`
);
} else {
navigate(`/subscription`, { replace: true });
}
} else {
navigate(
`/${element.pageType}/${element.pageId}`
);
}
}
},
(error) => {
setState({
loading: false,
alertType: "danger",
alertMsg:
"You dont have access to this application!"
});
setTimeout(function () {
setState({
loading: false,
alertType: "danger",
alertMsg: ""
});
}, 2000);
localStorage.setItem("accesstoken", null);
console.error("Error while fetching Follow", error);
}
);
localStorage.setItem("PageLanding", menu.pageId);
localStorage.setItem("defaultmenuid", menu.menuId);
localStorage.setItem("pageType", menu.pageType);
setState({ loading: false });
if (isEnableSubscription) {
if (isFreeplan) {
navigate(`/${menu.pageType}/${menu.pageId}`);
} else {
navigate(`/subscription`, { replace: true });
}
});
} else {
alert("Registered user successfully");
navigate(`/${menu.pageType}/${menu.pageId}`);
}
} else {
setState({
loading: false,
alertType: "danger",
alertMsg: "User Role Not Found!"
alertMsg: "Role not found."
});
setTimeout(function () {
setState({
loading: false,
alertType: "danger",
alertMsg: ""
});
setTimeout(() => {
setState({ loading: false, alertMsg: "" });
}, 2000);
}
} else {
setState({
loading: false,
alertType: "danger",
alertMsg: "User Role Not Found!"
alertMsg: "You don't have access, please contact the admin."
});
setTimeout(function () {
setState({
loading: false,
alertType: "danger",
alertMsg: ""
});
setTimeout(() => {
setState({ loading: false, alertMsg: "" });
}, 2000);
}
})
.catch((err) => {
console.log("err", err);
setState({
loading: false,
alertType: "danger",
alertMsg:
"Does not have permissions to access this application!"
});
setTimeout(function () {
setState({
loading: false,
alertType: "danger",
alertMsg: ""
});
}, 2000);
}
})
.catch((error) => {
console.log("error in fetch extuser", error);
setState({
loading: false,
alertType: "danger",
alertMsg: "You don't have access, please contact the admin."
});
}
setTimeout(() => {
setState({ loading: false, alertMsg: "" });
}, 2000);
});
} catch (error) {
// alert(`${error.message}`);
setState({
@@ -435,12 +276,8 @@ const Signup = () => {
alertType: "danger",
alertMsg: `${error.message}`
});
setTimeout(function () {
setState({
loading: false,
alertType: "danger",
alertMsg: ""
});
setTimeout(() => {
setState({ loading: false, alertMsg: "" });
}, 2000);
console.log(error);
}
+5 -4
View File
@@ -163,8 +163,8 @@ const TeamList = () => {
teamCls.set("IsActive", !IsActive);
await teamCls.save();
setIsAlert({
type: "success",
msg: "Team disabled successfully."
type: !IsActive === false ? "danger" : "success",
msg: !IsActive === false ? "Team disabled." : "Team enabled."
});
} catch (err) {
setIsAlert({ type: "danger", msg: "something went wrong." });
@@ -281,8 +281,9 @@ const TeamList = () => {
>
<div className="m-[20px]">
<div className="text-lg font-normal text-black">
Are you sure you want to disable this
team?
Are you sure you want to{" "}
{item?.IsActive ? "disable" : "enable"}{" "}
this team?
</div>
<hr className="bg-[#ccc] mt-4 " />
<div className="flex items-center mt-3 gap-2 text-white">
@@ -851,7 +851,6 @@ const TemplatePlaceholder = () => {
const closeTour = async () => {
setTemplateTour(false);
if (isDontShow) {
const extUserClass = localStorage.getItem("extended_class");
let updatedTourStatus = [];
if (tourStatus.length > 0) {
updatedTourStatus = [...tourStatus];
@@ -870,7 +869,7 @@ const TemplatePlaceholder = () => {
.put(
`${localStorage.getItem(
"baseUrl"
)}classes/${extUserClass}/${signerUserId}`,
)}classes/contracts_Users/${signerUserId}`,
{
TourStatus: updatedTourStatus
},
+7 -4
View File
@@ -152,8 +152,8 @@ const UserList = () => {
extUser.set("IsDisabled", !IsDisabled);
await extUser.save();
setIsAlert({
type: "success",
msg: "User disabled successfully."
type: !IsDisabled === true ? "danger" : "success",
msg: !IsDisabled === true ? "User deactivated." : "User activated."
});
} catch (err) {
setIsAlert({ type: "danger", msg: "something went wrong." });
@@ -245,8 +245,11 @@ const UserList = () => {
>
<div className="m-[20px]">
<div className="text-lg font-normal text-black">
Are you sure you want to deactivate this
user?
Are you sure you want to{" "}
{item?.IsDisabled
? "activate"
: "deactivate"}{" "}
this user?
</div>
<hr className="bg-[#ccc] mt-4 " />
<div className="flex items-center mt-3 gap-2 text-white">
+1 -2
View File
@@ -155,7 +155,6 @@ function UserProfile() {
// `updateExtUser` is used to update user details in extended class
const updateExtUser = async (obj) => {
const extClass = localStorage.getItem("extended_class");
const extData = JSON.parse(localStorage.getItem("Extand_Class"));
const ExtUserId = extData[0].objectId;
const body = {
@@ -168,7 +167,7 @@ function UserProfile() {
};
await axios.put(
parseBaseUrl + "classes/" + extClass + "/" + ExtUserId,
parseBaseUrl + "classes/contracts_Users/" + ExtUserId,
body,
{
headers: {
@@ -568,7 +568,6 @@ const ReportTable = (props) => {
if (props.isDontShow) {
const serverUrl = localStorage.getItem("baseUrl");
const appId = localStorage.getItem("parseAppId");
const extUserClass = localStorage.getItem("extended_class");
const json = JSON.parse(localStorage.getItem("Extand_Class"));
const extUserId = json && json.length > 0 && json[0].objectId;
// console.log("extUserId ", extUserId)
@@ -589,7 +588,7 @@ const ReportTable = (props) => {
}
await axios.put(
serverUrl + "classes/" + extUserClass + "/" + extUserId,
serverUrl + "classes/contracts_Users/" + extUserId,
{
TourStatus: updatedTourStatus
},