MediaWiki:EventForm.js: Difference between revisions

From Regenerate Willamette Valley
No edit summary
No edit summary
 
Line 2: Line 2:
     var pageName = mw.config.get("wgPageName");
     var pageName = mw.config.get("wgPageName");


    // Apply the script to the EventForm AND event pages (adjust namespace if needed)
     if (pageName.startsWith("Form:EventForm") || pageName.startsWith("Event:")) {
     if (pageName.startsWith("Form:EventForm") || pageName.startsWith("Event:")) {
         $("#pf-form").on("submit", function (event) {
         $("#pf-form").off("submit").on("submit", function (event) {
             event.preventDefault();
             event.preventDefault();


             var webhookUrl = "https://script.google.com/macros/s/YOUR_DEPLOYED_SCRIPT_ID/exec"; // Replace with yours
             var webhookUrl = "https://script.google.com/macros/s/YOUR_DEPLOYED_SCRIPT_ID/exec";


             var eventData = {
             var eventData = {
Line 28: Line 27:
                 console.log("Google Sheets Response:", data);
                 console.log("Google Sheets Response:", data);
                 if (data.trim() === "Success") {
                 if (data.trim() === "Success") {
                     $("#pf-form").unbind("submit").submit();
                    console.log("Re-enabling PageForms submit.");
                     $("#pf-form").off("submit").submit(); // Re-enable PageForms submission
                 } else {
                 } else {
                     alert("Submission failed: " + data);
                     alert("Submission failed: " + data);

Latest revision as of 18:25, 25 March 2025

$(document).ready(function () {
    var pageName = mw.config.get("wgPageName");

    if (pageName.startsWith("Form:EventForm") || pageName.startsWith("Event:")) {
        $("#pf-form").off("submit").on("submit", function (event) {
            event.preventDefault();

            var webhookUrl = "https://script.google.com/macros/s/YOUR_DEPLOYED_SCRIPT_ID/exec";

            var eventData = {
                eventDate: $("input[name='event_date']").val(),
                eventTime: $("input[name='event_time']").val(),
                eventLocation: $("input[name='event_location']").val(),
                eventDescription: $("textarea[name='event_description']").val(),
                submittedBy: mw.config.get("wgUserName")
            };

            console.log("Sending event data:", eventData);

            fetch(webhookUrl, {
                method: "POST",
                body: JSON.stringify(eventData),
                headers: { "Content-Type": "application/json" }
            })
            .then(response => response.text())
            .then(data => {
                console.log("Google Sheets Response:", data);
                if (data.trim() === "Success") {
                    console.log("Re-enabling PageForms submit.");
                    $("#pf-form").off("submit").submit(); // Re-enable PageForms submission
                } else {
                    alert("Submission failed: " + data);
                }
            })
            .catch(error => {
                console.error("Error:", error);
                alert("Error submitting event. Check console for details.");
            });
        });
    }
});