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

Merge branch '39-update-role-should-remove-capturer' into 'master'

Resolve "Update role should remove capturer"

Closes #39

See merge request apoyen/elections!61
parents 8951cf80 1a80ce45
No related branches found
No related tags found
1 merge request!61Resolve "Update role should remove capturer"
Pipeline #6284 passed
......@@ -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