diff --git a/web/components/users/handleBanker.js b/web/components/users/handleBanker.js index 75ff29172add96d97de1016d8095af34be0b6317..cb3a0ec438693ff6af1ef0f64ae7887833cfa8c7 100644 --- a/web/components/users/handleBanker.js +++ b/web/components/users/handleBanker.js @@ -87,6 +87,23 @@ class HandleBanker { Users.toggleModal("banker-modal", "banker-modal-card"); } + async deleteBanker(banker) { + try { + const response = await fetch("/api/UserBankers/" + banker.ID, { + method: "delete", + headers: new Headers({ + "XSRF-Token": current_user.xsrftoken, + }), + }); + if (response.status !== 200) { + throw new Error(`Banker could not be deleted (status ${response.status})`); + } + } catch (e) { + Messages.Show("is-warning", e.message); + console.error(e); + } + } + async postBanker() { let method; if (update_banker) method = "PUT"; diff --git a/web/components/users/handleClient.js b/web/components/users/handleClient.js index d7ba8a6f72b1e82c72b337c3e9774190d1866183..9a125f9e7a77df31df2d03416f2ba1769cb2a283 100644 --- a/web/components/users/handleClient.js +++ b/web/components/users/handleClient.js @@ -32,7 +32,7 @@ class HandleClient { <div class="modal-background"></div> <div class="modal-card" id="client-modal-card"> <header class="modal-card-head"> - <p class="modal-card-title">Ajout/Supression d'un client</p> + <p class="modal-card-title">Ajout/Édition d'un client</p> <button class="delete" aria-label="close" id="client-modal-close"></button> </header> <section class="modal-card-body"> @@ -101,6 +101,23 @@ class HandleClient { Users.toggleModal("client-modal", "client-modal-card"); } + async deleteClient(client) { + try { + const response = await fetch("/api/UserClients/" + client.ID, { + method: "delete", + headers: new Headers({ + "XSRF-Token": current_user.xsrftoken, + }), + }); + if (response.status !== 200) { + throw new Error(`Client could not be deleted (status ${response.status})`); + } + } catch (e) { + Messages.Show("is-warning", e.message); + console.error(e); + } + } + async refreshBankers() { const response = await fetch("/api/UserBankers/", { method: "GET", diff --git a/web/components/users/handleUser.js b/web/components/users/handleUser.js index 49dd0ccbcbeb52ccc6e6587347e3a61b88c13e68..712cd8c8b5179afc88f07fec0f63eb68c1d9e21d 100644 --- a/web/components/users/handleUser.js +++ b/web/components/users/handleUser.js @@ -10,7 +10,6 @@ let idOAuth_field; let login_field; let displayName_field; let password_field; -let passwordhash_field; let name_field; let surname_field; let role_field; @@ -64,11 +63,6 @@ class HandleUser { <input class="input" type="text" id="users-modal-password" /> </div> </div> - <div class="field" id="users-modal-password-container"> - <div class="control"> - <input class="input" type="hidden" id="users-modal-passwordhash" /> - </div> - </div> <div class="field" id="users-modal-name-container"> <label>Nom</label> <div class="control"> @@ -112,7 +106,6 @@ class HandleUser { idOAuth_field = document.getElementById("users-modal-idoauth"); login_field = document.getElementById("users-modal-login"); password_field = document.getElementById("users-modal-password"); - passwordhash_field = document.getElementById("users-modal-passwordhash"); displayName_field = document.getElementById("users-modal-displayName"); name_field = document.getElementById("users-modal-name"); surname_field = document.getElementById("users-modal-surname"); @@ -138,7 +131,6 @@ class HandleUser { id_field.value = ""; login_field.value = ""; password_field.value = RandomString(48); - passwordhash_field.value = ""; name_field.value = ""; displayName_field.value = ""; surname_field.value = ""; @@ -162,6 +154,13 @@ class HandleUser { Messages.Show("is-warning", e.message); console.error(e); } + if (user.role == "BANKER") { + let banker = await this.getBankerByUserID(user.id); + if (banker != undefined) this.parent.HandleBanker.deleteBanker(banker); + } else if (user.role == "CLIENT") { + let client = await Auth.getClientByUserID(user.id, current_user); + if (client != undefined) this.parent.HandleClient.deleteClient(client); + } } editUser(user) { @@ -171,7 +170,6 @@ class HandleUser { idOAuth_field.value = user.idOAuth; login_field.value = user.login; password_field.value = ""; - passwordhash_field.value = user.passwordHash; name_field.value = user.name; displayName_field.value = user.displayName; surname_field.value = user.surname; @@ -223,7 +221,7 @@ class HandleUser { else method = "POST"; try { - if(role_field.value == ""){ + if (role_field.value == "") { Messages.Show("is-warning", "Veuillez choisir un rôle pour l'utilisateur"); return; } @@ -236,7 +234,6 @@ class HandleUser { id: id_field.value, login: login_field.value, password: password_field.value, - passwordHash: passwordhash_field.value, name: name_field.value, surname: surname_field.value, role: role_field.value,