up
This commit is contained in:
+1
-1
@@ -95,7 +95,7 @@ bot/
|
|||||||
│ └── BotService.php # Lógica del bot
|
│ └── BotService.php # Lógica del bot
|
||||||
└── assets/
|
└── assets/
|
||||||
├── css/styles.css # Estilos
|
├── css/styles.css # Estilos
|
||||||
└── js/app.js # JavaScript
|
└── js/app_simple.js # JavaScript
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🎨 Personalización
|
## 🎨 Personalización
|
||||||
|
|||||||
+20
-3
@@ -507,24 +507,41 @@ class WhatsAppBotManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async loadMessageUsers() {
|
async loadMessageUsers() {
|
||||||
|
const userSelect = document.getElementById('message-recipient');
|
||||||
|
const templateSelect = document.getElementById('message-template');
|
||||||
|
|
||||||
|
// Mostrar estados de carga
|
||||||
|
if (userSelect) userSelect.innerHTML = '<option value="">Cargando usuarios...</option>';
|
||||||
|
if (templateSelect) templateSelect.innerHTML = '<option value="">Cargando plantillas...</option>';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const usersResponse = await this.apiCall('get_users.php');
|
const usersResponse = await this.apiCall('get_users.php');
|
||||||
const templatesResponse = await this.apiCall('get_templates.php');
|
const templatesResponse = await this.apiCall('get_templates.php');
|
||||||
|
|
||||||
let users = usersResponse;
|
let users = [];
|
||||||
if (usersResponse && usersResponse.success && Array.isArray(usersResponse.data)) {
|
if (usersResponse && usersResponse.success && Array.isArray(usersResponse.data)) {
|
||||||
users = usersResponse.data;
|
users = usersResponse.data;
|
||||||
|
} else if (Array.isArray(usersResponse)) {
|
||||||
|
users = usersResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
let templates = templatesResponse;
|
let templates = [];
|
||||||
if (templatesResponse && templatesResponse.success && Array.isArray(templatesResponse.data)) {
|
if (templatesResponse && templatesResponse.success && Array.isArray(templatesResponse.data)) {
|
||||||
templates = templatesResponse.data;
|
templates = templatesResponse.data;
|
||||||
|
} else if (Array.isArray(templatesResponse)) {
|
||||||
|
templates = templatesResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('loadMessageUsers - users:', users.length, 'templates:', templates.length);
|
||||||
|
|
||||||
|
// Actualizar selects
|
||||||
this.updateMessageUserSelect(users);
|
this.updateMessageUserSelect(users);
|
||||||
this.updateTemplateSelect(templates);
|
this.updateTemplateSelect(templates);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.showError('Error cargando datos de mensaje: ' + error.message);
|
console.error('Error loadMessageUsers:', error);
|
||||||
|
if (userSelect) userSelect.innerHTML = '<option value="">Error cargando usuarios</option>';
|
||||||
|
if (templateSelect) templateSelect.innerHTML = '<option value="">Error cargando plantillas</option>';
|
||||||
|
this.showError('Error cargando usuarios o plantillas: ' + (error.message || error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+33
-6
@@ -744,23 +744,50 @@ class SimpleWhatsAppManager {
|
|||||||
async loadconversations() {
|
async loadconversations() {
|
||||||
this.log('Cargando interfaz de mensajes');
|
this.log('Cargando interfaz de mensajes');
|
||||||
|
|
||||||
|
const userSelect = document.getElementById('message-recipient');
|
||||||
|
const templateSelect = document.getElementById('message-template');
|
||||||
|
|
||||||
|
if (userSelect) userSelect.innerHTML = '<option value="">Cargando usuarios...</option>';
|
||||||
|
if (templateSelect) templateSelect.innerHTML = '<option value="">Cargando plantillas...</option>';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Cargar usuarios para el select
|
// Cargar usuarios para el select
|
||||||
const usersResponse = await this.apiCall('get_users.php');
|
const usersResponse = await this.apiCall('get_users.php');
|
||||||
|
let users = [];
|
||||||
if (usersResponse && usersResponse.success) {
|
if (usersResponse && usersResponse.success && Array.isArray(usersResponse.data)) {
|
||||||
this.populateUsersSelect(usersResponse.data || []);
|
users = usersResponse.data;
|
||||||
|
} else if (Array.isArray(usersResponse)) {
|
||||||
|
users = usersResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cargar plantillas para el select
|
// Cargar plantillas para el select
|
||||||
const templatesResponse = await this.apiCall('get_templates.php');
|
const templatesResponse = await this.apiCall('get_templates.php');
|
||||||
|
let templates = [];
|
||||||
|
if (templatesResponse && templatesResponse.success && Array.isArray(templatesResponse.data)) {
|
||||||
|
templates = templatesResponse.data;
|
||||||
|
} else if (Array.isArray(templatesResponse)) {
|
||||||
|
templates = templatesResponse;
|
||||||
|
}
|
||||||
|
|
||||||
if (templatesResponse && templatesResponse.success) {
|
this.log(`Usuarios cargados: ${users.length}, Plantillas cargadas: ${templates.length}`);
|
||||||
this.populateTemplatesSelect(templatesResponse.data || []);
|
|
||||||
|
if (users.length > 0) {
|
||||||
|
this.populateUsersSelect(users);
|
||||||
|
} else if (userSelect) {
|
||||||
|
userSelect.innerHTML = '<option value="">No hay usuarios</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (templates.length > 0) {
|
||||||
|
this.populateTemplatesSelect(templates);
|
||||||
|
} else if (templateSelect) {
|
||||||
|
templateSelect.innerHTML = '<option value="">No hay plantillas</option>';
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.showError('Error cargando datos para mensajes: ' + error.message);
|
console.error('Error loadconversations:', error);
|
||||||
|
if (userSelect) userSelect.innerHTML = '<option value="">Error cargando usuarios</option>';
|
||||||
|
if (templateSelect) templateSelect.innerHTML = '<option value="">Error cargando plantillas</option>';
|
||||||
|
this.showError('Error cargando datos para mensajes: ' + (error.message || error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -280,8 +280,11 @@ try {
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header d-flex justify-content-between align-items-center">
|
||||||
<h5><i class="fas fa-paper-plane"></i> Enviar Mensaje</h5>
|
<h5><i class="fas fa-paper-plane"></i> Enviar Mensaje</h5>
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-sm btn-secondary" onclick="whatsappManager.loadconversations()">🔄 Actualizar</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form id="send-message-form">
|
<form id="send-message-form">
|
||||||
@@ -642,7 +645,7 @@ try {
|
|||||||
<!-- Scripts -->
|
<!-- Scripts -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||||
<script src="./assets/js/app_simple.js?v=1"></script>
|
<script src="./assets/js/app_simple.js?v=2"></script>
|
||||||
<script>
|
<script>
|
||||||
// Función de diagnóstico mejorada
|
// Función de diagnóstico mejorada
|
||||||
function runDiagnostic() {
|
function runDiagnostic() {
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
<li>index.php - Sistema de login ✓</li>
|
<li>index.php - Sistema de login ✓</li>
|
||||||
<li>login.php - Autenticación ✓</li>
|
<li>login.php - Autenticación ✓</li>
|
||||||
<li>logout.php - Cerrar sesión ✓</li>
|
<li>logout.php - Cerrar sesión ✓</li>
|
||||||
<li>assets/js/app.js - Corregido SES ✓</li>
|
<li>assets/js/app_simple.js - Corregido SES ✓</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user