Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //add-on menu
- function onOpen() {
- SpreadsheetApp.getUi()
- .createMenu("Contacts Creator")
- .addItem('Turn ON Form Submit', 'onFormSubmits')
- .addItem('Turn OFF Form Submit', 'offFormSubmits')
- .addSeparator()
- .addItem('Authorize first time', 'authorize')
- .addSeparator()
- .addItem('Contact', 'showContact')
- .addToUi();
- }
- function authorize() {
- showAlert("Successfully authorized!")
- }
- //on edit and on form submit triggers
- function onFormSubmits() {
- offFormSubmits(true)
- ScriptApp.newTrigger("onFormSubmit")
- .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
- .onFormSubmit()
- .create();
- showAlert("Successfully turned ON Form Submit messaging");
- }
- function offFormSubmits(silent) {
- deleteTriggers(true, "onFormSubmit");
- if (!silent) showAlert("Successfully turned OFF Form Submit messaging");
- }
- function deleteTriggers(silent, handlerFunction) {
- var triggers = ScriptApp.getProjectTriggers();
- if (handlerFunction) {
- for (var i = 0; i < triggers.length; i++) {
- if (triggers[i].getHandlerFunction() == handlerFunction) {
- ScriptApp.deleteTrigger(triggers[i]);
- }
- }
- } else {
- for (var i = 0; i < triggers.length; i++) {
- ScriptApp.deleteTrigger(triggers[i]);
- }
- if (!silent) showAlert("All Schedules deleted");
- }
- }
- //alert
- function showAlert(msg) {
- var ui = SpreadsheetApp.getUi();
- var result = ui.alert(' ', msg + "", ui.ButtonSet.OK);
- }
- //contact
- function showContact() {
- showAlert('This add-on/script was developed by Darren D\'Mello');
- }
- //simple key pair JSON
- function getColumnNamedValues(values) {
- var obj = {}
- for (var i = 1; i < values.length; i++) {
- if (values[i][0]) {
- obj[values[i][0]] = values[i][1];
- }
- }
- return obj;
- }
- function onFormSubmit(e) {
- Logger.log(JSON.stringify(e))
- /*var e = {"authMode":"FULL","namedValues":{"家长是否会和孩子一起参加 Demo 课程":["Yes 是"],"Parent's Name (家长姓名)":["Peter D'Mello"],"Timestamp":["22/11/2022 12:28:31"],"请选择 Preview 课的日期 ":["3/12/2022 Saturday (星期六)8:00pm - 9:00pm (晚上)"],"Student's Name (学员姓名)":["Darren"],"Phone Number (电话号码)":["9876543210"],"Student's Age (学员岁数)":["13 岁以上"],"Email address":["somethinggoodone@gmail.com"]},"range":{"columnEnd":8,"columnStart":1,"rowEnd":697,"rowStart":697},"source":{},"triggerUid":"3779873698096578807","values":["22/11/2022 12:28:31","somethinggoodone@gmail.com","Darren","13 岁以上","Peter D'Mello","9876543210","3/12/2022 Saturday (星期六)8:00pm - 9:00pm (晚上)","Yes 是"]}*/
- if (e.range.columnStart == e.range.columnEnd) return;
- if (e.range.getSheet()
- .getName() != "Preview Class 报名表格") return;
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- try {
- var person = {
- "names": [{
- "givenName": e.namedValues["Parent's Name (家长姓名)"]?.toString() + " - " + e.namedValues["Student's Name (学员姓名)"]?.toString() + " (" + e.namedValues["请选择 Preview 课的日期 "]?.toString()
- ?.split(" ")
- ?.[0] + ")"
- }],
- "emailAddresses": [{
- "type": "work",
- "value": e.namedValues["Email address"]?.toString()
- }],
- "phoneNumbers": [{
- "type": "work",
- "value": e.namedValues["Phone Number (电话号码)"]?.toString()
- }],
- "relations": [{
- "type": "parent",
- "person": e.namedValues["Parent's Name (家长姓名)"]?.toString()
- }],
- }
- People.People.createContact(person);
- } catch (error) {
- MailApp.sendEmail("yijun.cubingacademy@gmail.com,yijun@mycubeassociation.com", "Error in saving google contacts", error + "\n\n\n" + JSON.stringify(e) + "\n\n\n" + ss.getUrl())
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement