I’m creating a website where people submit their films using a form. The films are then sent to a dashboard page where I “approve,” “review,” or “dismiss” them. If approved, I would like to add the person who submitted the film to my Wix Contacts List and send them an email.
I’m currently having trouble sending a triggered email after the film is approved. No email is sent and no new contact is created.
I borrowed from this Corvid Wix example for the approval page:
https://www.wix.com/corvid/example/quick-book-and-pending-appointments
I also borrowed from this Totally Codable example for the creating contact/ sending email:
https://codequeen.wixsite.com/email-download/the-code
And this Wix Article on triggered emails:
https://support.wix.com/en/article/corvid-tutorial-sending-a-triggered-email-to-contacts
Here is my code:
import wixCRM from 'wix-crm';
import wixData from 'wix-data';
//-------------Page Setup-------------//
$w.onReady(function () {
$w("#pendingSubmissionsDataset").onReady(() => {
if ($w("#pendingSubmissionsDataset").getTotalCount() === 0) {
$w("#noPendingSubmissions").show();
$w("#submissionsRepeater").hide();
}
});
});
//-------------Repeater Setup-------------//
export function submissionsRepeater_itemReady($item, itemData, index) {
$item("#dismissButton").onClick(async () => {
$item("#dismissButton").disable();
$item("#approveButton").disable();
$item("#reviewButton").disable();
await dismissSubmission(itemData, index, $w);
});
$item("#approveButton").onClick(async () => {
$item("#dismissButton").disable();
$item("#approveButton").disable();
$item("#reviewButton").disable();
await approveSubmission(itemData, index);
});
$item("#reviewButton").onClick(async () => {
$item("#dismissButton").disable();
$item("#approveButton").disable();
$item("#reviewButton").disable();
await reviewSubmission(itemData, index);
});
}
//-------------Submission Dismissal-------------//
async function dismissSubmission(pendingSubmission, index, $w) {
pendingSubmission.status = "DISMISSED";
await wixData.update("FirstFilmSubmission", pendingSubmission);
refreshData();
}
//-------------Submission Approval-------------//
async function approveSubmission(pendingSubmission, index, $w) {
pendingSubmission.status = "APPROVED";
await wixData.update("FirstFilmSubmission", pendingSubmission);
refreshData();
wixCRM.createContact({
"firstName": $w('#firstNamePerson').text,
"lastName" : $w('#lastNamePerson').text,
"emails" : [$w("#email").text],
"labels" : ["Film Approved"],
"roleInFilm" : [$w("#rolePerson").text]
})
.then((contactId) => {
wixCRM.emailContact('RypJxMz', contactId, {
"variables": {
"name" : $w('#firstNamePerson').text,
"filmTitle": $w('#filmTitle').text
}
})
.then(() => {
})
.catch((err) => {
});
});
}
//-------------Submission Review-------------//
async function reviewSubmission(pendingSubmission, index, $w) {
pendingSubmission.status = "REVIEW";
await wixData.update("FirstFilmSubmission", pendingSubmission);
refreshData();
}
//-------------Page Update-------------//
function refreshData() {
$w("#pendingSubmissionsDataset").refresh().then(() => {
if ($w("#pendingSubmissionsDataset").getTotalCount() === 0) {
$w("#noPendingSubmissions").show();
$w("#submissionsRepeater").hide();
}
});
}
I’m new to coding - am I missing something?
My website: https://www.bayareafilmmakers-arthouse.com/
Dashboard Page: “Primary Approval Page”
Thank you!