Skip to content

Commit 1a20841

Browse files
Merge branch 'staging' into public_url
2 parents c6be819 + 5ada9a4 commit 1a20841

30 files changed

+271
-235
lines changed

apps/OpenSign/src/components/AddSigner.js

Lines changed: 143 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const AddSigner = (props) => {
2323
);
2424
if (savedUserDetails && addYourself) {
2525
setName(savedUserDetails.name);
26-
setPhone(savedUserDetails.phone);
26+
setPhone(savedUserDetails?.phone || "");
2727
setEmail(savedUserDetails.email);
2828
}
2929
}, [addYourself]);
@@ -50,145 +50,161 @@ const AddSigner = (props) => {
5050
e.stopPropagation();
5151
setIsLoader(true);
5252
if (localStorage.getItem("TenantId")) {
53-
try {
54-
const contactQuery = new Parse.Object("contracts_Contactbook");
55-
contactQuery.set("Name", name);
56-
contactQuery.set("Phone", phone);
57-
contactQuery.set("Email", email);
58-
contactQuery.set("UserRole", "contracts_Guest");
59-
60-
contactQuery.set("TenantId", {
61-
__type: "Pointer",
62-
className: "partners_Tenant",
63-
objectId: localStorage.getItem("TenantId")
64-
});
65-
6653
try {
67-
const _users = Parse.Object.extend("User");
68-
const _user = new _users();
69-
_user.set("name", name);
70-
_user.set("username", email);
71-
_user.set("email", email);
72-
_user.set("phone", phone);
73-
_user.set("password", phone);
54+
const user = Parse.User.current();
55+
const query = new Parse.Query("contracts_Contactbook");
56+
query.equalTo("CreatedBy", user);
57+
query.notEqualTo("IsDeleted", true);
58+
query.equalTo("Email", email);
59+
const res = await query.first();
60+
// console.log(res);
61+
if (!res) {
62+
const contactQuery = new Parse.Object("contracts_Contactbook");
63+
contactQuery.set("Name", name);
64+
if (phone) {
65+
contactQuery.set("Phone", phone);
66+
}
67+
contactQuery.set("Email", email);
68+
contactQuery.set("UserRole", "contracts_Guest");
7469

75-
const user = await _user.save();
76-
if (user) {
77-
const roleurl = `${parseBaseUrl}functions/AddUserToRole`;
78-
const headers = {
79-
"Content-Type": "application/json",
80-
"X-Parse-Application-Id": parseAppId,
81-
sessionToken: localStorage.getItem("accesstoken")
82-
};
83-
const body = {
84-
appName: localStorage.getItem("_appName"),
85-
roleName: "contracts_Guest",
86-
userId: user.id
87-
};
88-
await axios.post(roleurl, body, { headers: headers });
89-
const currentUser = Parse.User.current();
90-
contactQuery.set(
91-
"CreatedBy",
92-
Parse.User.createWithoutData(currentUser.id)
93-
);
70+
contactQuery.set("TenantId", {
71+
__type: "Pointer",
72+
className: "partners_Tenant",
73+
objectId: localStorage.getItem("TenantId")
74+
});
9475

95-
contactQuery.set("UserId", user);
96-
const acl = new Parse.ACL();
97-
acl.setPublicReadAccess(true);
98-
acl.setPublicWriteAccess(true);
99-
acl.setReadAccess(currentUser.id, true);
100-
acl.setWriteAccess(currentUser.id, true);
76+
try {
77+
const _users = Parse.Object.extend("User");
78+
const _user = new _users();
79+
_user.set("name", name);
80+
_user.set("username", email);
81+
_user.set("email", email);
82+
_user.set("password", email);
83+
if (phone) {
84+
_user.set("phone", phone);
85+
}
86+
const user = await _user.save();
87+
if (user) {
88+
const roleurl = `${parseBaseUrl}functions/AddUserToRole`;
89+
const headers = {
90+
"Content-Type": "application/json",
91+
"X-Parse-Application-Id": parseAppId,
92+
sessionToken: localStorage.getItem("accesstoken")
93+
};
94+
const body = {
95+
appName: localStorage.getItem("_appName"),
96+
roleName: "contracts_Guest",
97+
userId: user.id
98+
};
99+
await axios.post(roleurl, body, { headers: headers });
100+
const currentUser = Parse.User.current();
101+
contactQuery.set(
102+
"CreatedBy",
103+
Parse.User.createWithoutData(currentUser.id)
104+
);
101105

102-
contactQuery.setACL(acl);
106+
contactQuery.set("UserId", user);
107+
const acl = new Parse.ACL();
108+
acl.setPublicReadAccess(true);
109+
acl.setPublicWriteAccess(true);
110+
acl.setReadAccess(currentUser.id, true);
111+
acl.setWriteAccess(currentUser.id, true);
103112

104-
const res = await contactQuery.save();
113+
contactQuery.setACL(acl);
105114

106-
const parseData = JSON.parse(JSON.stringify(res));
107-
if (props.details) {
108-
props.details({
109-
value: parseData[props.valueKey],
110-
label: parseData[props.displayKey]
111-
});
112-
}
113-
if (props.closePopup) {
114-
props.closePopup();
115-
}
116-
if (props.handleUserData) {
117-
props.handleUserData(parseData);
118-
}
115+
const res = await contactQuery.save();
119116

120-
setIsLoader(false);
121-
// Reset the form fields
122-
setAddYourself(false);
123-
setName("");
124-
setPhone("");
125-
setEmail("");
126-
}
127-
} catch (err) {
128-
console.log("err ", err);
129-
if (err.code === 202) {
130-
const params = { email: email };
131-
const userRes = await Parse.Cloud.run("getUserId", params);
132-
const roleurl = `${parseBaseUrl}functions/AddUserToRole`;
133-
const headers = {
134-
"Content-Type": "application/json",
135-
"X-Parse-Application-Id": parseAppId,
136-
sessionToken: localStorage.getItem("accesstoken")
137-
};
138-
const body = {
139-
appName: localStorage.getItem("_appName"),
140-
roleName: "contracts_Guest",
141-
userId: userRes.id
142-
};
143-
await axios.post(roleurl, body, { headers: headers });
144-
const currentUser = Parse.User.current();
145-
contactQuery.set(
146-
"CreatedBy",
147-
Parse.User.createWithoutData(currentUser.id)
148-
);
117+
const parseData = JSON.parse(JSON.stringify(res));
118+
if (props.details) {
119+
props.details({
120+
value: parseData[props.valueKey],
121+
label: parseData[props.displayKey]
122+
});
123+
}
124+
if (props.closePopup) {
125+
props.closePopup();
126+
}
127+
if (props.handleUserData) {
128+
props.handleUserData(parseData);
129+
}
149130

150-
contactQuery.set("UserId", {
151-
__type: "Pointer",
152-
className: "_User",
153-
objectId: userRes.id
154-
});
155-
const acl = new Parse.ACL();
156-
acl.setPublicReadAccess(true);
157-
acl.setPublicWriteAccess(true);
158-
acl.setReadAccess(currentUser.id, true);
159-
acl.setWriteAccess(currentUser.id, true);
131+
setIsLoader(false);
132+
// Reset the form fields
133+
setAddYourself(false);
134+
setName("");
135+
setPhone("");
136+
setEmail("");
137+
}
138+
} catch (err) {
139+
console.log("err ", err);
140+
if (err.code === 202) {
141+
const params = { email: email };
142+
const userRes = await Parse.Cloud.run("getUserId", params);
143+
const roleurl = `${parseBaseUrl}functions/AddUserToRole`;
144+
const headers = {
145+
"Content-Type": "application/json",
146+
"X-Parse-Application-Id": parseAppId,
147+
sessionToken: localStorage.getItem("accesstoken")
148+
};
149+
const body = {
150+
appName: localStorage.getItem("_appName"),
151+
roleName: "contracts_Guest",
152+
userId: userRes.id
153+
};
154+
await axios.post(roleurl, body, { headers: headers });
155+
const currentUser = Parse.User.current();
156+
contactQuery.set(
157+
"CreatedBy",
158+
Parse.User.createWithoutData(currentUser.id)
159+
);
160160

161-
contactQuery.setACL(acl);
162-
const res = await contactQuery.save();
161+
contactQuery.set("UserId", {
162+
__type: "Pointer",
163+
className: "_User",
164+
objectId: userRes.id
165+
});
166+
const acl = new Parse.ACL();
167+
acl.setPublicReadAccess(true);
168+
acl.setPublicWriteAccess(true);
169+
acl.setReadAccess(currentUser.id, true);
170+
acl.setWriteAccess(currentUser.id, true);
163171

164-
const parseData = JSON.parse(JSON.stringify(res));
165-
if (props.details) {
166-
props.details({
167-
value: parseData[props.valueKey],
168-
label: parseData[props.displayKey]
169-
});
170-
}
171-
if (props.closePopup) {
172-
props.closePopup();
173-
}
174-
if (props.handleUserData) {
175-
props.handleUserData(parseData);
172+
contactQuery.setACL(acl);
173+
const res = await contactQuery.save();
174+
175+
const parseData = JSON.parse(JSON.stringify(res));
176+
if (props.details) {
177+
props.details({
178+
value: parseData[props.valueKey],
179+
label: parseData[props.displayKey]
180+
});
181+
}
182+
if (props.closePopup) {
183+
props.closePopup();
184+
}
185+
if (props.handleUserData) {
186+
props.handleUserData(parseData);
187+
}
188+
setIsLoader(false);
189+
// Reset the form fields
190+
setAddYourself(false);
191+
setName("");
192+
setPhone("");
193+
setEmail("");
194+
}
176195
}
196+
} else {
197+
alert("Contact already exist!");
177198
setIsLoader(false);
178-
// Reset the form fields
179-
setAddYourself(false);
180-
setName("");
181-
setPhone("");
182-
setEmail("");
183199
}
200+
} catch (err) {
201+
console.log("err in fetch contact", err);
202+
setIsLoader(false);
203+
alert("something went wrong, please try again later");
184204
}
185-
} catch (err) {
186-
// console.log("err", err);
205+
} else {
187206
setIsLoader(false);
188-
alert("something went wrong!");
189-
}
190-
}else{
191-
alert('something went wrong, please try again later')
207+
alert("something went wrong, please try again later");
192208
}
193209
};
194210

@@ -266,10 +282,10 @@ const AddSigner = (props) => {
266282
type="email"
267283
id="email"
268284
value={email}
269-
onChange={(e) => setEmail(e.target.value)}
285+
onChange={(e) => setEmail(e.target.value?.toLowerCase())}
270286
required
271287
disabled={addYourself}
272-
className="px-3 py-2 w-full border-[1px] border-gray-300 rounded focus:outline-none text-xs"
288+
className="px-3 py-2 w-full border-[1px] border-gray-300 rounded focus:outline-none text-xs lowercase"
273289
/>
274290
</div>
275291
<div className="mb-3">
@@ -278,14 +294,12 @@ const AddSigner = (props) => {
278294
className="block text-xs text-gray-700 font-semibold"
279295
>
280296
Phone
281-
<span style={{ color: "red", fontSize: 13 }}> *</span>
282297
</label>
283298
<input
284299
type="text"
285300
id="phone"
286301
value={phone}
287302
onChange={(e) => setPhone(e.target.value)}
288-
required
289303
disabled={addYourself}
290304
className="px-3 py-2 w-full border-[1px] border-gray-300 rounded focus:outline-none text-xs"
291305
/>

apps/OpenSign/src/components/AddUser.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,10 @@ const AddUser = (props) => {
6262
_user.set("name", name);
6363
_user.set("username", email);
6464
_user.set("email", email);
65-
_user.set("phone", phone);
66-
_user.set("password", phone);
65+
_user.set("password", email);
66+
if (phone) {
67+
_user.set("phone", phone);
68+
}
6769

6870
const user = await _user.save();
6971
if (user) {

apps/OpenSign/src/components/LoginFacebook.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const LoginFacebook = ({
4949
const extRes = await Parse.Cloud.run("getUserDetails", params);
5050
// console.log("extRes ", extRes);
5151
if (extRes) {
52-
const params = { ...details, Phone: extRes.get("Phone") };
52+
const params = { ...details, Phone: extRes?.get("Phone") || "" };
5353
const payload = await Parse.Cloud.run("facebooksign", params);
5454
// console.log("payload ", payload);
5555
if (payload && payload.sessiontoken) {
@@ -59,7 +59,7 @@ const LoginFacebook = ({
5959
const LocalUserDetails = {
6060
name: details.Name,
6161
email: details.Email,
62-
phone: extRes.get("Phone"),
62+
phone: extRes?.get("Phone") || "",
6363
company: extRes.get("Company")
6464
};
6565
localStorage.setItem("userDetails", JSON.stringify(LocalUserDetails));
@@ -75,7 +75,7 @@ const LoginFacebook = ({
7575
const handleSubmitbtn = async () => {
7676
if (userDetails.Phone && userDetails.Company) {
7777
setThirdpartyLoader(true);
78-
const params = { ...fBDetails, Phone: userDetails.Phone };
78+
const params = { ...fBDetails, Phone: userDetails?.Phone || "" };
7979
const payload = await Parse.Cloud.run("facebooksign", params);
8080
// console.log("payload ", payload);
8181

@@ -85,7 +85,7 @@ const LoginFacebook = ({
8585
name: userDetails.Name,
8686
email: userDetails.Email,
8787
// "passsword":userDetails.Phone,
88-
phone: userDetails.Phone,
88+
phone: userDetails?.Phone || "",
8989
role: "contracts_User",
9090
company: userDetails.Company
9191
}
@@ -96,7 +96,7 @@ const LoginFacebook = ({
9696
const LocalUserDetails = {
9797
name: userDetails.Name,
9898
email: userDetails.Email,
99-
phone: userDetails.Phone,
99+
phone: userDetails?.Phone || "",
100100
company: userDetails.Company
101101
};
102102
localStorage.setItem("userDetails", JSON.stringify(LocalUserDetails));

0 commit comments

Comments
 (0)