forked from smlab-niser/messmenu
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCode.gs
More file actions
41 lines (32 loc) · 1.22 KB
/
Code.gs
File metadata and controls
41 lines (32 loc) · 1.22 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
function deleteOldDuplicateOnFormSubmit(e) {
var sheet = e.range.getSheet();
var row = e.range.getRow();
var newDay = sheet.getRange(row, 2).getValue(); // Column B = 2
// Get all values in column B
var days = sheet.getRange(1, 2, sheet.getLastRow(), 1).getValues().flat();
for (var r = 1; r <= days.length; r++) {
if (r === row) continue; // Skip the new row itself
if (days[r - 1] === newDay) {
sheet.deleteRow(r);
if (r < row) row--; // Adjust if deleted row is above the new one
}
}
}
function clearSheetWeekly() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Delete all data rows, preserve header row (row 1)
var lastRow = sheet.getLastRow();
if (lastRow > 1) {
sheet.deleteRows(2, lastRow - 1);
}
// Ensure headers are set correctly after clearing
setupHeaders();
}
function setupHeaders() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Set the proper column headers
var headers = ['Timestamp', 'Day', 'Breakfast', 'Lunch', 'Snacks', 'Dinner'];
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
// Optional: Make header row bold
sheet.getRange(1, 1, 1, headers.length).setFontWeight('bold');
}