-
Notifications
You must be signed in to change notification settings - Fork 0
/
MarkAttendance.js
129 lines (89 loc) · 3.66 KB
/
MarkAttendance.js
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
function markAttended(){
var attendancetype = "Attended"
var attendanceshow = "Attended"
var metakey = "cc_attendance"
var orderstatus= "completed"
var metavalue = "attended"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markCancelled(){
var attendancetype = "Cancel"
var attendanceshow = "Cancelled"
var metakey = "cc_attendance"
var orderstatus= "completed"
var metavalue = "cancelled"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markNoShow(){
var attendancetype = "NoShow"
var attendanceshow = "NoShow"
var orderstatus= "completed"
var metakey = "cc_attendance"
var metavalue = "noshow"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markDuplicate(){
var attendancetype = "Duplicate"
var attendanceshow = "Duplicated"
var orderstatus= "completed"
var metakey = "cc_attendance"
var metavalue = "duplicate"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markLateBail(){
var attendancetype = "Late Bail"
var attendanceshow = "Late Bail"
var orderstatus= "completed"
var metakey = "cc_attendance"
var metavalue = "latebail"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markNoRegisterShow(){
var attendancetype = "No Register Show"
var attendanceshow = "No Register Show"
var orderstatus= "completed"
var metakey = "cc_attendance"
var metavalue = "noregistershow"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue ) {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName('Sim-Crags');
var active_range = sheet.getActiveRange();
var currentRow = active_range.getRowIndex();
//var currentRow = "14";
console.log(currentRow);
if(currentRow <=1){Browser.msgBox('Select an actual signup', Browser.Buttons.OK); return;}
if(currentRow >=200){Browser.msgBox('Select an actual signup', Browser.Buttons.OK); return;}
var order_id = sheet.getRange(currentRow, 16,1,1).getValue(); /// get submission ID 1 BV ( was 67)
var first_name = sheet.getRange(currentRow, 3,1,1).getValue(); /// get submission ID 1 BV ( was 67)
console.log(order_id);
if(order_id === ""){Browser.msgBox('No Order ID Found', Browser.Buttons.OK); return;}
if (Browser.msgBox("Mark " + attendancetype + " on " +first_name + "'s place? \n Order " + order_id, Browser.Buttons.OK_CANCEL) == "ok") {
if (Browser.msgBox("SIMULATOR: you successfully marked " + attendancetype + " on " +first_name + "'s place", Browser.Buttons.OK_CANCEL) == "ok") {
var cc_attendance_setter = Session.getActiveUser().getEmail();
var data = {"meta_data": [
{"key": "cc_attendance_sim",
"value": metavalue},
{"key": "cc_attendance_sim_set_by",
"value": cc_attendance_setter }
],
};
console.log(orderstatus);
var encodedAuthInformation = Utilities.base64Encode(apiusername+ ":" + apipassword);
var headers = {"Authorization" : "Basic " + encodedAuthInformation};
var options = {
'method' : 'post',
'contentType': 'application/json',
'headers': headers, // Convert the JavaScript object to a JSON string.
'payload' : JSON.stringify(data)
};
url="https://www."+ apidomain + "/wp-json/wc/v3/orders/" + order_id
var response = UrlFetchApp.fetch(url, options);
console.log(response);
//remove old data
var blankArray =[[attendanceshow,order_id]]; /// set a blank variable to delete row (45 values)
sheet.getRange(currentRow, 1,1,2).setValues(blankArray); // paste the blank variables into the cells to delete contents
}
}
}