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
${ratingData.review}
`); // 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); }