Parse.initialize(
"dDCLItKaPqINj7AJSVk1k87AybNmVDqa9V1bEkvx",
"mmPb4Iwr7f34fPH2Wk0DtzfwPmAYF6XD6fSTFxFT"
);
Parse.serverURL = "https://api.fixitfaster.com/parse";
jQuery(document).ready(function ($) {
// const businessId = "RTtZ3U0CO6";
// const businessId = "7ZmgjSuLNU";
var dataRating;
var reviewText;
var businessId = $("#business_profile-objectId").val();
var userObject = Parse.Object.extend("_User"),
userQuery = new Parse.Query(userObject);
userQuery.get(businessId).then(function (business_id_obj) {
var businessObj = business_id_obj.toJSON();
$(".rateYo.reviewRating")
.rateYo({
rating: 2,
spacing: "5px",
numStars: 5,
minValue: 0,
maxValue: 5,
normalFill: "#A0A0A0",
ratedFill: "orange",
readOnly: false,
starWidth: "20px",
})
.on("rateyo.set", function (e, data) {
dataRating = data.rating;
$(".rateYo_value").html( "(" + dataRating + ")");
});
$(document).on("click", "#reviewMeaageBtn", function (e) {
event.preventDefault();
reviewText = $("#bp-form-review").val();
var reviewRating = Parse.Object.extend("Ratings");
var reviewQuery = new reviewRating();
reviewQuery.set("totalValue", dataRating);
reviewQuery.set("review", reviewText);
var currentUser = Parse.User.current();
reviewQuery.set("user", {
__type: "Pointer",
className: "_User",
objectId: currentUser.id,
});
reviewQuery.set("trader", {
__type: "Pointer",
className: "_User",
objectId: businessId,
});
//saving with promises
reviewQuery
.save()
.then(function (response) {
//alert("success");
// location.reload(); //refreshes the form
})
.catch(function (error) {
alert("error");
location.reload();
});
});
var businessProfileImg = businessObj.profilePhoto.url,
business_rating_count = businessObj.averageRating;
if (businessObj.companyName) {
$("#business_profile_name h2").html(businessObj.companyName);
} else {
$("#business_profile_name h2").html(businessObj.name);
}
$(".ratingValueSection").append(`
`);
$("#business_location_name h5").html(businessObj.locationName);
if (businessObj.startTime && businessObj.endTime) {
$("#business_mon_fri_hrs h4").html(
businessObj.startTime + " A.M" + " to " + businessObj.endTime + " P.M"
);
} else {
$("#business_mon_fri_hrs h4").html("Not Specified");
}
if (businessObj.saturdayStartTime && businessObj.saturdayEndTime) {
$("#business_sat_hrs h4").html(
businessObj.saturdayStartTime +
" A.M" +
" to " +
businessObj.saturdayEndTime +
" P.M"
);
} else {
$("#business_sat_hrs h4").html("Not Specified");
}
if (businessObj.description) {
$("#business_description_details p").html(businessObj.description);
} else {
$("#business_description_details p").html("No Description to display");
}
$("#business_profile_photo .elementor-image img")
.attr("src", businessProfileImg)
.removeAttr("srcset");
/*$("#business_profile_photo .elementor-image img").attr("src", businessProfileImg);*/
$(".rateYo.profileRating").rateYo({
rating: business_rating_count,
spacing: "5px",
numStars: 5,
minValue: 0,
maxValue: 5,
normalFill: "#A0A0A0",
ratedFill: "orange",
readOnly: true,
starWidth: "20px",
});
$(".profile_rating").html(business_rating_count.toFixed(1));
var ratingsObject = Parse.Object.extend("Ratings"),
ratingsQuery = new Parse.Query(ratingsObject);
ratingsQuery.include("user");
ratingsQuery.equalTo("trader", {
__type: "Pointer",
className: "_User",
objectId: businessId,
});
ratingsQuery.find().then(function (ratingsObject) {
ratingsObject.forEach((ratingData, ratingLenght) => {
ratingData = ratingData.toJSON();
ratingValue = ratingData.totalValue;
$(".rateYo").rateYo({
rating: ratingValue,
spacing: "5px",
numStars: 5,
minValue: 1,
maxValue: 5,
normalFill: "#A0A0A0",
ratedFill: "orange",
readOnly: true,
starWidth: "20px",
});
if (ratingData.review && ratingLenght < 6) {
$("#loopReviews").append(`
${ratingData.user.name[0]}
${ratingData.user.name}
via Fixitfaster App
`);
// document.getElementById(
// "loopReviews"
// ).innerHTML += ``;
}
});
});
});
});
$(document).on("click", "#reviewMeaageBtn", function (e) {
$(".reviewModalBox, .reviewModalBox .reviewStepSection").hide();
});
$(document).on("click", ".newreviewBTN", function (e) {
var currentUser = Parse.User.current();
if (!currentUser) {
$(".reviewModalBox, .reviewModalBox #businessProfile_signupScreen").show();
} else {
$(".reviewModalBox, .reviewModalBox .reviewStepSection").show();
}
});
$(document).on("click", ".yes-btn", function (e) {
$(".yes-show").show();
});
$(document).on("click", ".no-btn", function (e) {
$(".prevReviewModal").show();
$(".yes-show").hide();
});
$(document).on("click", ".prevReviewClose", function (e) {
$(".prevReviewModal").hide();
});
$(document).on("click", ".normalmodalClose", function (e) {
$(".reviewModalBox, .reviewModalBox #businessProfile_signupScreen").hide();
});
$(document).on("click", "#businessprofile_signUp", function (e) {
$("#businessprofile_signUp").attr("disabled", true);
e.preventDefault();
var adsFormEmail = $("#bp-form-email").val(),
adsFormPassword = $("#bp-form-password").val(),
adsFormMobileNumber = $("#bp-form-mobileNumber").val(),
adsFormName = $("#bp-form-name").val();
setTimeout(function () {
$("#businessprofile_signUp").attr("disabled", false);
}, 1000);
if (adsFormName == "") {
alert("Please enter your name");
return false;
}
if (adsFormEmail == "") {
alert("Please enter an email to sign up");
return false;
}
if (adsFormPassword === "") {
alert("password is required.");
return false;
}
if (adsFormMobileNumber === "") {
alert("mobile number is required.");
return false;
}
if (!validateEmail(adsFormEmail)) {
alert("please enter a valid email address");
return false;
}
if (adsFormPassword != "" && adsFormPassword.length < 6) {
alert("Password should be atleast 6 characters");
return false;
}
if (!validatePassword(adsFormPassword)) {
alert("*Your Password must be 8 characters long and include one uppercase letter, a number and/or special character.");
return false;
}
//if (adsFormMobileNumber && adsFormMobileNumber.length < 8) {
//alert('Phone number should be 8-10 characters');
//return false;
//}
var currentUser = Parse.User.current();
if (currentUser && currentUser.get("userType") !== "Non-trader") {
localStorage.clear();
Parse.User.logOut();
}
if (!currentUser) {
localStorage.clear();
}
var userObject = Parse.Object.extend("_User");
var userQuery = new Parse.Query(userObject);
userQuery.equalTo("email", adsFormEmail.toLowerCase().trim());
userQuery.first().then(function (existingUser) {
if (existingUser && existingUser.get("userType") !== "Non-trader") {
var existingUserName = existingUser.get("name")
? existingUser.get("name")
: existingUser.get("email");
alert(
"You are trying to log in as " +
existingUserName +
". Please log in or sign up with a Customer account"
);
return false;
}
var userObj = new Parse.User();
userObj.setUsername(adsFormEmail.toLowerCase().trim());
userObj.setPassword(adsFormPassword);
userObj.set("name", adsFormName);
userObj.set("email", adsFormEmail.toLowerCase().trim());
userObj.set("userType", "Non-trader");
userObj.set("referredBy", "FIX25");
if (adsFormMobileNumber) {
userObj.set("mobileNumber", "+61" + adsFormMobileNumber);
}
userObj.signUp(null, {
success: function (user) {
$(".reviewModalBox, .reviewModalBox .reviewStepSection").show();
$(".reviewModalBox #businessProfile_signupScreen").hide();
},
error: function (user, e) {
// alert(e.message ? e.message : 'Something went wrong, please try again')
if (e.code === 202) {
Parse.User.logIn(adsFormEmail.toLowerCase(), adsFormPassword).then(
function (user) {
$(".reviewModalBox, .reviewModalBox .reviewStepSection").show();
$(".reviewModalBox #businessProfile_signupScreen").hide();
},
function (e) {
alert(
e.message
? e.message
: "Something went wrong, please try again"
);
}
);
}
},
});
});
});
function validateEmail(email) {
var reg = /^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[,]{0,1}\s*)+$/;
return reg.test(email);
}
function validatePassword(password) {
var reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.{8,})/;
return reg.test(password);
}