fix(exam-correct): add XSRF token to post header
This commit is contained in:
parent
6727dff2ef
commit
2b3046164f
@ -3,9 +3,12 @@ import { StorageManager, LOCATION } from '../../lib/storage-manager/storage-mana
|
||||
|
||||
import './exam-correct.sass';
|
||||
|
||||
import Cookies from 'js-cookie';
|
||||
import moment from 'moment';
|
||||
|
||||
|
||||
const EXAM_CORRECT_URL_POST = 'correct';
|
||||
|
||||
const EXAM_CORRECT_IDENT = 'uw-exam-correct';
|
||||
const EXAM_CORRECT_PART_INPUT_ATTR = 'uw-exam-correct--part-input';
|
||||
const EXAM_CORRECT_SEND_BTN_ID = 'exam-correct__send-btn';
|
||||
@ -89,13 +92,13 @@ export class ExamCorrect {
|
||||
});
|
||||
|
||||
// abort send if there are no results (after validation)
|
||||
if (results === {}) return;
|
||||
if (Object.keys(results).length <= 0) return;
|
||||
|
||||
console.log(participant, results);
|
||||
console.log('input validated, proceeding', participant, results);
|
||||
|
||||
// TODO apply row and data classes
|
||||
// (maybe create some sort of template for this instead)
|
||||
// TODO create and use template for this
|
||||
const correctionRow = document.createElement('TR');
|
||||
correctionRow.classList.add('table__row');
|
||||
const dateTD = document.createElement('TD');
|
||||
dateTD.appendChild(document.createTextNode(moment().format()));
|
||||
const participantTD = document.createElement('TD');
|
||||
@ -107,27 +110,35 @@ export class ExamCorrect {
|
||||
partTD.appendChild(document.createTextNode(results[partKey]));
|
||||
return partTD;
|
||||
});
|
||||
[dateTD,participantTD,...partTDs].forEach((td) => correctionRow.appendChild(td));
|
||||
[dateTD,participantTD,...partTDs].forEach((td) => {
|
||||
td.classList.add('table__td');
|
||||
correctionRow.appendChild(td);
|
||||
});
|
||||
const tableBody = this._element.querySelector(`tbody:not(#${EXAM_CORRECT_INPUT_BODY_ID})`);
|
||||
tableBody.insertBefore(correctionRow, tableBody.firstChild);
|
||||
|
||||
// clear input values on validation success
|
||||
// TODO only clear input on post success
|
||||
[this._participantInput, ...this._partInputs].forEach(clearInput);
|
||||
|
||||
const url = 'TODO';
|
||||
const headers = {};
|
||||
const url = EXAM_CORRECT_URL_POST;
|
||||
const headers = {
|
||||
'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
|
||||
};
|
||||
const body = {
|
||||
participant: participant,
|
||||
results: results,
|
||||
};
|
||||
|
||||
console.log('body', body);
|
||||
|
||||
this._app.httpClient.post({
|
||||
url: url,
|
||||
headers: headers,
|
||||
body: body,
|
||||
}).then(
|
||||
(response) => response.json()
|
||||
).then(
|
||||
// (response) => response.json()
|
||||
//).then(
|
||||
(response) => this._processResponse(response, participant)
|
||||
).catch((error) => {
|
||||
console.error('Error while processing response', error);
|
||||
|
||||
5
package-lock.json
generated
5
package-lock.json
generated
@ -9767,6 +9767,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"js-cookie": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
|
||||
"integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
|
||||
},
|
||||
"js-levenshtein": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
|
||||
|
||||
@ -108,6 +108,7 @@
|
||||
"@babel/runtime": "^7.7.6",
|
||||
"@juggle/resize-observer": "^2.5.0",
|
||||
"core-js": "^3.4.8",
|
||||
"js-cookie": "^2.2.1",
|
||||
"moment": "^2.24.0",
|
||||
"npm": "^6.13.4",
|
||||
"tail.datetime": "git+ssh://git@gitlab2.rz.ifi.lmu.de/uni2work/tail.DateTime.git#master",
|
||||
|
||||
13
records.json
13
records.json
@ -739,5 +739,18 @@
|
||||
"usedIds": []
|
||||
}
|
||||
}
|
||||
],
|
||||
"mini-css-extract-plugin node_modules/css-loader/dist/cjs.js??ref--6-1!node_modules/postcss-loader/src/index.js??ref--6-2!node_modules/resolve-url-loader/index.js??ref--6-3!node_modules/sass-loader/dist/cjs.js??ref--6-4!frontend/src/utils/exam-correct/exam-correct.sass": [
|
||||
{
|
||||
"modules": {
|
||||
"byIdentifier": {},
|
||||
"usedIds": {}
|
||||
},
|
||||
"chunks": {
|
||||
"byName": {},
|
||||
"bySource": {},
|
||||
"usedIds": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user