From 39f56372c338b9e09972d27651319e39d251e178 Mon Sep 17 00:00:00 2001
From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com>
Date: Mon, 22 Jun 2026 10:23:28 -0500
Subject: [PATCH] fix: tickets filtrados por proyecto, vistas
contabilidad/websms en resources/view
---
resources/view/contabilidad/contabilidad.html | 122 +++++++++
resources/view/contabilidad/cuentas.html | 150 +++++++++++
.../view/contabilidad/cuentas_cobro.html | 194 ++++++++++++++
.../view/contabilidad/cuentas_pagar.html | 194 ++++++++++++++
resources/view/contabilidad/entidades.html | 169 ++++++++++++
.../view/contabilidad/transacciones.html | 244 ++++++++++++++++++
resources/view/websms_config.html | 171 ++++++++++++
rest/controllers/portal_controller.go | 4 +-
rest/routes/user.go | 43 +++
9 files changed, 1289 insertions(+), 2 deletions(-)
create mode 100644 resources/view/contabilidad/contabilidad.html
create mode 100644 resources/view/contabilidad/cuentas.html
create mode 100644 resources/view/contabilidad/cuentas_cobro.html
create mode 100644 resources/view/contabilidad/cuentas_pagar.html
create mode 100644 resources/view/contabilidad/entidades.html
create mode 100644 resources/view/contabilidad/transacciones.html
create mode 100644 resources/view/websms_config.html
diff --git a/resources/view/contabilidad/contabilidad.html b/resources/view/contabilidad/contabilidad.html
new file mode 100644
index 0000000..7029fab
--- /dev/null
+++ b/resources/view/contabilidad/contabilidad.html
@@ -0,0 +1,122 @@
+
+
+
+
+
Contabilidad
+
Consolidado mensual de ingresos y egresos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Fecha |
+ Tipo |
+ Descripción |
+ Categoría |
+ Entidad |
+ Valor |
+
+
+
+
+
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+ | Sin transacciones este mes |
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/contabilidad/cuentas.html b/resources/view/contabilidad/cuentas.html
new file mode 100644
index 0000000..07916bb
--- /dev/null
+++ b/resources/view/contabilidad/cuentas.html
@@ -0,0 +1,150 @@
+
+
+
+
+
Categorías contables
+
Plan de cuentas para clasificar transacciones
+
+
+
+
+
+
+
+
+ | Código |
+ Nombre |
+ Tipo |
+ Color |
+ Activo |
+ Acciones |
+
+
+
+
+ | Cargando... |
+
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+ Activo
+ Inactivo
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
¿Eliminar categoría?
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/contabilidad/cuentas_cobro.html b/resources/view/contabilidad/cuentas_cobro.html
new file mode 100644
index 0000000..024c964
--- /dev/null
+++ b/resources/view/contabilidad/cuentas_cobro.html
@@ -0,0 +1,194 @@
+
+
+
+
+
Cuentas por cobrar
+
Facturas y montos pendientes de cobro
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Fecha |
+ Entidad |
+ Descripción |
+ Valor |
+ Vence |
+ Estado |
+ Acciones |
+
+
+
+
+ | Cargando... |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
Total:
+
+
+
+
+
+
+
+
+
+
+
Nuevo cobro pendiente
+
+
+
+
+
+
+
+
Marcar como pagado
+
+
+
+
+
+
+
¿Eliminar?
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/contabilidad/cuentas_pagar.html b/resources/view/contabilidad/cuentas_pagar.html
new file mode 100644
index 0000000..2ab7bc9
--- /dev/null
+++ b/resources/view/contabilidad/cuentas_pagar.html
@@ -0,0 +1,194 @@
+
+
+
+
+
Cuentas por pagar
+
Facturas y montos pendientes de pago
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Fecha |
+ Entidad |
+ Descripción |
+ Valor |
+ Vence |
+ Estado |
+ Acciones |
+
+
+
+
+ | Cargando... |
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
Total:
+
+
+
+
+
+
+
+
+
+
+
Nuevo pendiente de pago
+
+
+
+
+
+
+
+
Marcar como pagado
+
+
+
+
+
+
+
¿Eliminar?
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/contabilidad/entidades.html b/resources/view/contabilidad/entidades.html
new file mode 100644
index 0000000..0800793
--- /dev/null
+++ b/resources/view/contabilidad/entidades.html
@@ -0,0 +1,169 @@
+
+
+
+
+
Entidades
+
Clientes, proveedores y empresas
+
+
+
+
+
+
+
+
+
+
+
+
+ | Nombre |
+ Tipo |
+ Documento |
+ Email |
+ Teléfono |
+ Contacto |
+ Activo |
+ Acciones |
+
+
+
+
+ | Cargando... |
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ ActivoInactivo |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
Total:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
¿Eliminar entidad?
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/contabilidad/transacciones.html b/resources/view/contabilidad/transacciones.html
new file mode 100644
index 0000000..d969125
--- /dev/null
+++ b/resources/view/contabilidad/transacciones.html
@@ -0,0 +1,244 @@
+
+
+
+
+
Transacciones
+
Registro de ingresos y egresos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Fecha |
+ Tipo |
+ Descripción |
+ Categoría |
+ Entidad |
+ Valor |
+ Pago |
+ Acciones |
+
+
+
+
+ | Cargando... |
+
+
+
+ |
+
+
+ |
+ |
+
+
+
+ |
+ |
+ |
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
Total:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
¿Eliminar transacción?
+
Esta acción no se puede deshacer.
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/view/websms_config.html b/resources/view/websms_config.html
new file mode 100644
index 0000000..d62f24e
--- /dev/null
+++ b/resources/view/websms_config.html
@@ -0,0 +1,171 @@
+
+
+
+
+
WebSMS (LabsMobile)
+
Integración de SMS para notificaciones
+
+
+
+
+
+
Configuración API
+
+
+
+
+
+
Probar envío
+
+
+
+
+
+
Webhooks
+
Configura estas URLs en el panel de WebSMS para recibir notificaciones:
+
+
+
+ https://admin.u-site.app/webhooks/websms/delivery
+
+
+
+ https://admin.u-site.app/webhooks/websms/click
+
+
+
+ https://admin.u-site.app/webhooks/websms/incoming
+
+
+
+
+
+
+
Últimos envíos
+
+
+
+
+ | Fecha |
+ Para |
+ Mensaje |
+ Estado |
+ ID |
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+
+ | Sin envíos aún |
+
+
+
+
+
+
+
+
+
diff --git a/rest/controllers/portal_controller.go b/rest/controllers/portal_controller.go
index 8badc68..35337ba 100644
--- a/rest/controllers/portal_controller.go
+++ b/rest/controllers/portal_controller.go
@@ -210,7 +210,7 @@ func PortalProyecto(c *fiber.Ctx) error {
fases, _ := models.GetFasesByProyecto(proy.ID)
avances, _ := models.GetAvancesByProyecto(proy.ID, true)
entregables, _ := models.GetEntregablesByProyecto(proy.ID, true)
- tickets, _ := models.GetTicketsByPortalUser(u.ID)
+ tickets, _ := models.GetTicketsByProyecto(proy.ID)
_ = models.ActualizarProgresoProyecto(proy.ID)
return c.Render("portal/proyecto", fiber.Map{
@@ -268,7 +268,7 @@ func PortalGetProyectoData(c *fiber.Ctx) error {
fases, _ := models.GetFasesByProyecto(proy.ID)
avances, _ := models.GetAvancesByProyecto(proy.ID, true)
entregables, _ := models.GetEntregablesByProyecto(proy.ID, true)
- tickets, _ := models.GetTicketsByPortalUser(u.ID)
+ tickets, _ := models.GetTicketsByProyecto(proy.ID)
facturas, _ := models.GetFacturasByCliente(proy.ClienteID, true)
facturasNoLeidas := models.CountUnreadFacturaNotifs(u.ID)
documentos, _ := models.GetDocumentosByProyecto(proy.ID)
diff --git a/rest/routes/user.go b/rest/routes/user.go
index e20a137..3191e71 100755
--- a/rest/routes/user.go
+++ b/rest/routes/user.go
@@ -453,6 +453,49 @@ func UserRoutes(app fiber.Router) {
protected.Put("/mis-notifs/:id/leida", controllers.MarcarNotifLeida)
protected.Post("/mis-notifs/marcar-todas", controllers.MarcarTodasLeidas)
+ // ─── Contabilidad ─────────────────────────────────────────────────────────
+ protected.Get("/contabilidad", middlewares.MenuMiddleware, controllers.ContabilidadIndex)
+ protected.Get("/contabilidad/dashboard", controllers.ContabilidadDashboard)
+ protected.Get("/contabilidad/consolidado", controllers.ContabilidadConsolidado)
+ protected.Get("/contabilidad/consolidados", controllers.ContabilidadListConsolidados)
+
+ // Transacciones
+ protected.Get("/contabilidad/transacciones", middlewares.MenuMiddleware, controllers.ContabilidadTransaccionesView)
+ protected.Get("/contabilidad/transacciones/list", controllers.GetTransacciones)
+ protected.Post("/contabilidad/transacciones", controllers.CreateTransaccion)
+ protected.Put("/contabilidad/transacciones/:id", controllers.UpdateTransaccion)
+ protected.Delete("/contabilidad/transacciones/:id", controllers.DeleteTransaccion)
+
+ // Cuentas (categorías contables)
+ protected.Get("/contabilidad/cuentas", middlewares.MenuMiddleware, controllers.ContabilidadCuentasView)
+ protected.Get("/contabilidad/cuentas/list", controllers.GetCuentas)
+ protected.Get("/contabilidad/cuentas/select", controllers.GetCuentasSelect)
+ protected.Post("/contabilidad/cuentas", controllers.CreateCuenta)
+ protected.Put("/contabilidad/cuentas/:id", controllers.UpdateCuenta)
+ protected.Delete("/contabilidad/cuentas/:id", controllers.DeleteCuenta)
+
+ // Entidades
+ protected.Get("/contabilidad/entidades", middlewares.MenuMiddleware, controllers.ContabilidadEntidadesView)
+ protected.Get("/contabilidad/entidades/list", controllers.GetEntidades)
+ protected.Get("/contabilidad/entidades/select", controllers.GetEntidadesSelect)
+ protected.Post("/contabilidad/entidades", controllers.CreateEntidad)
+ protected.Put("/contabilidad/entidades/:id", controllers.UpdateEntidad)
+ protected.Delete("/contabilidad/entidades/:id", controllers.DeleteEntidad)
+
+ // Cuentas por cobrar
+ protected.Get("/contabilidad/cuentas-cobro", middlewares.MenuMiddleware, controllers.ContabilidadCobroView)
+ protected.Get("/contabilidad/cuentas-cobro/list", controllers.GetCuentasCobro)
+ protected.Post("/contabilidad/cuentas-cobro", controllers.CreateCuentaCobro)
+ protected.Put("/contabilidad/cuentas-cobro/:id", controllers.UpdateCuentaCobro)
+ protected.Delete("/contabilidad/cuentas-cobro/:id", controllers.DeleteCuentaCobro)
+
+ // Cuentas por pagar
+ protected.Get("/contabilidad/cuentas-pagar", middlewares.MenuMiddleware, controllers.ContabilidadPagarView)
+ protected.Get("/contabilidad/cuentas-pagar/list", controllers.GetCuentasPagar)
+ protected.Post("/contabilidad/cuentas-pagar", controllers.CreateCuentaPagar)
+ protected.Put("/contabilidad/cuentas-pagar/:id", controllers.UpdateCuentaPagar)
+ protected.Delete("/contabilidad/cuentas-pagar/:id", controllers.DeleteCuentaPagar)
+
// ─── WebSMS (LabsMobile) ───────────────────────────────────────────────────
protected.Get("/websms", middlewares.MenuMiddleware, controllers.WebSmsConfigPage)
protected.Get("/websms/config", controllers.GetWebSmsConfig)