cambios de directorios y nombres

This commit is contained in:
victor.monge 2025-05-03 10:37:44 -06:00
parent fceb0f44ee
commit ede8584ffc
11 changed files with 62 additions and 185 deletions

View File

@ -13,12 +13,22 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (UsuarioController::iniciarSesion($usuario, $contrasena)) {
session_start(); // Iniciar la sesión
$_SESSION['autenticado'] = true; // Marcar la sesión como autenticada
echo json_encode(['loginExitoso' => true, 'message' => 'Inicio de sesión exitoso']);
echo json_encode([
'estado' => 'exitoso',
'mensaje' => 'Inicio de sesión exitoso'
]);
} else {
echo json_encode(['loginExitoso' => false, 'message' => 'Usuario o contraseña incorrectos']);
echo json_encode([
'estado' => 'error',
'mensaje' => 'Usuario o contraseña incorrectos'
]);
}
} catch (Exception $e) {
echo json_encode(['loginExitoso' => false, 'message' => $e->getMessage()]);
echo json_encode([
'estado' => 'error',
'mensaje' => 'Error al iniciar sesión, intentelo más tarde.',
'res' => $e->getMessage()
]);
}
}

View File

@ -1,140 +0,0 @@
document.addEventListener("DOMContentLoaded", function () {
const buscarBtn = document.getElementById("buscarBtn");
const paisSelect = document.getElementById("id_pais");
const inputCodigoPostal = document.getElementById("codigo_postal");
const inputButtonBuscarCodigoPostal = document.getElementById("buscarBtn");
const estadoSelect = document.getElementById("id_estado");
const municipioSelect = document.getElementById("id_municipio");
const coloniaSelect = document.getElementById("id_colonia");
const giroSelect = document.getElementById("id_giro");
llenarSelectGiro();
// Añadir un evento de cambio al select de país
paisSelect.addEventListener("change", function() {
// Si el país es México, habilitar el campo de código postal
if (paisSelect.value === "1") {
inputCodigoPostal.removeAttribute("disabled");
inputButtonBuscarCodigoPostal.removeAttribute("disabled");
} else {
// Si el país no es México, deshabilitar el campo de código postal
inputCodigoPostal.setAttribute("disabled", "disabled");
inputButtonBuscarCodigoPostal.setAttribute("disabled", "disabled");
}
});
//Añadir un evento al boton de buscar
buscarBtn.addEventListener("click", function () {
let inputCodigoPostal = document.getElementById("codigo_postal").value;
//verificar si el codigo postal esta vacio
if (inputCodigoPostal) {
// Limpia los selects antes de llenarlos
estadoSelect.innerHTML = "<option value='NULL'>Seleccione su estado</option>";
municipioSelect.innerHTML = "<option value='NULL'>Seleccione su municipio</option>";
coloniaSelect.innerHTML = "<option value='NULL'>Seleccione su colonia</option>";
// Construye la URL para la solicitud
let url = "./controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
// Realiza una solicitud HTTP GET a la URL especificada
fetch(url)
.then(response => {
//console.log("Estado de la respuesta:", response.status);
//console.log("Contenido de la respuesta:", response.json());
// Verifica si la respuesta del servidor es exitosa
if (!response.ok) {
throw new Error("Error en la respuesta del servidor");
}
// Convertir la respuesta a JSON
return response.json();
})
.then(data => {
// Verifica si se recibieron datos
if (data.length > 0) {
// Quitar disable a los selects
estadoSelect.removeAttribute("disabled");
estadoSelect.setAttribute("required", "required");
municipioSelect.removeAttribute("disabled");
municipioSelect.setAttribute("required", "required");
coloniaSelect.removeAttribute("disabled");
coloniaSelect.setAttribute("required", "required");
//Crea conjuntos para almacenar estados, ciudades y colonias
let estados = new Map();
let municipios = new Map();
let colonias = new Map();
// Itera sobre cada fila de datos recibidos
data.forEach(row => {
console.log(row);
estados.set(row['id_estado'], row['estado']);
municipios.set(row['id_municipio'], row['municipio']);
colonias.set(row['id_colonia'], row['colonia']);
});
// Añade las opciones de estados al elemento select
for (let [id_estado, estado] of estados) {
estadoSelect.innerHTML += "<option value='" + id_estado + "'>" + estado + "</option>";
}
// Añade las opciones de ciudades al elemento select
for (let [id_municipio, municipio] of municipios) {
municipioSelect.innerHTML += "<option value='" + id_municipio + "'>" + municipio + "</option>";
}
// Añade las opciones de colonias al elemento select
for (let [id_colonia, colonia] of colonias) {
coloniaSelect.innerHTML += "<option value='" + id_colonia + "'>" + colonia + "</option>";
}
} else {
alert("No se encontraron datos para el código postal ingresado.");
}
})
.catch(error => {
console.error("Error en la solicitud:", error);
});
} else {
alert("Por favor, ingrese un código postal.");
}
});
function llenarSelectGiro() {
// URL para la solicitud
let url = "./controllers/CatalogosController.php?obtener=giros";
// Realiza una solicitud HTTP GET a la URL especificada
fetch(url)
.then(response => {
// Verifica si la respuesta del servidor es exitosa
if (!response.ok) {
throw new Error("Error en la respuesta del servidor");
}
// Convertir la respuesta a JSON
return response.json();
})
.then(data => {
// Verifica si se recibieron datos
if (data.length > 0) {
// Añade las opciones de giros al elemento select
data.forEach(row => {
giroSelect.innerHTML += "<option value='" + row.id_giro + "'>" + row.descripcion + "</option>";
});
} else {
alert("No se encontraron datos para los giros.");
}
})
.catch(error => {
console.error("Error en la solicitud:", error);
});
}
});

