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

+
+
+ + +
+
+ + +
+
+

Ingresos

+

+
+
+

Egresos

+

+
+
+

Resultado

+

+
+
+

Transacciones

+

+
+
+ + +
+
+
+

Por cobrar

+ Ver todas +
+

+
+
+
+

Por pagar

+ Ver todas +
+

+
+
+ + +
+
+

Últimas transacciones

+ Ver todas +
+
+ + + + + + + + + + + + + + + +
FechaTipoDescripciónCategoríaEntidadValor
+
+
+ +
+ + 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ódigoNombreTipoColorActivoAcciones
+
+ + +
+
+

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+

+
+ + +
+
+
+
+ +
+
+

¿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

+
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
FechaEntidadDescripciónValorVenceEstadoAcciones
+
+ +
+ 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

+
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
FechaEntidadDescripciónValorVenceEstadoAcciones
+
+ +
+ 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

+
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + +
NombreTipoDocumentoEmailTeléfonoContactoActivoAcciones
+
+ +
+ 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

+
+ +
+ + +
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + +
FechaTipoDescripciónCategoríaEntidadValorPagoAcciones
+
+ + +
+ 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

+
+ + + + + + + + + + + + + + +
FechaParaMensajeEstadoID
+
+
+ +
+ + 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)