diff --git a/Aspnet/Controllers/GruposController.cs b/Aspnet/Controllers/GruposController.cs index d8569ff..3521b96 100644 --- a/Aspnet/Controllers/GruposController.cs +++ b/Aspnet/Controllers/GruposController.cs @@ -41,8 +41,26 @@ public class GruposController : ControllerBase Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" }); - Console.WriteLine(grupo.GruposIncluidos.Count); + bool ret2 = RepositorioGrupos.Singleton.PatchGrupo(grupo, cli); return ret2 ? Ok(new { message = "Se Modifico el grupo" }) : BadRequest(new { message = "Fallo al editar el grupo" }); } + + [HttpPost("/api/grupo")] + public IActionResult PostGrupo([FromHeader(Name = "Auth")] string Auth, GrupoDto grupo) + { + var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 18); + if (ret == false) return BadRequest(new { message = "No tiene permiso para Gestionar grupos" }); + + Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); + if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" }); + + if (grupo.Nombre.Length > 25) + { + return BadRequest(new { message = "El nombre del grupo no puede superar los 25 caracteres" }); + } + + bool ret2 = RepositorioGrupos.Singleton.AddGrupo(grupo, cli); + return ret2 ? Ok(new { message = "Se Añadio el grupo" }) : BadRequest(new { message = "Fallo al añadirse el grupo" }); + } } diff --git a/Front/public/plus.svg b/Front/public/plus.svg new file mode 100644 index 0000000..c0ae662 --- /dev/null +++ b/Front/public/plus.svg @@ -0,0 +1,20 @@ + + diff --git a/Front/src/Componentes/BotonEsquina.svelte b/Front/src/Componentes/BotonEsquina.svelte new file mode 100644 index 0000000..550a2f8 --- /dev/null +++ b/Front/src/Componentes/BotonEsquina.svelte @@ -0,0 +1,41 @@ + + + + + diff --git a/Front/src/Componentes/ModalAñadirGrupo.svelte b/Front/src/Componentes/ModalAñadirGrupo.svelte new file mode 100644 index 0000000..91c7680 --- /dev/null +++ b/Front/src/Componentes/ModalAñadirGrupo.svelte @@ -0,0 +1,133 @@ + + +
diff --git a/Front/src/paginas/AdminGrupos.svelte b/Front/src/paginas/AdminGrupos.svelte index 23fd4ce..dedbfbb 100644 --- a/Front/src/paginas/AdminGrupos.svelte +++ b/Front/src/paginas/AdminGrupos.svelte @@ -6,11 +6,15 @@ import ModalEstatico from "../Componentes/ModalEstatico.svelte"; import ModalEditarGrupo from "../Componentes/ModalEditarGrupo.svelte"; import BarraHorizontalConTexto from "../Componentes/BarraHorizontalConTexto.svelte"; + import BotonEsquina from "../Componentes/BotonEsquina.svelte"; + import ModalAadirGrupo from "../Componentes/ModalAñadirGrupo.svelte"; const token: string = sessionStorage.getItem("token") || ""; let grupos: GrupoDto[] = $state([]); let modaldat: string = $state(""); + let showmodaladd = $state(false); + onMount(() => { ObtenerGrupos(); obtenerPermisos(); @@ -84,6 +88,27 @@ modaldat = "Fallo Al intentar hacer la request"; } } + + async function submitGrupo(a: GrupoDto) { + let b = a; + try { + let req = await fetch($urlG + "/api/grupo", { + method: "POST", + headers: { + Auth: token, + "Content-Type": "application/json", + }, + body: JSON.stringify(b), + }); + const resp = await req.json(); + modaldat = resp.message; + if (req.ok) { + ObtenerGrupos(); + } + } catch { + modaldat = "Fallo al hacer la request"; + } + } {#if modaldat != ""} @@ -102,6 +127,7 @@