Se agregaron usuarios externos

This commit is contained in:
2025-09-09 11:03:41 -06:00
parent 7475ca2fbd
commit ae4029ac4e
2 changed files with 94 additions and 10 deletions
+79 -5
View File
@@ -14,6 +14,64 @@ const tiposUsuarioEspecial = ["Caso especial"];
const tiposUsuarioTrabajador = ["Profesor", "Trabajadores"];
const opcionesCarrera = [
"ACTUARIA",
"ARQUITECTURA",
"CIENCIA DE DATOS",
"CIENCIAS POLITICAS Y ADMINISTRACIÓN PUBLICA",
"COMUNICACION",
"COMUNIDAD EXTERNA",
"DERECHO",
"DERECHO (SUA)",
"DISEÑO GRAFICO",
"DOCTORADO EN CIENCIAS POLÍTICAS Y SOCIALES",
"DOCTORADO EN DERECHO",
"DOCTORADO EN ECONOMÍA",
"DOCTORADO EN PEDAGOGÍA",
"DOCTORADO EN URBANISMO",
"ECONOMIA",
"ENSEÑANZA DE ALEMÁN (LENG.EXTRANJ)SUAyED",
"ENSEÑANZA DE ESPAÑOL(LENG.EXTRANJ)SUAyED",
"ENSEÑANZA DE FRANCÉS(LENG.EXTRANJ)SUAyED",
"ENSEÑANZA DE INGLES",
"ENSEÑANZA DE INGLÉS (LENG.EXTRANJ)SUAyED",
"ENSEÑANZA DE ITALIANO(LENG EXTRANJ) SUAyED",
"ESPECIALIZACIÓN EN COSTOS EN LA CONSTRUCCION",
"ESPECIALIZACIÓN EN DERECHO ADMINISTRATIVO",
"ESPECIALIZACIÓN EN DERECHO DE LA PROPIEDAD INTELECTUAL",
"ESPECIALIZACIÓN EN DERECHO FISCAL",
"ESPECIALIZACIÓN EN DERECHO NOTARIAL Y REGISTRAL",
"ESPECIALIZACIÓN EN DERECHO PENAL",
"ESPECIALIZACIÓN EN DERECHO SANITARIO",
"ESPECIALIZACIÓN EN DERECHOS HUMANOS",
"ESPECIALIZACIÓN EN GENERO Y DERECHO",
"ESPECIALIZACIÓN EN GEOTECNIA",
"ESPECIALIZACIÓN EN INSTITUCIONES ADMINISTRATIVAS DE FINANZAS PÚBLICAS",
"ESPECIALIZACIÓN EN SISTEMAS DE CALIDAD",
"ESPECIALIZACIÓN EN TECNOLOGIA DIGITAL PARA LA ENSEÑANZA DE MATEMÁTICAS",
"FILOSOFIA",
"HISTORIA",
"INGENIERIA CIVIL",
"LENGUA Y LITERATURA HISPANICAS",
"MAESTRÍA EN COMUNICACIÓN",
"MAESTRÍA EN DERECHO",
"MAESTRÍA EN DOCENCIA PARA LA EDUCACIÓN MEDIA SUPERIOR",
"MAESTRÍA EN ECONOMÍA",
"MAESTRÍA EN ESTUDIOS EN RELACIONES INTERNACIONALES",
"MAESTRÍA EN ESTUDIOS MÉXICO - ESTADOS UNIDOS",
"MAESTRÍA EN ESTUDIOS POLÍTICOS Y SOCIALES",
"MAESTRÍA EN GOBIERNO Y ASUNTOS PÚBLICOS",
"MAESTRÍA EN PEDAGOGÍA",
"MAESTRÍA EN POLÍTICA CRIMINAL",
"MAESTRÍA EN URBANISMO",
"MATEMÁTICAS APLICADAS Y COMPUTACIÓN",
"PEDAGOGIA",
"PERIODISMO Y COMUNICACION COLECTIVA",
"RELAC. INTERNACIONALES (SUA)",
"RELACIONES INTERNACIONALES",
"SOCIOLOGIA",
];
const FormularioCargaIndividual = () => {
const [tipoUsuario, setTipoUsuario] = useState("");
const [formData, setFormData] = useState<any>({});
@@ -22,7 +80,7 @@ const FormularioCargaIndividual = () => {
const [guardando, setGuardando] = useState(false); // 🔹 Estado para controlar el botón
const camposEstudiante = [
"num_cuenta", "carrera", "clave_carrera", "nombre",
"num_cuenta", "carrera", "nombre",
"a_paterno", "a_materno", "fecha_nacimiento", "genero", "generacion",
];
@@ -33,7 +91,7 @@ const FormularioCargaIndividual = () => {
const camposTrabajador = [
"num_cuenta", "nombre", "a_paterno", "a_materno", "rfc",
"fecha_nacimiento", "genero", "clave_carrera",
"fecha_nacimiento", "genero",
];
const camposVisibles =
@@ -114,7 +172,7 @@ const FormularioCargaIndividual = () => {
if (!response.ok) {
const error = await response.json();
console.error("Error del servidor:", error);
setMensaje("Ocurrió un error al guardar el usuario ❌");
setMensaje(error.message);
return;
}
@@ -123,7 +181,7 @@ const FormularioCargaIndividual = () => {
setTipoUsuario("");
} catch (err) {
console.error("Error en petición fetch:", err);
setMensaje("Ocurrió un error al guardar el usuario ❌");
setMensaje(err instanceof Error ? err.message : String(err));
} finally {
setGuardando(false); // 🔹 Termina de guardar
}
@@ -172,7 +230,23 @@ const FormularioCargaIndividual = () => {
<option value="M">M</option>
<option value="F">F</option>
</select>
) : (
) : campo === "carrera" ? (
// 🔹 Select de carrera
<select
name="carrera"
className={`form-select ${errores.includes(campo) ? "is-invalid" : ""}`}
value={formData.carrera || ""}
onChange={handleChange}
required
>
<option value="">Selecciona una carrera</option>
{opcionesCarrera.map((c) => (
<option key={c} value={c}>
{c}
</option>
))}
</select>
):(
<input
type={campo === "fecha_nacimiento" ? "date" : "text"}
name={campo}
+15 -5
View File
@@ -56,8 +56,8 @@ const Home = () => {
else if (origen === "RED") setSaludo("Bienvenido usuario de red");
else if (origen === "AT") setSaludo("Bienvenido usuario de AT");
else if (origen === "CORREO") setSaludo("Bienvenido usuario de correo");
else if (origen === "SOLICITA")
setSaludo("Bienvenido usuario de préstamos PC Puma");
else if (origen === "SOLICITA")setSaludo("Bienvenido usuario de préstamos PC Puma");
else if (origen === "EXTERNO") setSaludo("Bienvenido usuario externo");
}, [user]);
// 🔹 Label carga/descarga
@@ -81,10 +81,20 @@ const Home = () => {
? [
{ label: "Inicio", page: "landing" },
{ label: "Consulta", page: "consulta" },
{ label: isCarga, page: "carga" },
...(user.tipo !== "EXTERNO"
? [{ label: isCarga, page: "carga" as PageKey }]
: []
),
...(user.tipo === "LOAD"
? [{ label: "Carga individual", page: "carga individual" as PageKey }]
: []),
...(user.tipo === "EXTERNO"
? [{ label: "Carga individual", page: "carga individual" as PageKey }]
: []
),
{ label: "Cerrar sesión", onClick: handleLogout },
]
: [
@@ -121,8 +131,8 @@ const Home = () => {
{page === "landing" && <LandingBody />}
{page === "login" && <LoginPage />}
{page === "consulta" && <Consulta />}
{page === "carga" && <Dashboard />}
{page === "carga individual" && user?.tipo === "LOAD" && (
{page === "carga" &&(user?.tipo!="EXTERNO")&& <Dashboard />}
{page === "carga individual" && (user?.tipo === "LOAD" || user?.tipo === "EXTERNO") && (
<FormularioCargaIndividual />
)}
</>