Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changes made #72

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 43 additions & 25 deletions form-script.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,62 @@
Paste this script into the 'Code.gs' tab in the Script Editor
For a detailed explanation of this file, view 'form-script-commented.js'
*/
var sheetName = 'Sheet1';
var scriptProp = PropertiesService.getScriptProperties();

var sheetName = 'Sheet1'
var scriptProp = PropertiesService.getScriptProperties()

function intialSetup () {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet()
scriptProp.setProperty('key', activeSpreadsheet.getId())
function sendEmailNotification(subject, body) {
var recipient = "[email protected]";
var senderName = "test";

MailApp.sendEmail({
to: recipient,
subject: subject,
htmlBody: body,
name: senderName,
});
}

function doPost (e) {
var lock = LockService.getScriptLock()
lock.tryLock(10000)
function initialSetup() {
var activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
scriptProp.setProperty('key', activeSpreadSheet.getId());
}

function doPost(e) {
var lock = LockService.getScriptLock();
lock.tryLock(10000);

try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
var sheet = doc.getSheetByName(sheetName)
try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'));
var sheet = doc.getSheetByName(sheetName);

var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
var nextRow = sheet.getLastRow() + 1;

var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : e.parameter[header]
})
return header === 'timestamp' ? new Date() : e.parameter[header];
});

sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow]);

sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
// Send email notification
var emailSubject = "New Form Submission";
var emailBody = "A new form submission has been received.";
sendEmailNotification(emailSubject, emailBody);

return ContentService
.createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))
.setMimeType(ContentService.MimeType.JSON)
}
.setMimeType(ContentService.MimeType.JSON);
} catch (e) {
// Send error email notification
var errorSubject = "Error in Form Submission";
var errorBody = "An error occurred while processing the form submission:\n" + e;
sendEmailNotification(errorSubject, errorBody);

catch (e) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
.setMimeType(ContentService.MimeType.JSON)
}

finally {
lock.releaseLock()
.setMimeType(ContentService.MimeType.JSON);
} finally {
lock.releaseLock();
}
}
}