View File

@ -6,7 +6,7 @@ obtenerTiposIdentificacion();
obtenerRangosEdad();
function obtenerNombresExamenes(){
let url = "./controllers/CatalogosController.php?obtener=examenes";
let url = "../controllers/CatalogosController.php?obtener=examenes";
fetch(url)
.then(response => response.json())
.then(data => {
@ -28,7 +28,7 @@ function obtenerNombresExamenes(){
}
function obtenerTiposIdentificacion(){
let url = "./controllers/CatalogosController.php?obtener=identificacion";
let url = "../controllers/CatalogosController.php?obtener=identificacion";
fetch(url)
.then(response => response.json())
.then(data => {
@ -50,7 +50,7 @@ function obtenerTiposIdentificacion(){
}
function obtenerRangosEdad(){
let url = "./controllers/CatalogosController.php?obtener=rangosedad";
let url = "../controllers/CatalogosController.php?obtener=rangosedad";
fetch(url)
.then(response => response.json())
.then(data => {
@ -208,7 +208,7 @@ formulario.addEventListener("submit", async(event) => {
// Enviar petición POST para registrar candidato
try {
const respuesta = await fetch('controllers/registrarCandidato.php', {
const respuesta = await fetch('../controllers/RegistrarCandidatoController.php', {
method: "POST",
body: formData,
});

View File

@ -20,7 +20,7 @@ document.addEventListener("DOMContentLoaded", function () {
// FUNCIONES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function llenarSelectGiro() {
// URL para la solicitud
let url = "./controllers/CatalogosController.php?obtener=giros";
let url = "../controllers/CatalogosController.php?obtener=giros";
// Realiza una solicitud HTTP GET a la URL especificada
fetch(url)
@ -51,7 +51,7 @@ document.addEventListener("DOMContentLoaded", function () {
}
function llenarSelectNivelesEstudio(){
let url = "./controllers/CatalogosController.php?obtener=nivelesestudio";
let url = "../controllers/CatalogosController.php?obtener=nivelesestudio";
// Petición fetch y llenado de select
fetch(url)
.then(response => {
@ -75,7 +75,7 @@ document.addEventListener("DOMContentLoaded", function () {
}
function llenarDataListEmpresasInstituciones(){
let url = "./controllers/CatalogosController.php?obtener=empresasinstituciones";
let url = "../controllers/CatalogosController.php?obtener=empresasinstituciones";
fetch(url)
.then(response => response.json())
.then(data => {
@ -170,7 +170,7 @@ document.addEventListener("DOMContentLoaded", function () {
coloniaSelect.innerHTML = "<option value='NULL'>Seleccione su colonia</option>";
// Construye la URL para la solicitud
let url = "./controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
let url = "../controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
// Realiza una solicitud HTTP GET a la URL especificada
fetch(url)
@ -327,7 +327,7 @@ document.addEventListener("DOMContentLoaded", function () {
// }
try {
const respuesta = await fetch('controllers/registrarInfoCandidato.php', {
const respuesta = await fetch('../controllers/RegistrarInfoCandidato.php', {
method: "POST",
body: formData,
});

View File

@ -13,21 +13,24 @@ formulario.addEventListener("submit", async (event) => {
data.append("contrasena", contrasena);
try {
const respuestaPeticion = await fetch("controllers/login.php", {
const respuestaPeticion = await fetch("../controllers/LoginController.php", {
method: "POST",
body: data,
});
const verificarCredenciales = await respuestaPeticion.json();
const respuesta = await respuestaPeticion.json();
if (verificarCredenciales.loginExitoso) {
window.location.href = 'inicio.html';
} else {
notificacion.textContent = "Usuario y/o contraseña incorrectos";
if (respuesta.estado === 'exitoso') {
window.location.href = 'views/inicio.html';
} else if(respuesta.estado === 'error') {
notificacion.textContent = respuesta.mensaje;
if(respuesta.res){
console.error(respuesta.res)
}
notificacion.style.display = "block";
}
} catch (error) {
notificacion.textContent =
"Lo sentimos, el servicio no está disponible por el momento";
notificacion.textContent = "Lo sentimos, el servicio no está disponible por el momento";
console.error(error)
}
});

View File

@ -42,12 +42,16 @@ class CandidatoModel {
$fecha_salida
) {
try {
$id_pais = (int)$id_pais;
// Si el país no es México (ID 1), se asignan valores nulos a los campos de ubicación
if ($id_pais !== 1) {
$id_estado = null;
$id_municipio = null;
$id_colonia = null;
} else {
$id_estado = (int)$id_estado;
$id_municipio = (int)$id_municipio;
$id_colonia = (int)$id_colonia;
}
$sql = "INSERT INTO info_candidatos (

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
<link rel="stylesheet" href="css/form.css">
<link rel="stylesheet" href="../css/form.css">
<title>AdminSite</title>
</head>
<body>
@ -16,7 +16,7 @@
<img src="img/lania_logo.png" alt="Logo" style="height: 40px;">
</a> -->
<ul class="side-menu">
<li><a href="#" class="active"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
<li><a href="#"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
<li class="divider" data-text="main">Main</li>
<li>
<a href="#"><i class='bx bxs-inbox icon' ></i> Elements <i class='bx bx-chevron-right icon-right' ></i></a>
@ -29,13 +29,13 @@
</li>
<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
<li class="divider" data-text="table and forms">Table and forms</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
<li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
<li>
<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
<a class="active" href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
<ul class="side-dropdown">
<li><a href="form_datos_basicos.html">Datos Básicos</a></li>
<li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
<li><a href="../views/formulario-candidato.html">Registro de candidato</a></li>
<li><a href="../views/formulario-datos-candidato.php">Datos de candidato</a></li>
</ul>
</li>
</ul>
@ -162,8 +162,8 @@
</section>
<!-- NAVBAR -->
<script src="js/form.js"></script>
<script src="js/form_datos_basicos.js"></script>
<script src="../js/form.js"></script>
<script src="../js/formulario-candidato.js"></script>
<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
</body>
</html>

View File

@ -16,7 +16,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
<link rel="stylesheet" href="css/form.css">
<link rel="stylesheet" href="../css/form.css">
<title>AdminSite</title>
</head>
<body>
@ -28,7 +28,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
<img src="img/lania_logo.png" alt="Logo" style="height: 40px;">
</a> -->
<ul class="side-menu">
<li><a href="#" class="active"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
<li><a href="#"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
<li class="divider" data-text="main">Main</li>
<li>
<a href="#"><i class='bx bxs-inbox icon' ></i> Elements <i class='bx bx-chevron-right icon-right' ></i></a>
@ -41,13 +41,13 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
</li>
<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
<li class="divider" data-text="table and forms">Table and forms</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
<li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
<li>
<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
<a href="#" class="active"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
<ul class="side-dropdown">
<li><a href="form_datos_basicos.html">Datos Básicos</a></li>
<li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
<li><a href="../views/formulario-candidato.html">Registro de candidato</a></li>
<li><a href="../views/formulario-datos-candidato.php">Datos de candidato</a></li>
</ul>
</li>
</ul>
@ -244,8 +244,8 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
<!-- NAVBAR -->
<script src="js/form.js"></script>
<script src="js/form_datos_extendidos.js"></script>
<script src="../js/form.js"></script>
<script src="../js/formulario-datos-candidato.js"></script>
<!-- <script src="js/buscarCodigo.js"></script> -->
<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
</body>

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
<link rel="stylesheet" href="css/inicio.css">
<link rel="stylesheet" href="../css/inicio.css">
<title>AdminSite</title>
</head>
<body>
@ -27,13 +27,13 @@
</li>
<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
<li class="divider" data-text="table and forms">Table and forms</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
<li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
<li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
<li>
<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
<ul class="side-dropdown">
<li><a href="form_datos_basicos.html">Datos Básicos</a></li>
<li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
<li><a href="formulario-candidato.html">Registro de candidato</a></li>
<li><a href="formulario-datos-candidato.php">Datos de candidato</a></li>
</ul>
</li>
</ul>
@ -259,7 +259,7 @@
<!-- NAVBAR -->
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<script src="js/inicio.js"></script>
<script src="../js/inicio.js"></script>
<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
</body>
</html>