-
Notifications
You must be signed in to change notification settings - Fork 0
/
MarkAttendance.js
153 lines (106 loc) · 4.19 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
function markAttended(){
var attendancetype = "Attended"
var attendanceshow = "Attended"
var metakey = "cc_attendance"
var orderstatus= "completed"
var metavalue = "attended"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
// .addItem('Mark Bad Weather Cancel', 'markBadWeatherCancelled')
// .addItem('Mark ClanCancelled', 'markClanCancelled')
function markClanCancelled(){
var attendancetype = "Cancel"
var attendanceshow = "Cancelled"
var metakey = "cc_attendance"
var orderstatus= "completed"
var metavalue = "cancelled by the Clan"
markAttendance(attendancetype, attendanceshow, orderstatus, metakey, metavalue)
}
function markBadWeatherCancelled(){
var attendancetype = "Cancel"
var attendanceshow = "Cancelled"
var metakey = "cc_attendance"
var orderstatus= "completed"
var metavalue = "cancelled due to bad weather"
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 = "late-bail"
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('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, 18,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") {
var cc_attendance_setter = Session.getActiveUser().getEmail();
var data = {"meta_data": [
{"key": metakey,
"value": metavalue},
{"key": "cc_attendance_set_by",
"value": cc_attendance_setter }
],
"status": orderstatus
};
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
}
}