Skip to content
Snippets Groups Projects
Commit 1a80ce45 authored by Alexis POYEN's avatar Alexis POYEN
Browse files

Resolve "Update role should remove capturer"

parent 8951cf80
No related merge requests found
......@@ -137,7 +137,7 @@ func (d *DataHandler) deleteCapturerAdmin(w http.ResponseWriter, r *http.Request
http.Error(w, ErrorIDIsMissing, http.StatusNotFound)
return
}
d.db.Delete(&o)
d.db.Unscoped().Delete(&o)
} else {
http.Error(w, ErrorIDIsMissing, http.StatusNotFound)
}
......
......@@ -226,6 +226,11 @@ class HandleUser {
let user = await response.json();
if (user != undefined && user.role == "CAPTURER")
await this.postCapturer(user, method);
else if (user.role != "CAPTURER") {
let capturer = await Auth.getCapturerByUserID(user.id, current_user);
if (capturer != undefined)
await this.CapturerModel.deleteCapturer(capturer.ID);
}
this.parent.displayUsers();
} catch (e) {
Messages.Show("is-warning", e.message);
......@@ -236,9 +241,11 @@ class HandleUser {
async postCapturer(user, method) {
let capturer;
if (method === "PUT")
capturer = await Auth.getCapturerByUserID(user.id, current_user);
else capturer = {};
this.CapturerModel.saveCapturer(method, capturer.ID, user.ID, user.name);
capturer = await Auth.getCapturerByUserID(user.id, current_user);
if (capturer == undefined) {
capturer = { ID: 0 };
method = "POST";
}
this.CapturerModel.saveCapturer(method, capturer.ID, user.id, user.name);
}
}
......@@ -55,10 +55,10 @@ class CapturerModel {
async saveCapturer(method, ID, UserID, Name) {
try {
const response = await fetch("/api/Capturer/" + capturer.ID, {
const response = await fetch("/api/Capturer/" + ID, {
method: method,
headers: new Headers({
"XSRF-Token": current_user.xsrftoken,
"XSRF-Token": this.current_user.xsrftoken,
}),
body: JSON.stringify({
ID: ID,
......@@ -68,11 +68,10 @@ class CapturerModel {
});
if (response.status !== 200) {
throw new Error(
`Capturer could not be deleted (status ${response.status})`
`Capturer could not be saved (status ${response.status})`
);
}
this.refreshCapturers();
Messages.Show("is-success", "Bureau de vote mis à jour");
return await response.json();
} catch (e) {
Messages.Show("is-warning", e.message);
......@@ -94,6 +93,7 @@ class CapturerModel {
`Capturer could not be deleted (status ${response.status})`
);
}
this.refreshCapturers();
} catch (e) {
Messages.Show("is-warning", e.message);
console.error(e);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment