-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrouble_ticket_form_submit
More file actions
80 lines (69 loc) · 4.04 KB
/
Trouble_ticket_form_submit
File metadata and controls
80 lines (69 loc) · 4.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function onFormSubmit(e) {
const formUrl = 'https://docs.google.com/forms/d/19vC2GMsBd8qGPBOL2MdUIYn9t5a5nTQgh_zby6dObic/edit'; // Replace with the URL of your Google Form
// Open the Forms file
const form = FormApp.getActiveForm();
// Gets the responses to the form
const formResponses = form.getResponses();
const subject = "Trouble Ticket Submission";
var message = "A new Trouble Ticket has been submitted.\n\n";
message += "Form Link: " + formUrl + "\n\n";
// Logger.log("Message start: " + message);
// Find the last response in the form
const lastRowIndex = formResponses.length - 1;
const lastResponse = formResponses[lastRowIndex];
// Get the timestamp and email of submitter for the last ticket submitted
const responseTimestamp = lastResponse.getTimestamp();
message += "Submitted on: " + responseTimestamp + "\n\n";
message += "By: " + lastResponse.getRespondentEmail() + "\n\n";
// Logger.log("Message time & email details: " + message);
const lastTicketResponses = lastResponse.getItemResponses();
// Add the Ticket's responses to the email body
for (var i = 0; i < lastTicketResponses.length; i++) {
const itemResponse = lastTicketResponses[i];
message += itemResponse.getItem().getTitle() + "\n\n";
message += itemResponse.getResponse() + "\n\n";
}
// Logger.log("Message complete: " + message);
// Get the equipment the ticket was about
const equipmentColumn = 0; // Change this to the column number of the Equipment
const equipment = lastTicketResponses[equipmentColumn].getResponse();
// Logger.log("Equipment: " + equipment);
// Determine the recipient based on the form response
// the emails for the Owner Teams can be found at https://equipment.makespace.org/owners-and-contacts
var recipientEmail;
switch(equipment) {
case "Bamboo 3D Printer": recipientEmail = "3dprinters@makespace.org"; break;
case "3D Printer (PLA)": recipientEmail = "3dprinters@makespace.org"; break;
case "3D Printer (ABS)": recipientEmail = "3dprinters@makespace.org"; break;
case "Form3 Resin Printer": recipientEmail = "3dprinters@makespace.org"; break;
case "MarkForge 3D Printer": recipientEmail = "3dprinters@makespace.org"; break;
case "Laser cutter (Jaws)": recipientEmail = "Laser_cutter-Owners@makespace.org"; break;
case "Laser cutter (Betsy)": recipientEmail = "Laser_cutter-Owners@makespace.org"; break;
case "Wood Lathe": recipientEmail = "wood-lathe-owners@makespace.org"; break;
case "Bandsaw": recipientEmail = "woodshop-owners@makespace.org"; break;
case "Belt Sander": recipientEmail = "woodshop-owners@makespace.org"; break;
case "Tormek": recipientEmail = "woodshop-owners@makespace.org"; break;
case "CNC Router": recipientEmail = "cnc-owners@makespace.org"; break;
case "CNC Mill": recipientEmail = "cnc-owners@makespace.org"; break;
case "Electronics Bench": recipientEmail = "electronics-owners@makespace.org"; break;
case "Training - Classrooms or training completion forms": recipientEmail = "owners@makespace.org"; break;
case "Badger": recipientEmail = "owners@makespace.org"; break;
case "Wi-Fi / Computers / Printer": recipientEmail = "it-maintainers@makespace.org"; break;
case "Sewing Machines": recipientEmail = "craftroom-owners@makespace.org"; break;
case "Embroidery Machine": recipientEmail = "craftroom-owners@makespace.org"; break;
case "AV Equipment": recipientEmail = "owners@makespace.org"; break;
case "Metal Lathe": recipientEmail = "metal-shop-owners@makespace.org"; break;
case "Metal Mill": recipientEmail = "metal-shop-owners@makespace.org"; break;
// Add more cases for additional options
default: recipientEmail = "owners@makespace.org";
}
// Logger.log("Will email: " + recipientEmail + " + Makespace admins");
// Send email to the owners group + makespace admins
MailApp.sendEmail({
to: recipientEmail + ",admin@makespace.org",
subject: subject,
body: message,
name: "The Makespace Owners" // Your name or organization's name
});
// Logger.log("Message sent");
}