ahora las opciones de grupos corresponden a las que existen en vez de

ser hardcode
This commit is contained in:
2025-04-21 16:32:50 -03:00
parent b75f672b0a
commit 4e5e0a4f6f
2 changed files with 56 additions and 24 deletions

View File

@@ -11,8 +11,9 @@ public class GruposController : ControllerBase
[HttpGet("api/admin/grupos")]
public IActionResult ObtenerGrupos([FromHeader(Name = "Auth")] string Auth)
{
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 18);
if (ret == false) return BadRequest(new { message = "No tiene permiso para Gestionar grupos" });
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 18) || RepositorioPermisos.Singleton.CheckPermisos(Auth, 9);
if (ret == false) return BadRequest(new { message = "No tiene permiso para ver todos los grupos" });
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" });

View File

@@ -18,17 +18,39 @@
let grupo:string = $state("");
let SelCliente: Cliente = $state(null);
let gruposopt: GrupoDto[] = $state([]);
onMount(() => {
cargaUsuarios();
ObtenerGrupos();
});
async function cargaUsuarios(){
try{
const response = await fetch($urlG+"/api/admin/clientes", {
async function ObtenerGrupos() {
try {
const ret = await fetch($urlG + "/api/admin/grupos", {
method: "GET",
headers: {
"Auth": String(token),
}
})
Auth: token || "",
},
});
if (!ret.ok) {
modaldata = "Fallo Al intentar hacer la request";
return;
}
gruposopt = await ret.json();
} catch {
modaldata = "Fallo Al intentar hacer la request";
}
}
async function cargaUsuarios() {
try {
const response = await fetch($urlG + "/api/admin/clientes", {
method: "GET",
headers: {
Auth: String(token),
},
});
if (response.ok) {
let data: Cliente[] = await response.json();
Clientes = data;
@@ -38,7 +60,6 @@
} catch {
modaldata = "fallo al intentar obtener la lista de clientes";
}
}
async function cargaGrupos(cli: Cliente){
try {
@@ -284,21 +305,31 @@
</table>
{#if showAddmenu}
<div in:fade>
<BarraHorizontalConTexto text="Añadir Grupos al Usuario"/>
<form class="card card-body" onsubmit={(e) => añadirGrupo(e,SelCliente, grupo)}>
<div class="mb-3">
<label for="userRole" class="form-label">Seleccionar Grupo</label>
<select id="userRole" class="form-select" bind:value={grupo}>
<option value="Propietario">Propietario</option>
<option value="Inquilino">Inquilino</option>
<option value="Admin">Admin</option>
<option value="Informes">Informes</option>
</select>
</div>
<button class="btn btn-primary" type="submit">Añadir</button>
</form>
</div>
<div in:fade>
<BarraHorizontalConTexto text="Añadir Grupos al Usuario" />
<form
class="card card-body"
onsubmit={(e) => añadirGrupo(e, SelCliente, grupo)}
>
<div class="mb-3">
<label for="userRole" class="form-label"
>Seleccionar Grupo</label
>
<select
id="userRole"
class="form-select"
bind:value={grupo}
>
{#each gruposopt as g}
<option value={g.nombre}>{g.nombre}</option>
{/each}
</select>
</div>
<button class="btn btn-primary" type="submit"
>Añadir</button
>
</form>
</div>
{/if}
</div>
</div>