function onFormSubmit(e) {
const row = e.values; // Anpassa index per ditt formulär
const area = row[2], category = row[3], status = row[4], photoUrl = row[5], comment = row[6];
const rules = {
Hygien: { Brist: {action:"internal", due:24}, Kritisk: {action:"internal", due:6} },
Utrustning: { Brist:{action:"internal", due:24}, Kritisk:{action:"supplier", due:4} }
};
const rule = (rules[category]||{})[status];
if (!rule) return;
const due = new Date(Date.now() + rule.due*60*60*1000).toISOString();
if (rule.action === "supplier") {
const supplier = findSupplierByCategory_(category); // implementera uppslagning t.ex. från en “Suppliers”-flik
const subject = `AKUT: ${category} – problem i ${area}`;
const body = `Kritiskt fel i ${area}\nKommentar: ${comment}\nBild: ${photoUrl}\nDeadline: ${due}`;
MailApp.sendEmail(supplier.email, subject, body);
} else {
const shiftLead = getShiftLeadEmail_(); // t.ex. från “Users”-flik
MailApp.sendEmail(shiftLead, `Åtgärd krävs i ${area}`, `Status: ${status}\nKommentar: ${comment}\nBild: ${photoUrl}\nDeadline: ${due}`);
}
}
Städningskontroll
—
Tips: Vid röd ⛔ krävs foto. Gul ⚠️ rekommenderar foto. Mail-länkar skapas automatiskt vid fel.
Konfiguration (redigera i koden vid behov)
Du kan lägga till områden, punkter, regler och leverantörer direkt i källkoden (konstanten CONFIG
). Den här demon är byggd för att kunna klistras in på en vanlig hemsida utan backend.