Skip to content

Commit 099f0bf

Browse files
committed
27 Dec 2022
1) Bug fix - CSV values containing comma not being imported properly. 2) Bug fix - Import hangs on import errors. 3) Bug fix - Able to delete course now.
1 parent e48f89d commit 099f0bf

16 files changed

+32
-38
lines changed

assets/A-class-attend.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var attend = {
1313
field : document.getElementById("attend-add"),
1414
mod : "autocomplete", req : "user",
1515
data : { role : "S" },
16-
pick : (d, v) => { attend.add(); }
16+
pick : (d, v) => attend.add()
1717
});
1818
attend.list();
1919
}

assets/A-class.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ var classes = {
9191
hDesc.disabled = false;
9292

9393
// (E2-5) CLICK COURSE TO CHANGE
94-
hCourse.onclick = () => { classes.toggle(false); };
94+
hCourse.onclick = () => classes.toggle(false);
9595
hCNote.classList.remove("d-none");
9696
}
9797
});
@@ -146,6 +146,5 @@ var classes = {
146146
passmsg : "Class Deleted",
147147
onpass : classes.list
148148
}))
149-
150149
};
151150
window.addEventListener("load", classes.list);

assets/A-course-import.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ var cimport = {
2323
let reader = new FileReader(),
2424
vDate = /^\d{4}-\d{2}-\d{2}$/,
2525
csv = hFile.files[0], row, col, err, valid = false;
26-
26+
2727
reader.addEventListener("loadend", () => { try {
2828
// (B2-1) READ ROW-BY-ROW INTO HTML + CHECK VALID
29-
csv = reader.result.split("\r\n");
30-
csv.forEach(r => {
31-
r = r.split(",");
29+
for (let r of CSV.parse(reader.result)) {
3230
row = document.createElement("tr");
3331
if (r.length != 5) {
3432
row.className = "table-danger fw-bold";
@@ -54,7 +52,7 @@ var cimport = {
5452
} else { row.className = "table-danger fw-bold"; }
5553
}
5654
hList.appendChild(row);
57-
});
55+
}
5856

5957
// (B2-2) START BUTTON
6058
if (valid) {
@@ -99,6 +97,7 @@ var cimport = {
9997
cimport.go();
10098
},
10199
onfail : msg => {
100+
row.className = "table-danger fw-bold";
102101
col[5].innerHTML = msg;
103102
cimport.go();
104103
}

assets/A-course-user-import.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ var uimport = {
2222
let reader = new FileReader(),
2323
vMail = new RegExp("[a-z0-9]+@[a-z]+\.[a-z]{2,3}"),
2424
csv = hFile.files[0], row, col, valid = false;
25+
2526
reader.addEventListener("loadend", () => { try {
2627
// (B2-1) READ ROW-BY-ROW INTO HTML + CHECK VALID
27-
csv = reader.result.split("\r\n");
28-
csv.forEach(r => {
29-
r = r.split(",");
28+
for (let r of CSV.parse(reader.result)) {
3029
row = document.createElement("tr");
3130
if (r.length != 1) {
3231
row.className = "table-danger fw-bold";
@@ -46,8 +45,8 @@ var uimport = {
4645
row.appendChild(col);
4746
}
4847
hList.appendChild(row);
49-
});
50-
48+
}
49+
5150
// (B2-2) START BUTTON
5251
if (valid) {
5352
row = document.createElement("tr");
@@ -87,7 +86,8 @@ var uimport = {
8786
col[1].innerHTML = "OK";
8887
uimport.go();
8988
},
90-
onfail : (msg) => {
89+
onfail : msg => {
90+
row.className = "table-danger fw-bold";
9191
col[1].innerHTML = msg;
9292
uimport.go();
9393
}
@@ -98,7 +98,7 @@ var uimport = {
9898
else {
9999
let btn = document.getElementById("user-import-go");
100100
btn.innerHTML = "Done - Go Back";
101-
btn.onclick = () => { cb.page(1); };
101+
btn.onclick = () => cb.page(1);
102102
btn.disabled = false;
103103
cuser.list();
104104
cb.loading(false);

assets/A-course-user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var cuser = {
1313
selector.attach({
1414
field : document.getElementById("course-user-add"),
1515
mod : "autocomplete", req : "user",
16-
pick : (d, v) => { cuser.add(); }
16+
pick : (d, v) => cuser.add()
1717
});
1818
cuser.list();
1919
}

assets/A-users-import.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ var uimport = {
2727

2828
reader.addEventListener("loadend", () => { try {
2929
// (B2-1) READ ROW-BY-ROW INTO HTML + CHECK VALID
30-
csv = reader.result.split("\r\n");
31-
csv.forEach(r => {
32-
r = r.split(",");
30+
for (let r of CSV.parse(reader.result)) {
3331
row = document.createElement("tr");
3432
if (r.length != 4) {
3533
row.className = "table-danger fw-bold";
@@ -54,7 +52,7 @@ var uimport = {
5452
} else { row.className = "table-danger fw-bold"; }
5553
}
5654
hList.appendChild(row);
57-
});
55+
}
5856

5957
// (B2-2) START BUTTON
6058
if (valid) {
@@ -98,6 +96,7 @@ var uimport = {
9896
uimport.go();
9997
},
10098
onfail : msg => {
99+
row.className = "table-danger fw-bold";
101100
col[4].innerHTML = msg;
102101
uimport.go();
103102
}

assets/PAGE-cb.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ var cb = {
153153
if (opt.nofail === undefined) { opt.nofail = false; }
154154

155155
// (D2) ON AJAX LOAD
156-
options.onpass = (res) => {
156+
options.onpass = res => {
157157
// (D2-1) PARSE RESULTS
158158
try { var res = JSON.parse(res); }
159159
catch (err) {
@@ -213,15 +213,10 @@ var cb = {
213213
},
214214

215215
// (F) SIGN OFF
216-
bye : () => {
217-
cb.modal("Please Confirm", "Sign off?", () => {
218-
cb.api({
219-
mod : "session", req : "logout",
220-
passmsg : false,
221-
onpass : () => { location.href = cbhost.base + "login/"; }
222-
});
223-
});
224-
},
216+
bye : () => cb.modal("Please Confirm", "Sign off?", () => cb.api({
217+
mod : "session", req : "logout", passmsg : false,
218+
onpass : () => location.href = cbhost.base + "login/"
219+
})),
225220

226221
// (G) PASSWORD/HASH STRENGTH CHECKER
227222
checker : hash => /^(?=.*[0-9])(?=.*[A-Z]).{8,20}$/i.test(hash)

assets/PAGE-forgot.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ function forgot () {
55
email : document.getElementById("forgot-email").value
66
},
77
passmsg : false,
8-
onpass : () => {
9-
cb.modal("Reset Link Sent", "Click on the reset link in your email.");
10-
}
8+
onpass : () => cb.modal("Reset Link Sent", "Click on the reset link in your email.")
119
});
1210
return false;
1311
}

assets/PAGE-login.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function login () {
66
password : document.getElementById("login-pass").value
77
},
88
passmsg : false,
9-
onpass : () => { location.href = cbhost.base; }
9+
onpass : () => location.href = cbhost.base
1010
});
1111
return false;
1212
}

assets/T-attend.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var attend = {
1313
field : document.getElementById("attend-add"),
1414
mod : "autocomplete", req : "user",
1515
data : { role : "S" },
16-
pick : (d, v) => { attend.add(); }
16+
pick : (d, v) => attend.add()
1717
});
1818
attend.list();
1919
}

0 commit comments

Comments
 (0)