Compare commits

..

2 Commits

Author SHA1 Message Date
2cfda4f437 add variable by URL 2023-11-04 22:52:47 +01:00
4ed38c4940 add pages select 2023-11-04 22:42:05 +01:00
3 changed files with 74 additions and 50 deletions

View File

@ -141,7 +141,7 @@
<div class="row g-3">
<div class="col-auto">
<label for="inputRoles" class="form-label">Roles</label>
<label for="inputRoles" class="form-label">Rôle :</label>
<select class="form-select" id="inputRoles" aria-label="Default select example">
<option value="All" selected>Tout</option>
<option value="Admin">Administrateurs</option>
@ -149,7 +149,7 @@
</select>
</div>
<div class="col-auto">
<label for="inputStatus" class="form-label">Statut</label>
<label for="inputStatus" class="form-label">Statut :</label>
<select class="form-select" id="inputStatus" aria-label="Default select example">
<option value="-2" selected>Tout</option>
<option value="-1">En cours de suppression</option>
@ -158,12 +158,29 @@
<option value="2">En cours de validation</option>
</select>
</div>
<div class="col-auto">
<label for="inputPages" class="form-label">Page :</label>
<select class="form-select" id="inputPages" aria-label="Page">
<option value="20" selected>20</option>
<option value="40">40</option>
<option value="60">60</option>
<option value="80">80</option>
<option value="100">100</option>
</select>
</div>
<br />
</div>
<br /><br />
<div class="row g-3">
<div class="col-auto">
<button type="button" class="btn btn-success" id="enableUserButton" data-bs-toggle="modal" data-bs-target="#enableUserModal">Activer l'utilisateur</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning " id="disableUserButton" data-bs-toggle="modal" data-bs-target="#disableUserModal">Désactiver l'utilisateur</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-danger" id="removeUserButton" data-bs-toggle="modal" data-bs-target="#removeUserModal">Supprimer l'utilisateur</button>
</div>
</div>
<br /><br /><br />
<table id=users class="table table-striped table-sm">
<thead>

View File

@ -21,34 +21,39 @@ function checkToken(){
}
function buildParam(e, id){
function buildParam(typeInput){
var search = document.getElementById("searchUser").value;
var param = "";
var listParam = ["page", "nbPages"];
if(id.length > 0){
var select = document.getElementById(id);
var listParam = ["skip"];
if(typeInput.length > 0){
listId =["inputRoles", "inputStatus", "inputPages"]
for (var i=0; i<listId.length; i++) {
var select = document.getElementById(listId[i]);
var getId = select.options[select.selectedIndex].value;
if(id == "inputRoles"){
var status = e.target.value;
if(status != "-2"){
param = param + "status="+status+"&";
switch (listId[i])
{
case "inputRoles":
if (getId != "All"){
param = param + "roles=" + getId + "&";
}
if(getId != "All"){
param = param + "roles="+getId;
}
}
if(id == "inputStatus"){
var roles = e.target.value;
if(getId != "-2"){
param = param + "status="+getId+"&";
}
if(roles != "All"){
param = param + "roles="+roles+"&";
break;
case "inputStatus":
if (getId != "-2"){
param = param + "status=" + getId + "&";
}
break;
case "inputPages":
param = param + "limit=" + getId + "&";
break;
default:
break;
}
}
} else {
listParam.push("roles");
listParam.push("status");
listParam.push("limit");
}
if(search.length > 0){

View File

@ -1,5 +1,7 @@
checkToken();
signOut();
pathURL = document.location.pathname.split("/")[document.location.pathname.split("/").length-1].split(".")[0]
var param = {}
param["limit"] = 20;
@ -12,7 +14,7 @@ for(var i=0; i<listSearch.length; i++){
}
}
var listQuery = [{"query": "roles", "id":"inputRoles"}, {"query":"status", "id":"inputStatus"}]
var listQuery = [{"query": "roles", "id":"inputRoles"}, {"query":"status", "id":"inputStatus"}, {"query":"limit", "id":"inputPages"}]
for (var i=0; i<listQuery.length; i++){
var query = getQuery(listQuery[i]["query"]);
@ -28,7 +30,7 @@ for (var i=0; i<listQuery.length; i++){
}
instance.get("users/count", { withCredentials: true }).then(function(response){
instance.get(pathURL+"/count", { withCredentials: true }).then(function(response){
var count = response.data["count"] / param["limit"];
var reste = response.data["count"] % param["limit"];
@ -54,7 +56,7 @@ instance.get("users/count", { withCredentials: true }).then(function(response){
var aPage = document.querySelectorAll(".page-item")[newPage].querySelector("a");
aPage.text=newPage;
var newPage = updateParam("page", newpage);
aPage.href="/html/users.html?"+newPage;
aPage.href="/html/"+pathURL+".html?"+newPage;
}
document.querySelectorAll(".page-item")[page].classList.add("active");
if(page != 1){
@ -83,7 +85,7 @@ for (var i=0; i<listQuery.length; i++){
}
}
instance.get("users", {withCredentials: true, params:param}).then(function(response){
instance.get(pathURL, {withCredentials: true, params:param}).then(function(response){
var listData = response.data;
if(!Array.isArray(listData)){
var listData = []
@ -113,15 +115,15 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
switch(e.currentTarget.id){
case "disableUserButton":
httpMethod = "delete";
httpUrl = "users/groups";
httpUrl = pathURL+"/groups";
break;
case "removeUserButton":
httpMethod = "delete";
httpUrl = "users/groups?remove=true";
httpUrl = pathURL+"/groups?remove=true";
break;
default:
httpMethod = "patch";
httpUrl = "users/groups";
httpUrl = pathURL+"/groups";
break;
}
instance({
@ -132,7 +134,7 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
})
.then(function(response){
if(response.status == 200){
location.href="/html/users.html";
location.href="/html/"+pathURL+".html";
}
})
.catch(function(error){
@ -178,7 +180,7 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
td[6].querySelector("button").addEventListener("click", function(e){
var id = e.currentTarget.getAttribute("userid");
location.href="/html/user.html?id="+id;
location.href="/html/"+pathURL.slice(0, -1)+".html?id="+id;
});
}
@ -194,25 +196,25 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
document.getElementById("addUser").addEventListener("click", function(){
location.href="/html/adduser.html";
location.href="/html/add"+pathURL.slice(0, -1)+".html";
});
document.getElementById("searchUser").addEventListener("keydown", function(ev){
if(ev.key === "Enter"){
var param = buildParam("", "");
location.href="/html/users.html?"+param;
var param = buildParam("");
location.href="/html/"+pathURL+".html?"+param;
}
});
document.getElementById("inputStatus").addEventListener("change", function(e){
var param = buildParam(e, "inputRoles");
location.href="/html/users.html?"+param;
});
document.getElementById("inputRoles").addEventListener("change", function(e){
var param = buildParam(e, "inputStatus");
location.href="/html/users.html?"+param;
});
listInput = ["Status", "Roles", "Pages" ]
for (var i=0; i<listInput.length; i++){
document.getElementById("input"+listInput[i]).addEventListener("change", function(e){
var param = buildParam("inputSelect");
location.href="/html/"+pathURL+".html?"+param;
});
}