diff --git a/.gitignore b/.gitignore index 4bee8902..3815dd22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ ci4/.env .vscode/ launch.json -*xdebug*.log* \ No newline at end of file +*xdebug*.log* +ci4/app/Config/RBAC/* \ No newline at end of file diff --git a/ci4/app/Config/RBAC/.gitkeep b/ci4/app/Config/RBAC/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php deleted file mode 100644 index c78c032c..00000000 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ /dev/null @@ -1,387 +0,0 @@ - [ - "clientes.create", - "clientes.edit", - "clientes.delete", - "clientes.menu", - "plantilla-tarifa.create", - "plantilla-tarifa.edit", - "plantilla-tarifa.delete", - "plantilla-tarifa.menu", - "direcciones.create", - "direcciones.edit", - "direcciones.delete", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.delete", - "presupuesto.menu", - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.delete", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - "tarifa-preimpresion.create", - "tarifa-preimpresion.edit", - "tarifa-preimpresion.delete", - "tarifa-preimpresion.menu", - "tarifa-manipulado.create", - "tarifa-manipulado.edit", - "tarifa-manipulado.delete", - "tarifa-manipulado.menu", - "tarifa-acabado.create", - "tarifa-acabado.edit", - "tarifa-acabado.delete", - "tarifa-acabado.menu", - "tarifa-encuadernacion.create", - "tarifa-encuadernacion.edit", - "tarifa-encuadernacion.delete", - "tarifa-encuadernacion.menu", - "tarifa-extra.create", - "tarifa-extra.edit", - "tarifa-extra.delete", - "tarifa-extra.menu", - "tarifa-envio.create", - "tarifa-envio.edit", - "tarifa-envio.delete", - "tarifa-envio.menu", - "servicio-acabado.create", - "servicio-acabado.edit", - "servicio-acabado.delete", - "servicio-acabado.menu", - "proveedores.create", - "proveedores.edit", - "proveedores.delete", - "proveedores.menu", - "ajustes.create", - "ajustes.edit", - "ajustes.delete", - "ajustes.menu", - "actividad.create", - "actividad.edit", - "actividad.delete", - "actividad.menu", - "paises.create", - "paises.edit", - "paises.delete", - "paises.menu", - "maquinas.create", - "maquinas.edit", - "maquinas.delete", - "maquinas.menu", - "maquinas-defecto.create", - "maquinas-defecto.edit", - "maquinas-defecto.delete", - "maquinas-defecto.menu", - "papel-generico.create", - "papel-generico.edit", - "papel-generico.delete", - "papel-generico.menu", - "papel-impresion.create", - "papel-impresion.edit", - "papel-impresion.delete", - "papel-impresion.menu", - "usuarios.create", - "usuarios.edit", - "usuarios.delete", - "usuarios.menu", - "roles-permisos.create", - "roles-permisos.edit", - "roles-permisos.delete", - "roles-permisos.menu", - "tickets.create", - "tickets.edit", - "tickets.menu", - "facturas.create", - "facturas.edit", - "facturas.vencimientos", - "facturas.menu", - ], - "cliente-admin" => [ - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.delete", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - ], - "cliente-editor" => [ - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - ], - "comercial" => [ - "clientes.create", - "clientes.edit", - "clientes.menu", - "direcciones.create", - "direcciones.edit", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.menu", - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - ], - "produccion" => [ - "direcciones.create", - "direcciones.edit", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.menu", - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.menu", - "pedidos-validacion.view", - "pedidos-validacion.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - "pedidos-gestion.toprod", - "pedidos-gestion.menu", - "tickets.edit", - "tickets.menu", - ], - "maquina" => [ - "token.token", - "token.menu", - ], - "maquetador" => [ - "token.token", - "token.menu", - ], - "director" => [ - "clientes.create", - "clientes.edit", - "clientes.menu", - "plantilla-tarifa.create", - "plantilla-tarifa.edit", - "plantilla-tarifa.menu", - "direcciones.create", - "direcciones.edit", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.menu", - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - "pedidos-gestion.toprod", - "pedidos-gestion.menu", - "tarifa-preimpresion.create", - "tarifa-preimpresion.edit", - "tarifa-preimpresion.menu", - "tarifa-manipulado.create", - "tarifa-manipulado.edit", - "tarifa-manipulado.menu", - "tarifa-acabado.create", - "tarifa-acabado.edit", - "tarifa-acabado.menu", - "tarifa-encuadernacion.create", - "tarifa-encuadernacion.edit", - "tarifa-encuadernacion.menu", - "tarifa-extra.create", - "tarifa-extra.edit", - "tarifa-extra.menu", - "tarifa-envio.create", - "tarifa-envio.edit", - "tarifa-envio.menu", - "servicio-acabado.create", - "servicio-acabado.edit", - "servicio-acabado.menu", - "proveedores.create", - "proveedores.edit", - "proveedores.menu", - "tickets.edit", - "tickets.menu", - "facturas.create", - "facturas.edit", - "facturas.vencimientos", - "facturas.menu", - ], - "contabilidad" => [ - "clientes.create", - "clientes.edit", - "clientes.menu", - "direcciones.create", - "direcciones.edit", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.menu", - "pedidos-validacion.view", - "pedidos-validacion.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - "proveedores.create", - "proveedores.edit", - "proveedores.menu", - "tickets.edit", - "tickets.menu", - "facturas.create", - "facturas.edit", - "facturas.vencimientos", - "facturas.menu", - ], - "editor" => [ - "token.token", - "token.menu", - "Profile.index", - "Profile.menu", - ], - "beta" => [ - "clientes.create", - "clientes.edit", - "clientes.delete", - "clientes.menu", - "plantilla-tarifa.create", - "plantilla-tarifa.edit", - "plantilla-tarifa.delete", - "plantilla-tarifa.menu", - "direcciones.create", - "direcciones.edit", - "direcciones.delete", - "direcciones.menu", - "presupuesto.create", - "presupuesto.edit", - "presupuesto.delete", - "presupuesto.menu", - "presupuesto-cliente.create", - "presupuesto-cliente.edit", - "presupuesto-cliente.delete", - "presupuesto-cliente.menu", - "pedidos-activos.view", - "pedidos-activos.menu", - "pedidos-finalizados.view", - "pedidos-finalizados.menu", - "pedidos-cancelados.view", - "pedidos-cancelados.menu", - "pedidos-todos.view", - "pedidos-todos.menu", - "tarifa-preimpresion.create", - "tarifa-preimpresion.edit", - "tarifa-preimpresion.delete", - "tarifa-preimpresion.menu", - "tarifa-manipulado.create", - "tarifa-manipulado.edit", - "tarifa-manipulado.delete", - "tarifa-manipulado.menu", - "tarifa-acabado.create", - "tarifa-acabado.edit", - "tarifa-acabado.delete", - "tarifa-acabado.menu", - "tarifa-encuadernacion.create", - "tarifa-encuadernacion.edit", - "tarifa-encuadernacion.delete", - "tarifa-encuadernacion.menu", - "tarifa-extra.create", - "tarifa-extra.edit", - "tarifa-extra.delete", - "tarifa-extra.menu", - "tarifa-envio.create", - "tarifa-envio.edit", - "tarifa-envio.delete", - "tarifa-envio.menu", - "servicio-acabado.create", - "servicio-acabado.edit", - "servicio-acabado.delete", - "servicio-acabado.menu", - "proveedores.create", - "proveedores.edit", - "proveedores.delete", - "proveedores.menu", - "ajustes.create", - "ajustes.edit", - "ajustes.delete", - "ajustes.menu", - "actividad.create", - "actividad.edit", - "actividad.delete", - "actividad.menu", - "paises.create", - "paises.edit", - "paises.delete", - "paises.menu", - "maquinas.create", - "maquinas.edit", - "maquinas.delete", - "maquinas.menu", - "maquinas-defecto.create", - "maquinas-defecto.edit", - "maquinas-defecto.delete", - "maquinas-defecto.menu", - "papel-generico.create", - "papel-generico.edit", - "papel-generico.delete", - "papel-generico.menu", - "papel-impresion.create", - "papel-impresion.edit", - "papel-impresion.delete", - "papel-impresion.menu", - "usuarios.create", - "usuarios.edit", - "usuarios.delete", - "usuarios.menu", - "roles-permisos.create", - "roles-permisos.edit", - "roles-permisos.delete", - "roles-permisos.menu", - "tickets.edit", - "tickets.menu", - "facturas.create", - "facturas.edit", - "facturas.vencimientos", - "facturas.menu", - ], -]; diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php deleted file mode 100644 index 9bb8fcb3..00000000 --- a/ci4/app/Config/RBAC/permissions.php +++ /dev/null @@ -1,111 +0,0 @@ - 'Can create', - 'clientes.edit' => 'Can edit', - 'clientes.delete' => 'Can delete', - 'clientes.menu' => 'Menu shall be visualize', - 'plantilla-tarifa.create' => 'Can create', - 'plantilla-tarifa.edit' => 'Can edit', - 'plantilla-tarifa.delete' => 'Can delete', - 'plantilla-tarifa.menu' => 'Menu shall be visualize', - 'direcciones.create' => 'Can create', - 'direcciones.edit' => 'Can edit', - 'direcciones.delete' => 'Can delete', - 'direcciones.menu' => 'Menu shall be visualize', - 'presupuesto.create' => 'Can create', - 'presupuesto.edit' => 'Can edit', - 'presupuesto.delete' => 'Can delete', - 'presupuesto.menu' => 'Menu shall be visualize', - 'presupuesto-cliente.create' => 'Can create', - 'presupuesto-cliente.edit' => 'Can edit', - 'presupuesto-cliente.delete' => 'Can delete', - 'presupuesto-cliente.menu' => 'Menu shall be visualize', - 'pedidos-validacion.view' => 'Can view', - 'pedidos-validacion.menu' => 'Menu shall be visualize', - 'pedidos-activos.view' => 'Can view', - 'pedidos-activos.menu' => 'Menu shall be visualize', - 'pedidos-finalizados.view' => 'Can view', - 'pedidos-finalizados.menu' => 'Menu shall be visualize', - 'pedidos-cancelados.view' => 'Can view', - 'pedidos-cancelados.menu' => 'Menu shall be visualize', - 'pedidos-todos.view' => 'Can view', - 'pedidos-todos.menu' => 'Menu shall be visualize', - 'pedidos-gestion.toprod' => 'Can toprod', - 'pedidos-gestion.menu' => 'Menu shall be visualize', - 'tarifa-preimpresion.create' => 'Can create', - 'tarifa-preimpresion.edit' => 'Can edit', - 'tarifa-preimpresion.delete' => 'Can delete', - 'tarifa-preimpresion.menu' => 'Menu shall be visualize', - 'tarifa-manipulado.create' => 'Can create', - 'tarifa-manipulado.edit' => 'Can edit', - 'tarifa-manipulado.delete' => 'Can delete', - 'tarifa-manipulado.menu' => 'Menu shall be visualize', - 'tarifa-acabado.create' => 'Can create', - 'tarifa-acabado.edit' => 'Can edit', - 'tarifa-acabado.delete' => 'Can delete', - 'tarifa-acabado.menu' => 'Menu shall be visualize', - 'tarifa-encuadernacion.create' => 'Can create', - 'tarifa-encuadernacion.edit' => 'Can edit', - 'tarifa-encuadernacion.delete' => 'Can delete', - 'tarifa-encuadernacion.menu' => 'Menu shall be visualize', - 'tarifa-extra.create' => 'Can create', - 'tarifa-extra.edit' => 'Can edit', - 'tarifa-extra.delete' => 'Can delete', - 'tarifa-extra.menu' => 'Menu shall be visualize', - 'tarifa-envio.create' => 'Can create', - 'tarifa-envio.edit' => 'Can edit', - 'tarifa-envio.delete' => 'Can delete', - 'tarifa-envio.menu' => 'Menu shall be visualize', - 'servicio-acabado.create' => 'Can create', - 'servicio-acabado.edit' => 'Can edit', - 'servicio-acabado.delete' => 'Can delete', - 'servicio-acabado.menu' => 'Menu shall be visualize', - 'proveedores.create' => 'Can create', - 'proveedores.edit' => 'Can edit', - 'proveedores.delete' => 'Can delete', - 'proveedores.menu' => 'Menu shall be visualize', - 'ajustes.create' => 'Can create', - 'ajustes.edit' => 'Can edit', - 'ajustes.delete' => 'Can delete', - 'ajustes.menu' => 'Menu shall be visualize', - 'actividad.create' => 'Can create', - 'actividad.edit' => 'Can edit', - 'actividad.delete' => 'Can delete', - 'actividad.menu' => 'Menu shall be visualize', - 'paises.create' => 'Can create', - 'paises.edit' => 'Can edit', - 'paises.delete' => 'Can delete', - 'paises.menu' => 'Menu shall be visualize', - 'maquinas.create' => 'Can create', - 'maquinas.edit' => 'Can edit', - 'maquinas.delete' => 'Can delete', - 'maquinas.menu' => 'Menu shall be visualize', - 'maquinas-defecto.create' => 'Can create', - 'maquinas-defecto.edit' => 'Can edit', - 'maquinas-defecto.delete' => 'Can delete', - 'maquinas-defecto.menu' => 'Menu shall be visualize', - 'papel-generico.create' => 'Can create', - 'papel-generico.edit' => 'Can edit', - 'papel-generico.delete' => 'Can delete', - 'papel-generico.menu' => 'Menu shall be visualize', - 'papel-impresion.create' => 'Can create', - 'papel-impresion.edit' => 'Can edit', - 'papel-impresion.delete' => 'Can delete', - 'papel-impresion.menu' => 'Menu shall be visualize', - 'usuarios.create' => 'Can create', - 'usuarios.edit' => 'Can edit', - 'usuarios.delete' => 'Can delete', - 'usuarios.menu' => 'Menu shall be visualize', - 'roles-permisos.create' => 'Can create', - 'roles-permisos.edit' => 'Can edit', - 'roles-permisos.delete' => 'Can delete', - 'roles-permisos.menu' => 'Menu shall be visualize', - 'tickets.create' => 'Can create', - 'tickets.edit' => 'Can edit', - 'tickets.menu' => 'Menu shall be visualize', - 'facturas.create' => 'Can create', - 'facturas.edit' => 'Can edit', - 'facturas.vencimientos' => 'Can vencimientos', - 'facturas.menu' => 'Menu shall be visualize', -]; diff --git a/ci4/app/Config/RBAC/roles.json b/ci4/app/Config/RBAC/roles.json deleted file mode 100644 index a95d9582..00000000 --- a/ci4/app/Config/RBAC/roles.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "superadmin": { - "title": "Super Admin", - "description": "Complete control of the site." - }, - "admin": { - "title": "Admin", - "description": "Day to day administrators of the site." - }, - "developer": { - "title": "Developer", - "description": "Site programmers." - }, - "user": { - "title": "User", - "description": "General users of the site. Often customers." - }, - "beta": { - "title": "Beta User", - "description": "Has access to beta-level features." - } -} \ No newline at end of file diff --git a/ci4/app/Config/RBAC/roles.php b/ci4/app/Config/RBAC/roles.php deleted file mode 100644 index d39a912a..00000000 --- a/ci4/app/Config/RBAC/roles.php +++ /dev/null @@ -1,48 +0,0 @@ - [ - 'title' => 'Administrador', - 'description' => 'Administrador del ERP', - ], - 'cliente-admin' => [ - 'title' => 'Cliente administrador', - 'description' => 'Rol de cliente con permisos de administración', - ], - 'cliente-editor' => [ - 'title' => 'Cliente editor', - 'description' => 'Rol de cliente con permisos de edición', - ], - 'comercial' => [ - 'title' => 'Comercial', - 'description' => '', - ], - 'produccion' => [ - 'title' => 'Producción', - 'description' => '', - ], - 'maquina' => [ - 'title' => 'Máquina', - 'description' => '', - ], - 'maquetador' => [ - 'title' => 'Maquetador', - 'description' => '', - ], - 'director' => [ - 'title' => 'Director', - 'description' => 'Para los directores de área', - ], - 'contabilidad' => [ - 'title' => 'Contabilidad', - 'description' => '', - ], - 'editor' => [ - 'title' => 'Editor', - 'description' => '', - ], - 'beta' => [ - 'title' => 'Beta', - 'description' => '', - ], -]; diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index baad50d9..36133af7 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -32,121 +32,10 @@ $routes->group('activity', ['namespace' => 'App\Controllers\Sistema'], function * -------------------------------------------------------------------- */ -/* Rutas para tarifas */ -$routes->group('tarifas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { - - /* Maquinas */ - $routes->group('maquinas', ['namespace' => 'App\Controllers\Tarifas\Maquinas'], function ($routes) { - - $routes->post('acabado', 'TarifaMaquinas::add_tarifa_acabado_maquina_with_tarea'); - $routes->post('manipulado', 'TarifaMaquinas::add_tarifa_manipulado_maquina_with_tarea'); - $routes->post('preimpresion', 'TarifaMaquinas::add_tarifa_preimpresion_maquina_with_tarea'); - $routes->post('encuadernacion', 'TarifaMaquinas::add_tarifa_encuadernacion_maquina_with_tarea'); - $routes->post('extra', 'TarifaMaquinas::add_tarifa_extra_maquina_with_tarea'); - - - $routes->delete('acabado/(:num)', 'TarifaMaquinas::delete_tarifa_acabado_maquina_with_tarea/$1'); - $routes->delete('manipulado/(:num)', 'TarifaMaquinas::delete_tarifa_manipulado_maquina_with_tarea/$1'); - $routes->delete('preimpresion/(:num)', 'TarifaMaquinas::delete_tarifa_preimpresion_maquina_with_tarea/$1'); - $routes->delete('encuadernacion/(:num)', 'TarifaMaquinas::delete_tarifa_encuadernacion_maquina_with_tarea/$1'); - $routes->delete('extra/(:num)', 'TarifaMaquinas::delete_tarifa_extra_maquina_with_tarea/$1'); - - $routes->get('acabado/select', 'TarifaMaquinas::get_select_maquina_acabado'); - $routes->get('manipulado/select', 'TarifaMaquinas::get_select_maquina_manipulado'); - $routes->get('impresion/select', 'TarifaMaquinas::get_select_maquina_impresion'); - $routes->get('encuadernacion/select', 'TarifaMaquinas::get_select_maquina_manipulado'); - $routes->get('tareas/select', 'TarifaMaquinas::get_select_maquina_tareas'); - - $routes->get('acabado/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_acabado_maquina/$1'); - $routes->get('manipulado/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_manipulado_maquina/$1'); - $routes->get('preimpresion/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_preimpresion_maquina/$1'); - $routes->get('encuadernacion/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_encuadernacion_maquina/$1'); - $routes->get('extra/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_extra_maquina/$1'); - }); - - /* Acabados */ - $routes->group('acabados', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) { - - $routes->get('', 'TarifaAcabados::index', ['as' => 'tarifaAcabadoList']); - $routes->get('gettarifas', 'TarifaAcabados::getSelect2'); - $routes->match(['get', 'post'], 'add', 'TarifaAcabados::add', ['as' => 'tarifaAcabadoAdd']); - $routes->match(['get', 'post'], 'edit/(:num)', 'TarifaAcabados::edit/$1', ['as' => 'tarifaAcabadoEdit']); - $routes->get('delete/(:num)', 'TarifaAcabados::delete/$1', ['as' => 'tarifaAcabadoDelete']); - $routes->post('datatable', 'TarifaAcabados::datatable', ['as' => 'tarifaAcabadoDT']); - $routes->get('select', 'TarifaAcabados::show_select', ["as" => "showSelectTarifaAcabado"]); - $routes->group('lineas', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) { - $routes->post('datatable', 'TarifaAcabadosLineas::datatable', ['as' => 'tarifaAcabadoLineasDT']); - $routes->post('datatable_editor', 'TarifaAcabadosLineas::datatable_editor', ['as' => 'tarifaAcabadoLineasDTE']); - $routes->get('delete/(:num)', 'TarifaAcabadosLineas::delete/$1', ['as' => 'tarifaAcabadoLineasDelete']); - }); - }); -}); - -/* Rutas para configuraciones */ -$routes->group('configuracion', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - - /* Ubicaciones */ - $routes->group('ubicaciones', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - - $routes->get('', 'Ubicaciones::index', ['as' => 'ubicacionesList']); - $routes->match(['get', 'post'], 'add', 'Ubicaciones::add', ['as' => 'ubicacionesAdd']); - $routes->match(['get', 'post'], 'edit/(:num)', 'Ubicaciones::edit/$1', ['as' => 'ubicacionesEdit']); - $routes->get('delete/(:num)', 'Ubicaciones::delete/$1', ['as' => 'ubicacionesDelete']); - $routes->post('datatable', 'Ubicaciones::datatable', ['as' => 'ubicacionesDT']); - }); - - /* Permisos y roles */ - $routes->group('group', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Group::index', ['as' => 'userGroupList']); - $routes->get('index', 'Group::index', ['as' => 'groupIndex']); - $routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']); - $routes->get('edit/(:num)', 'Group::edit/$1', ['as' => 'editGroup']); - $routes->get('delete/(:num)', 'Group::delete/$1', ['as' => 'deleteGroup']); - $routes->get('add', 'Group::add', ['as' => 'newGroup']); - $routes->post('add', 'Group::add', ['as' => 'createGroup']); - }); - - /* Series Factura */ - $routes->group('series-facturas', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'SeriesFacturas::index', ['as' => 'seriesFacturasList']); - $routes->match(['get', 'post'], 'add', 'SeriesFacturas::add', ['as' => 'seriesFacturasAdd']); - $routes->match(['get', 'post'], 'edit/(:num)', 'SeriesFacturas::edit/$1', ['as' => 'seriesFacturasEdit']); - $routes->get('delete/(:num)', 'SeriesFacturas::delete/$1', ['as' => 'seriesFacturasDelete']); - $routes->post('datatable', 'SeriesFacturas::datatable', ['as' => 'seriesFacturasDT']); - $routes->post('menuitemsFacturas', 'SeriesFacturas::menuItemsFacturas', ['as' => 'menuItemsOfSeriesFacturas']); - }); - - /* Variables del sistema */ - $routes->group("variables", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'ConfigVariables::index', ['as' => 'variablesIndex']); - $routes->get('find/(:num)', 'ConfigVariables::get/$1', ['as' => 'variablesFind']); - $routes->post('edit/(:num)', 'ConfigVariables::updateVariable/$1', ['as' => 'updateVariable']); - $routes->delete('delete/(:num)', 'ConfigVariables::delete/$1', ['as' => 'deleteVariable']); - $routes->get('datatable', 'ConfigVariables::datatable', ['as' => 'datatableVariables']); - }); - - /* Errores en presupuestos */ - $routes->group("errores-presupuesto", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'ConfigErrores::index', ['as' => 'erroresPresupuestoIndex']); - $routes->get('edit/(:num)', 'ConfigErrores::viewForm/$1', ['as' => 'erroresPresupuestoViewForm']); - $routes->get('get/(:num)', 'ConfigErrores::get_error_presupuesto/$1', ['as' => 'erroresPresupuestoGetErrorPresupuesto']); - $routes->get('datatable', 'ConfigErrores::datatable', ['as' => 'erroresPresupuestoDatatable']); - $routes->post('edit/(:num)', 'ConfigErrores::update_error_presupuesto/$1', ['as' => 'erroresPresupuestoUpdate']); - }); - - $routes->group("maquina-tareas", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'MaquinaTarea::index', ['as' => 'maquinaTareaList']); - $routes->get('(:num)', 'MaquinaTarea::show/$1', ['as' => 'maquinaTareaShow']); - $routes->delete('(:num)', 'MaquinaTarea::delete/$1', ['as' => 'maquinaTareaDelete']); - $routes->post('', 'MaquinaTarea::store/$1', ['as' => 'maquinaTareaStore']); - $routes->post('update/(:num)', 'MaquinaTarea::update_servicio_cliente/$1', ['as' => 'maquinaTareaUpdate']); - $routes->get('edit/(:num)', 'MaquinaTarea::viewForm/$1', ['as' => 'maquinaTareaViewForm']); - $routes->get('datatable', 'MaquinaTarea::datatable', ['as' => 'maquinaTareaDatatable']); - }); - $routes->group("messages", ["namespace" => 'App\Controllers\Chat'], function ($routes) { - $routes->get('', 'ChatController::config_view', ['as' => 'configMessagesIndex']); - }); -}); + // Carga archivos de rutas por dominio +foreach (glob(APPPATH . 'Config/Routes/*Routes.php') as $routeFile) { + require $routeFile; +} $routes->group('users', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { @@ -269,40 +158,6 @@ $routes->group('imposiciones', ['namespace' => 'App\Controllers\Configuracion'], }); $routes->resource('imposiciones', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Imposiciones', 'except' => 'show,new,create,update']); -$routes->group('papelesgenericos', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Papelesgenericos::index', ['as' => 'papelGenericoList']); - $routes->delete('', 'Papelesgenericos::index', ['as' => 'papelGenericoList2']); - $routes->get('add', 'Papelesgenericos::add', ['as' => 'newPapelGenerico']); - $routes->post('add', 'Papelesgenericos::add', ['as' => 'createPapelGenerico']); - $routes->post('create', 'Papelesgenericos::create', ['as' => 'ajaxCreatePapelGenerico']); - $routes->put('(:num)/update', 'Papelesgenericos::update/$1', ['as' => 'ajaxUpdatePapelGenerico']); - $routes->post('edit/(:num)', 'Papelesgenericos::edit/$1', ['as' => 'updatePapelGenerico']); - $routes->post('datatable', 'Papelesgenericos::datatable', ['as' => 'dataTableOfPapelesGenericos']); - $routes->post('allmenuitems', 'Papelesgenericos::allItemsSelect', ['as' => 'select2ItemsOfPapelesGenericos']); - $routes->post('menuitems', 'Papelesgenericos::menuItems', ['as' => 'menuItemsOfPapelesGenericos']); - $routes->get('getpapelcliente', 'Papelesgenericos::getPapelCliente', ['as' => 'getPapelCliente']); - $routes->get('selectpapelespecial', 'Papelesgenericos::selectPapelEspecial', ['as' => 'selectPapelEspecial']); -}); -$routes->resource('papelesgenericos', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Papelesgenericos', 'except' => 'show,new,create,update']); - -$routes->group('papelesimpresion', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Papelesimpresion::index', ['as' => 'papelImpresionList']); - $routes->get('add', 'Papelesimpresion::add', ['as' => 'newPapelImpresion']); - $routes->post('add', 'Papelesimpresion::add', ['as' => 'createPapelImpresion']); - $routes->post('create', 'Papelesimpresion::create', ['as' => 'ajaxCreatePapelImpresion']); - $routes->put('(:num)/update', 'Papelesimpresion::update/$1', ['as' => 'ajaxUpdatePapelImpresion']); - $routes->post('edit/(:num)', 'Papelesimpresion::edit/$1', ['as' => 'updatePapelImpresion']); - $routes->post('datatable', 'Papelesimpresion::datatable', ['as' => 'dataTableOfPapelesImpresion']); - $routes->post('allmenuitems', 'Papelesimpresion::allItemsSelect', ['as' => 'select2ItemsOfPapelesImpresion']); - $routes->post('menuitems', 'Papelesimpresion::menuItems', ['as' => 'menuItemsOfPapelesImpresion']); - $routes->post('duplicate/(:num)', 'Papelesimpresion::duplicate/$1', ['as' => 'duplicatePapelImpresion']); - $routes->get('select', 'Papelesimpresion::papel_impresion_select', ['as' => 'papelImpresionSelect']); - $routes->get('show/(:num)', 'Papelesimpresion::papel_impresion_find/$1', ['as' => 'showPapelImpresion']); - - -}); -$routes->resource('papelesimpresion', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Papelesimpresion', 'except' => 'show,new,create,update']); - $routes->group('papelimpresiontipologias', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->get('add', 'Papelimpresiontipologias::add', ['as' => 'newPapelImpresionTipologia']); $routes->post('add', 'Papelimpresiontipologias::add', ['as' => 'createPapelImpresionTipologia']); @@ -320,25 +175,6 @@ $routes->group('papelesimpresionmargenes', ['namespace' => 'App\Controllers\Conf }); $routes->resource('papelesimpresionmargenes', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Papelimpresionmargenes', 'except' => 'show,new,create,update']); -$routes->group('maquinas', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Maquinas::index', ['as' => 'maquinaList']); - $routes->get('add', 'Maquinas::add', ['as' => 'newMaquina']); - $routes->get('edit/(:num)', 'Maquinas::edit/$1'); - $routes->get('delete/(:num)', 'Maquinas::delete/$1'); - $routes->post('add', 'Maquinas::add', ['as' => 'createMaquina']); - $routes->post('create', 'Maquinas::create', ['as' => 'ajaxCreateMaquina']); - $routes->put('update/(:num)', 'Maquinas::update/$1', ['as' => 'ajaxUpdateMaquina']); - $routes->post('edit/(:num)', 'Maquinas::edit/$1', ['as' => 'updateMaquina']); - $routes->post('datatable', 'Maquinas::datatable', ['as' => 'dataTableOfMaquinas']); - $routes->post('allmenuitems', 'Maquinas::allItemsSelect', ['as' => 'select2ItemsOfMaquinas']); - $routes->post('menuitems', 'Maquinas::menuItems', ['as' => 'menuItemsOfMaquinas']); - $routes->post('duplicate/(:num)', 'Maquinas::duplicate/$1', ['as' => 'duplicateMaquina']); - $routes->get('(:num)', 'Maquinas::find_maquina/$1', ['as' => 'findMaquina']); - $routes->get('select', 'Maquinas::select', ['as' => 'selectMaquinas']); -}); -$routes->resource('maquinas', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Maquinas', 'except' => 'show,new,create,update']); - - $routes->group('maquinastarifasimpresion', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->get('', 'Maquinastarifasimpresion::index', ['as' => 'maquinasTarifaImpresionList']); $routes->get('add', 'Maquinastarifasimpresion::add', ['as' => 'newMaquinasTarifaImpresion']); @@ -372,24 +208,11 @@ $routes->group('maquinaspapelesimpresion', ['namespace' => 'App\Controllers\Conf $routes->resource('maquinastarifasimpresion', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Maquinastarifasimpresion', 'except' => 'show,new,create,update']); -$routes->group('maquinasdefecto', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Maquinasdefecto::index', ['as' => 'maquinaPorDefectoList']); - $routes->get('add', 'Maquinasdefecto::add', ['as' => 'newMaquinaPorDefecto']); - $routes->post('add', 'Maquinasdefecto::add', ['as' => 'createMaquinaPorDefecto']); - $routes->post('create', 'Maquinasdefecto::create', ['as' => 'ajaxCreateMaquinaPorDefecto']); - $routes->put('(:num)/update', 'Maquinasdefecto::update/$1', ['as' => 'ajaxUpdateMaquinaPorDefecto']); - $routes->post('edit/(:num)', 'Maquinasdefecto::edit/$1', ['as' => 'updateMaquinaPorDefecto']); - $routes->post('datatable', 'Maquinasdefecto::datatable', ['as' => 'dataTableOfMaquinasPorDefecto']); - $routes->post('allmenuitems', 'Maquinasdefecto::allItemsSelect', ['as' => 'select2ItemsOfMaquinasPorDefecto']); - $routes->post('menuitems', 'Maquinasdefecto::menuItems', ['as' => 'menuItemsOfMaquinasPorDefecto']); -}); -$routes->resource('maquinasdefecto', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Maquinasdefecto', 'except' => 'show,new,create,update']); - - $routes->group('profile', ['namespace' => 'App\Controllers'], function ($routes) { $routes->get('', 'Profile::index', ['as' => 'profileList']); $routes->get('index', 'Profile::index', ['as' => 'profileIndex']); $routes->get('list', 'Profile::index', ['as' => 'profileList2']); + $routes->match(['get', 'post'], 'store', 'Profile::store', ['as' => 'profileStore']); }); @@ -419,21 +242,6 @@ $routes->group('formas-pago', ['namespace' => 'App\Controllers\Configuracion'], $routes->resource('formas-pago', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'FormasPago', 'except' => 'show,new,create,update']); -$routes->group('paises', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { - $routes->get('', 'Paises::index', ['as' => 'paisList']); - $routes->get('add', 'Paises::add', ['as' => 'newPais']); - $routes->post('add', 'Paises::add', ['as' => 'createPais']); - $routes->post('create', 'Paises::create', ['as' => 'ajaxCreatePais']); - $routes->put('(:num)/update', 'Paises::update/$1', ['as' => 'ajaxUpdatePais']); - $routes->post('(:num)/edit', 'Paises::edit/$1', ['as' => 'updatePais']); - $routes->post('datatable', 'Paises::datatable', ['as' => 'dataTableOfPaises']); - $routes->post('allmenuitems', 'Paises::allItemsSelect', ['as' => 'select2ItemsOfPaises']); - $routes->post('menuitems', 'Paises::menuItems', ['as' => 'menuItemsOfPaises']); - $routes->get('menuitems2', 'Paises::menuItems2', ['as' => 'menuItemsOfPaises2']); -}); -$routes->resource('paises', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Paises', 'except' => 'show,new,create,update']); - - $routes->group('provincias', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { $routes->get('', 'Provincias::index', ['as' => 'provinciaList']); $routes->get('add', 'Provincias::add', ['as' => 'newProvincia']); @@ -594,28 +402,8 @@ $routes->group('tarifasenvioszonas', ['namespace' => 'App\Controllers\Tarifas'], }); $routes->resource('tarifasenvioszonas', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenvioszonas', 'except' => 'show,new,create,update']); -/* Compras */ -$routes->group('compras', ['namespace' => 'App\Controllers\Compras'], function ($routes) { - $routes->group('proveedores', ['namespace' => 'App\Controllers\Compras'], function ($routes) { - $routes->get('', 'Proveedores::index', ['as' => 'proveedorList']); - $routes->get('add', 'Proveedores::add', ['as' => 'newProveedor']); - $routes->post('add', 'Proveedores::add', ['as' => 'createProveedor']); - $routes->post('create', 'Proveedores::create', ['as' => 'ajaxCreateProveedor']); - $routes->put('(:num)/update', 'Proveedores::update/$1', ['as' => 'ajaxUpdateProveedor']); - $routes->get('edit/(:num)', 'Proveedores::edit/$1', ['as' => 'editProveedor']); - $routes->post('edit/(:num)', 'Proveedores::edit/$1', ['as' => 'updateProveedor']); - $routes->post('datatable', 'Proveedores::datatable', ['as' => 'dataTableOfProveedores']); - $routes->get('delete/(:num)', 'Proveedores::delete/$1', ['as' => 'deleteProveedores']); - $routes->post('allmenuitems', 'Proveedores::allItemsSelect', ['as' => 'select2ItemsOfProveedores']); - $routes->post('menuitems', 'Proveedores::menuItems', ['as' => 'menuItemsOfProveedores']); - }); -}); -$routes->resource('proveedores', ['namespace' => 'App\Controllers\Compras', 'controller' => 'Proveedores', 'except' => 'show,new,create,update']); -$routes->group('proveedorestipos', ['namespace' => 'App\Controllers\Compras'], function ($routes) { - $routes->post('menuitems', 'ProveedoresTipos::menuItems', ['as' => 'menuItemsOfProveedoresTipos']); -}); $routes->resource('proveedorestipos', ['namespace' => 'App\Controllers\Compras', 'controller' => 'ProveedoresTipos', 'except' => 'show,new,create,update']); @@ -644,64 +432,6 @@ $routes->group('clientedirecciones', ['namespace' => 'App\Controllers\Clientes'] $routes->resource('clientedirecciones', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Clientedirecciones', 'except' => 'show,new,create,update']); -$routes->group('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { - $routes->get('list/(:num)', 'Presupuestoadmin::list/$1', ['as' => 'presupuestoAdminList']); // HOMOGENIZAR CON ARGS DINAMICOS!!! - $routes->get('add/(:num)', 'Presupuestoadmin::add/$1', ['as' => 'newPresupuestoAdmin']); - $routes->get('edit/(:any)', 'Presupuestoadmin::edit/$1', ['as' => 'editarPresupuestoAdmin']); - $routes->post('add/(:num)', 'Presupuestoadmin::add/$1', ['as' => 'createPresupuestoAdmin']); - $routes->post('create', 'Presupuestoadmin::create', ['as' => 'ajaxCreatePresupuestoAdmin']); - $routes->put('(:num)/update', 'Presupuestoadmin::update/$1', ['as' => 'ajaxUpdatePresupuestoAdmin']); - $routes->post('edit/(:num)', 'Presupuestoadmin::edit/$1', ['as' => 'updatePresupuestoAdmin']); - $routes->post('datatable', 'Presupuestoadmin::datatable', ['as' => 'dataTableOfPresupuestoAdmin']); - $routes->post('datatable_2', 'Presupuestoadmin::datatable_2', ['as' => 'updateDataOfPresupuestoAdmin']); - $routes->post('allmenuitems', 'Presupuestoadmin::allItemsSelect', ['as' => 'select2ItemsOfPresupuestoAdmin']); - $routes->post('menuitems', 'Presupuestoadmin::menuItems', ['as' => 'menuItemsOfPresupuestoAdmin']); - - $routes->get('cargar/(:any)', 'Presupuestoadmin::cargar/$1'); - $routes->post('comparadorinterior', 'Presupuestoadmin::obtenerComparadorInterior'); - $routes->post('comparadorexteriores', 'Presupuestoadmin::obtenerComparadorExteriores'); - $routes->post('comparadorguardas', 'Presupuestoadmin::obtenerComparadorGuardas'); - $routes->get('papelgenerico', 'Presupuestoadmin::getPapelGenerico'); - $routes->get('papelgramaje', 'Presupuestoadmin::getGramaje'); - $routes->get('papelimpresion', 'Presupuestoadmin::getPapelImpresion'); - $routes->get('maquinas', 'Presupuestoadmin::getMaquinas'); - $routes->post('getlinea', 'Presupuestoadmin::getLineaPresupuesto'); - $routes->post('clone', 'Presupuestoadmin::datatable_2'); - - $routes->get('presupuestosCliente', 'Presupuestoadmin::tablaClienteForm'); - $routes->get('getSumCliente/(:num)', 'Presupuestoadmin::obtenerTotalPresupuestosCliente/$1'); -}); -$routes->resource('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestoadmin', 'except' => 'show,new,create,update']); - -$routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { - $routes->get('list', 'Presupuestocliente::list', ['as' => 'listaPresupuestos']); - $routes->post('datatable', 'Presupuestocliente::datatable', ['as' => 'datatableOfPresupuestos']); - $routes->get('add', 'Presupuestocliente::add', ['as' => 'nuevoPresupuestoCliente']); - $routes->post('add', 'Presupuestocliente::add', ['as' => 'crearPresupuestoCliente']); - $routes->post('edit/(:num)', 'Presupuestocliente::edit/$1', ['as' => 'editarPresupuestoCliente']); - $routes->get('edit/(:any)', 'Presupuestocliente::edit/$1', ['as' => 'editarPresupuestoCliente2']); - $routes->post('getgramaje', 'Presupuestocliente::getGramaje', ['as' => 'obtenerGramaje']); - $routes->post('presupuesto', 'Presupuestocliente::presupuesto', ['as' => 'presupuestoCliente']); - $routes->post('getDireccionesCliente', 'Presupuestocliente::getDireccionesCliente', ['as' => 'getDirecciones']); - $routes->post('getNuevaDireccion', 'Presupuestocliente::getNuevaDireccion', ['as' => 'nuevaDireccion']); - $routes->post('guardar', 'Presupuestocliente::guardar', ['as' => 'guardar']); - $routes->get('cargar/(:num)', 'Presupuestocliente::cargar/$1', ['as' => 'cargarPresupuesto']); - $routes->post('duplicarPresupuesto', 'Presupuestocliente::duplicarPresupuesto', ['as' => 'duplicarPresupuesto']); - $routes->post('calcular', 'Presupuestocliente::calcular', ['as' => 'calcularPresupuesto']); - $routes->post('calcularsolapas', 'Presupuestocliente::calcularMaxSolapas', ['as' => 'calcularSolapas']); - $routes->post('checklomo', 'Presupuestocliente::check_lomo_interior'); -}); -$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']); - -$routes->group('importador', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { - $routes->get('', 'Importadorpresupuestos::index', ['as' => 'importadorPresupuestos']); - $routes->get('clientlist', 'Importadorpresupuestos::getClientList', ['as' => 'clientList']); - $routes->get('presupuestoslist', 'Importadorpresupuestos::getPresupuestosList', ['as' => 'presupuestosList']); - $routes->get('getencuadernacion', 'Importadorpresupuestos::getEncuadernacionList'); - $routes->get('getpresupuestodata', 'Importadorpresupuestos::getPresupuesto', ['as' => 'getPresupuesto']); - $routes->post('importar', 'Importadorpresupuestos::importarPresupuesto'); -}); -$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']); $routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { $routes->get('getacabados', 'Presupuestoacabados::getAcabados'); @@ -1042,31 +772,6 @@ $routes->group('logistica', ['namespace' => 'App\Controllers\Logistica'], functi $routes->get('print/label/test', 'LogisticaController::print_test_label'); }); -/* - * -------------------------------------------------------------------- - * APIs Route Definitions - * -------------------------------------------------------------------- - */ -$routes->post('auth/jwt', '\App\Controllers\Sistema\AuthAPIController::jwtLogin'); - -$routes->group( - 'api', - [ - 'namespace' => 'App\Controllers\API', - 'filter' => 'jwt' - ], - static function ($routes) { - - $routes->resource('items', [ - 'controller' => 'ItemsController', - 'filter' => 'cors' - ]); - - $routes->post("calcular", 'ImprimelibrosApi::calcular'); - $routes->post("guardar", 'ImprimelibrosApi::guardar'); - // ... - } -); /* * -------------------------------------------------------------------- diff --git a/ci4/app/Config/Routes/ApiRoutes.php b/ci4/app/Config/Routes/ApiRoutes.php new file mode 100644 index 00000000..6d5487a4 --- /dev/null +++ b/ci4/app/Config/Routes/ApiRoutes.php @@ -0,0 +1,27 @@ +post('auth/jwt', '\App\Controllers\Sistema\AuthAPIController::jwtLogin'); + +$routes->group( + 'api', + [ + 'namespace' => 'App\Controllers\API', + 'filter' => 'jwt' + ], + static function ($routes) { + + $routes->post("calcular", 'ImprimelibrosApi::calcular'); + $routes->post("guardar", 'ImprimelibrosApi::guardar'); + // ... + } +); \ No newline at end of file diff --git a/ci4/app/Config/Routes/ComprasRoutes.php b/ci4/app/Config/Routes/ComprasRoutes.php new file mode 100644 index 00000000..eea2da0c --- /dev/null +++ b/ci4/app/Config/Routes/ComprasRoutes.php @@ -0,0 +1,27 @@ +group('compras', ['namespace' => 'App\Controllers\Compras'], function ($routes) { + $routes->group('proveedores', ['namespace' => 'App\Controllers\Compras'], function ($routes) { + $routes->get('', 'Proveedores::index', ['as' => 'proveedorList']); + $routes->get('add', 'Proveedores::add', ['as' => 'newProveedor']); + $routes->post('add', 'Proveedores::add', ['as' => 'createProveedor']); + $routes->post('create', 'Proveedores::create', ['as' => 'ajaxCreateProveedor']); + $routes->put('(:num)/update', 'Proveedores::update/$1', ['as' => 'ajaxUpdateProveedor']); + $routes->get('edit/(:num)', 'Proveedores::edit/$1', ['as' => 'editProveedor']); + $routes->post('edit/(:num)', 'Proveedores::edit/$1', ['as' => 'updateProveedor']); + $routes->post('datatable', 'Proveedores::datatable', ['as' => 'dataTableOfProveedores']); + $routes->get('delete/(:num)', 'Proveedores::delete/$1', ['as' => 'deleteProveedores']); + $routes->post('allmenuitems', 'Proveedores::allItemsSelect', ['as' => 'select2ItemsOfProveedores']); + $routes->post('menuitems', 'Proveedores::menuItems', ['as' => 'menuItemsOfProveedores']); + }); +}); + +$routes->group('proveedorestipos', ['namespace' => 'App\Controllers\Compras'], function ($routes) { + $routes->post('menuitems', 'ProveedoresTipos::menuItems', ['as' => 'menuItemsOfProveedoresTipos']); +}); \ No newline at end of file diff --git a/ci4/app/Config/Routes/ConfiguracionRoutes.php b/ci4/app/Config/Routes/ConfiguracionRoutes.php new file mode 100644 index 00000000..1dd58f89 --- /dev/null +++ b/ci4/app/Config/Routes/ConfiguracionRoutes.php @@ -0,0 +1,153 @@ +group('configuracion', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + + /* Paises */ + $routes->group('paises', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Paises::index', ['as' => 'paisList']); + $routes->get('add', 'Paises::add', ['as' => 'newPais']); + $routes->post('add', 'Paises::add', ['as' => 'createPais']); + $routes->get('delete/(:num)', 'Paises::delete/$1'); + $routes->post('create', 'Paises::create', ['as' => 'ajaxCreatePais']); + $routes->put('update/(:num)', 'Paises::update/$1', ['as' => 'ajaxUpdatePais']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Paises::edit/$1', ['as' => 'updatePais']); + $routes->get('datatable', 'Paises::datatable', ['as' => 'dataTableOfPaises']); + $routes->post('allmenuitems', 'Paises::allItemsSelect', ['as' => 'select2ItemsOfPaises']); + $routes->post('menuitems', 'Paises::menuItems', ['as' => 'menuItemsOfPaises']); + $routes->get('menuitems2', 'Paises::menuItems2', ['as' => 'menuItemsOfPaises2']); + }); + + + /* Papeles genericos */ + $routes->group('papelesgenericos', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Papelesgenericos::index', ['as' => 'papelGenericoList']); + $routes->delete('', 'Papelesgenericos::index', ['as' => 'papelGenericoList2']); + $routes->get('add', 'Papelesgenericos::add', ['as' => 'newPapelGenerico']); + $routes->post('add', 'Papelesgenericos::add', ['as' => 'createPapelGenerico']); + $routes->post('create', 'Papelesgenericos::create', ['as' => 'ajaxCreatePapelGenerico']); + $routes->put('(:num)/update', 'Papelesgenericos::update/$1', ['as' => 'ajaxUpdatePapelGenerico']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Papelesgenericos::edit/$1', ['as' => 'updatePapelGenerico']); + $routes->post('datatable', 'Papelesgenericos::datatable', ['as' => 'dataTableOfPapelesGenericos']); + $routes->post('allmenuitems', 'Papelesgenericos::allItemsSelect', ['as' => 'select2ItemsOfPapelesGenericos']); + $routes->post('menuitems', 'Papelesgenericos::menuItems', ['as' => 'menuItemsOfPapelesGenericos']); + $routes->get('getpapelcliente', 'Papelesgenericos::getPapelCliente', ['as' => 'getPapelCliente']); + $routes->get('selectpapelespecial', 'Papelesgenericos::selectPapelEspecial', ['as' => 'selectPapelEspecial']); + }); + + /* Papeles impresion */ + $routes->group('papelesimpresion', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Papelesimpresion::index', ['as' => 'papelImpresionList']); + $routes->get('add', 'Papelesimpresion::add', ['as' => 'newPapelImpresion']); + $routes->post('add', 'Papelesimpresion::add', ['as' => 'createPapelImpresion']); + $routes->post('create', 'Papelesimpresion::create', ['as' => 'ajaxCreatePapelImpresion']); + $routes->put('(:num)/update', 'Papelesimpresion::update/$1', ['as' => 'ajaxUpdatePapelImpresion']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Papelesimpresion::edit/$1', ['as' => 'updatePapelImpresion']); + $routes->post('datatable', 'Papelesimpresion::datatable', ['as' => 'dataTableOfPapelesImpresion']); + $routes->post('allmenuitems', 'Papelesimpresion::allItemsSelect', ['as' => 'select2ItemsOfPapelesImpresion']); + $routes->post('menuitems', 'Papelesimpresion::menuItems', ['as' => 'menuItemsOfPapelesImpresion']); + $routes->post('duplicate/(:num)', 'Papelesimpresion::duplicate/$1', ['as' => 'duplicatePapelImpresion']); + $routes->get('select', 'Papelesimpresion::papel_impresion_select', ['as' => 'papelImpresionSelect']); + $routes->get('show/(:num)', 'Papelesimpresion::papel_impresion_find/$1', ['as' => 'showPapelImpresion']); + + }); + + /* Maquinas */ + $routes->group('maquinas', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Maquinas::index', ['as' => 'maquinaList']); + $routes->get('add', 'Maquinas::add', ['as' => 'newMaquina']); + $routes->get('edit/(:num)', 'Maquinas::edit/$1'); + $routes->get('delete/(:num)', 'Maquinas::delete/$1'); + $routes->post('add', 'Maquinas::add', ['as' => 'createMaquina']); + $routes->post('create', 'Maquinas::create', ['as' => 'ajaxCreateMaquina']); + $routes->put('update/(:num)', 'Maquinas::update/$1', ['as' => 'ajaxUpdateMaquina']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Maquinas::edit/$1', ['as' => 'updateMaquina']); + $routes->post('datatable', 'Maquinas::datatable', ['as' => 'dataTableOfMaquinas']); + $routes->post('allmenuitems', 'Maquinas::allItemsSelect', ['as' => 'select2ItemsOfMaquinas']); + $routes->post('menuitems', 'Maquinas::menuItems', ['as' => 'menuItemsOfMaquinas']); + $routes->post('duplicate/(:num)', 'Maquinas::duplicate/$1', ['as' => 'duplicateMaquina']); + $routes->get('(:num)', 'Maquinas::find_maquina/$1', ['as' => 'findMaquina']); + $routes->get('select', 'Maquinas::select', ['as' => 'selectMaquinas']); + }); + + /* Maquinas por defecto */ + $routes->group('maquinasdefecto', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Maquinasdefecto::index', ['as' => 'maquinaPorDefectoList']); + $routes->get('add', 'Maquinasdefecto::add', ['as' => 'newMaquinaPorDefecto']); + $routes->post('add', 'Maquinasdefecto::add', ['as' => 'createMaquinaPorDefecto']); + $routes->post('create', 'Maquinasdefecto::create', ['as' => 'ajaxCreateMaquinaPorDefecto']); + $routes->put('(:num)/update', 'Maquinasdefecto::update/$1', ['as' => 'ajaxUpdateMaquinaPorDefecto']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Maquinasdefecto::edit/$1', ['as' => 'updateMaquinaPorDefecto']); + $routes->post('datatable', 'Maquinasdefecto::datatable', ['as' => 'dataTableOfMaquinasPorDefecto']); + $routes->post('allmenuitems', 'Maquinasdefecto::allItemsSelect', ['as' => 'select2ItemsOfMaquinasPorDefecto']); + $routes->post('menuitems', 'Maquinasdefecto::menuItems', ['as' => 'menuItemsOfMaquinasPorDefecto']); + }); + + + /* Ubicaciones */ + $routes->group('ubicaciones', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + + $routes->get('', 'Ubicaciones::index', ['as' => 'ubicacionesList']); + $routes->match(['get', 'post'], 'add', 'Ubicaciones::add', ['as' => 'ubicacionesAdd']); + $routes->match(['get', 'post'], 'edit/(:num)', 'Ubicaciones::edit/$1', ['as' => 'ubicacionesEdit']); + $routes->get('delete/(:num)', 'Ubicaciones::delete/$1', ['as' => 'ubicacionesDelete']); + $routes->post('datatable', 'Ubicaciones::datatable', ['as' => 'ubicacionesDT']); + }); + + /* Permisos y roles */ + $routes->group('group', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'Group::index', ['as' => 'userGroupList']); + $routes->get('index', 'Group::index', ['as' => 'groupIndex']); + $routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']); + $routes->get('edit/(:num)', 'Group::edit/$1', ['as' => 'editGroup']); + $routes->get('delete/(:num)', 'Group::delete/$1', ['as' => 'deleteGroup']); + $routes->get('add', 'Group::add', ['as' => 'newGroup']); + $routes->post('add', 'Group::add', ['as' => 'createGroup']); + }); + + /* Series Factura */ + $routes->group('series-facturas', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'SeriesFacturas::index', ['as' => 'seriesFacturasList']); + $routes->match(['get', 'post'], 'add', 'SeriesFacturas::add', ['as' => 'seriesFacturasAdd']); + $routes->match(['get', 'post'], 'edit/(:num)', 'SeriesFacturas::edit/$1', ['as' => 'seriesFacturasEdit']); + $routes->get('delete/(:num)', 'SeriesFacturas::delete/$1', ['as' => 'seriesFacturasDelete']); + $routes->post('datatable', 'SeriesFacturas::datatable', ['as' => 'seriesFacturasDT']); + $routes->post('menuitemsFacturas', 'SeriesFacturas::menuItemsFacturas', ['as' => 'menuItemsOfSeriesFacturas']); + }); + + /* Variables del sistema */ + $routes->group("variables", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'ConfigVariables::index', ['as' => 'variablesIndex']); + $routes->get('find/(:num)', 'ConfigVariables::get/$1', ['as' => 'variablesFind']); + $routes->post('edit/(:num)', 'ConfigVariables::updateVariable/$1', ['as' => 'updateVariable']); + $routes->delete('delete/(:num)', 'ConfigVariables::delete/$1', ['as' => 'deleteVariable']); + $routes->get('datatable', 'ConfigVariables::datatable', ['as' => 'datatableVariables']); + }); + + /* Errores en presupuestos */ + $routes->group("errores-presupuesto", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'ConfigErrores::index', ['as' => 'erroresPresupuestoIndex']); + $routes->get('edit/(:num)', 'ConfigErrores::viewForm/$1', ['as' => 'erroresPresupuestoViewForm']); + $routes->get('get/(:num)', 'ConfigErrores::get_error_presupuesto/$1', ['as' => 'erroresPresupuestoGetErrorPresupuesto']); + $routes->get('datatable', 'ConfigErrores::datatable', ['as' => 'erroresPresupuestoDatatable']); + $routes->post('edit/(:num)', 'ConfigErrores::update_error_presupuesto/$1', ['as' => 'erroresPresupuestoUpdate']); + }); + + $routes->group("maquina-tareas", ["namespace" => 'App\Controllers\Configuracion'], function ($routes) { + $routes->get('', 'MaquinaTarea::index', ['as' => 'maquinaTareaList']); + $routes->get('(:num)', 'MaquinaTarea::show/$1', ['as' => 'maquinaTareaShow']); + $routes->delete('(:num)', 'MaquinaTarea::delete/$1', ['as' => 'maquinaTareaDelete']); + $routes->post('', 'MaquinaTarea::store/$1', ['as' => 'maquinaTareaStore']); + $routes->post('update/(:num)', 'MaquinaTarea::update_servicio_cliente/$1', ['as' => 'maquinaTareaUpdate']); + $routes->get('edit/(:num)', 'MaquinaTarea::viewForm/$1', ['as' => 'maquinaTareaViewForm']); + $routes->get('datatable', 'MaquinaTarea::datatable', ['as' => 'maquinaTareaDatatable']); + }); + $routes->group("messages", ["namespace" => 'App\Controllers\Chat'], function ($routes) { + $routes->get('', 'ChatController::config_view', ['as' => 'configMessagesIndex']); + }); +}); + diff --git a/ci4/app/Config/Routes/PresupuestosRoutes.php b/ci4/app/Config/Routes/PresupuestosRoutes.php new file mode 100644 index 00000000..a4e9dd37 --- /dev/null +++ b/ci4/app/Config/Routes/PresupuestosRoutes.php @@ -0,0 +1,64 @@ +group('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { + $routes->get('list/(:num)', 'Presupuestoadmin::list/$1', ['as' => 'presupuestoAdminList']); // HOMOGENIZAR CON ARGS DINAMICOS!!! + $routes->get('add/(:num)', 'Presupuestoadmin::add/$1', ['as' => 'newPresupuestoAdmin']); + $routes->get('edit/(:any)', 'Presupuestoadmin::edit/$1', ['as' => 'editarPresupuestoAdmin']); + $routes->post('add/(:num)', 'Presupuestoadmin::add/$1', ['as' => 'createPresupuestoAdmin']); + $routes->post('create', 'Presupuestoadmin::create', ['as' => 'ajaxCreatePresupuestoAdmin']); + $routes->put('(:num)/update', 'Presupuestoadmin::update/$1', ['as' => 'ajaxUpdatePresupuestoAdmin']); + $routes->post('edit/(:num)', 'Presupuestoadmin::edit/$1', ['as' => 'updatePresupuestoAdmin']); + $routes->post('datatable', 'Presupuestoadmin::datatable', ['as' => 'dataTableOfPresupuestoAdmin']); + $routes->post('datatable_2', 'Presupuestoadmin::datatable_2', ['as' => 'updateDataOfPresupuestoAdmin']); + $routes->post('allmenuitems', 'Presupuestoadmin::allItemsSelect', ['as' => 'select2ItemsOfPresupuestoAdmin']); + $routes->post('menuitems', 'Presupuestoadmin::menuItems', ['as' => 'menuItemsOfPresupuestoAdmin']); + + $routes->get('cargar/(:any)', 'Presupuestoadmin::cargar/$1'); + $routes->post('comparadorinterior', 'Presupuestoadmin::obtenerComparadorInterior'); + $routes->post('comparadorexteriores', 'Presupuestoadmin::obtenerComparadorExteriores'); + $routes->post('comparadorguardas', 'Presupuestoadmin::obtenerComparadorGuardas'); + $routes->get('papelgenerico', 'Presupuestoadmin::getPapelGenerico'); + $routes->get('papelgramaje', 'Presupuestoadmin::getGramaje'); + $routes->get('papelimpresion', 'Presupuestoadmin::getPapelImpresion'); + $routes->get('maquinas', 'Presupuestoadmin::getMaquinas'); + $routes->post('getlinea', 'Presupuestoadmin::getLineaPresupuesto'); + $routes->post('clone', 'Presupuestoadmin::datatable_2'); + + $routes->get('presupuestosCliente', 'Presupuestoadmin::tablaClienteForm'); + $routes->get('getSumCliente/(:num)', 'Presupuestoadmin::obtenerTotalPresupuestosCliente/$1'); +}); + +//$routes->resource('presupuestoadmin', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestoadmin', 'except' => 'show,new,create,update']); + +$routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { + $routes->get('list', 'Presupuestocliente::list', ['as' => 'listaPresupuestos']); + $routes->post('datatable', 'Presupuestocliente::datatable', ['as' => 'datatableOfPresupuestos']); + $routes->get('add', 'Presupuestocliente::add', ['as' => 'nuevoPresupuestoCliente']); + $routes->post('add', 'Presupuestocliente::add', ['as' => 'crearPresupuestoCliente']); + $routes->post('edit/(:num)', 'Presupuestocliente::edit/$1', ['as' => 'editarPresupuestoCliente']); + $routes->get('edit/(:any)', 'Presupuestocliente::edit/$1', ['as' => 'editarPresupuestoCliente2']); + $routes->post('getgramaje', 'Presupuestocliente::getGramaje', ['as' => 'obtenerGramaje']); + $routes->post('presupuesto', 'Presupuestocliente::presupuesto', ['as' => 'presupuestoCliente']); + $routes->post('getDireccionesCliente', 'Presupuestocliente::getDireccionesCliente', ['as' => 'getDirecciones']); + $routes->post('getNuevaDireccion', 'Presupuestocliente::getNuevaDireccion', ['as' => 'nuevaDireccion']); + $routes->post('guardar', 'Presupuestocliente::guardar', ['as' => 'guardar']); + $routes->get('cargar/(:num)', 'Presupuestocliente::cargar/$1', ['as' => 'cargarPresupuesto']); + $routes->post('duplicarPresupuesto', 'Presupuestocliente::duplicarPresupuesto', ['as' => 'duplicarPresupuesto']); + $routes->post('calcular', 'Presupuestocliente::calcular', ['as' => 'calcularPresupuesto']); + $routes->post('calcularsolapas', 'Presupuestocliente::calcularMaxSolapas', ['as' => 'calcularSolapas']); + $routes->post('checklomo', 'Presupuestocliente::check_lomo_interior'); +}); +//$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']); + +$routes->group('importador', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { + $routes->get('', 'Importadorpresupuestos::index', ['as' => 'importadorPresupuestos']); + $routes->get('clientlist', 'Importadorpresupuestos::getClientList', ['as' => 'clientList']); + $routes->get('presupuestoslist', 'Importadorpresupuestos::getPresupuestosList', ['as' => 'presupuestosList']); + $routes->get('getencuadernacion', 'Importadorpresupuestos::getEncuadernacionList'); + $routes->get('getpresupuestodata', 'Importadorpresupuestos::getPresupuesto', ['as' => 'getPresupuesto']); + $routes->post('importar', 'Importadorpresupuestos::importarPresupuesto'); +}); \ No newline at end of file diff --git a/ci4/app/Config/Routes/TarifasRoutes.php b/ci4/app/Config/Routes/TarifasRoutes.php new file mode 100644 index 00000000..e88ec3df --- /dev/null +++ b/ci4/app/Config/Routes/TarifasRoutes.php @@ -0,0 +1,55 @@ +group('tarifas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { + + /* Maquinas */ + $routes->group('maquinas', ['namespace' => 'App\Controllers\Tarifas\Maquinas'], function ($routes) { + + $routes->post('acabado', 'TarifaMaquinas::add_tarifa_acabado_maquina_with_tarea'); + $routes->post('manipulado', 'TarifaMaquinas::add_tarifa_manipulado_maquina_with_tarea'); + $routes->post('preimpresion', 'TarifaMaquinas::add_tarifa_preimpresion_maquina_with_tarea'); + $routes->post('encuadernacion', 'TarifaMaquinas::add_tarifa_encuadernacion_maquina_with_tarea'); + $routes->post('extra', 'TarifaMaquinas::add_tarifa_extra_maquina_with_tarea'); + + + $routes->delete('acabado/(:num)', 'TarifaMaquinas::delete_tarifa_acabado_maquina_with_tarea/$1'); + $routes->delete('manipulado/(:num)', 'TarifaMaquinas::delete_tarifa_manipulado_maquina_with_tarea/$1'); + $routes->delete('preimpresion/(:num)', 'TarifaMaquinas::delete_tarifa_preimpresion_maquina_with_tarea/$1'); + $routes->delete('encuadernacion/(:num)', 'TarifaMaquinas::delete_tarifa_encuadernacion_maquina_with_tarea/$1'); + $routes->delete('extra/(:num)', 'TarifaMaquinas::delete_tarifa_extra_maquina_with_tarea/$1'); + + $routes->get('acabado/select', 'TarifaMaquinas::get_select_maquina_acabado'); + $routes->get('manipulado/select', 'TarifaMaquinas::get_select_maquina_manipulado'); + $routes->get('impresion/select', 'TarifaMaquinas::get_select_maquina_impresion'); + $routes->get('encuadernacion/select', 'TarifaMaquinas::get_select_maquina_manipulado'); + $routes->get('tareas/select', 'TarifaMaquinas::get_select_maquina_tareas'); + + $routes->get('acabado/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_acabado_maquina/$1'); + $routes->get('manipulado/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_manipulado_maquina/$1'); + $routes->get('preimpresion/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_preimpresion_maquina/$1'); + $routes->get('encuadernacion/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_encuadernacion_maquina/$1'); + $routes->get('extra/datatable/(:num)', 'TarifaMaquinas::get_datatable_tarifa_extra_maquina/$1'); + }); + + /* Acabados */ + $routes->group('acabados', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) { + + $routes->get('', 'TarifaAcabados::index', ['as' => 'tarifaAcabadoList']); + $routes->get('gettarifas', 'TarifaAcabados::getSelect2'); + $routes->match(['get', 'post'], 'add', 'TarifaAcabados::add', ['as' => 'tarifaAcabadoAdd']); + $routes->match(['get', 'post'], 'edit/(:num)', 'TarifaAcabados::edit/$1', ['as' => 'tarifaAcabadoEdit']); + $routes->get('delete/(:num)', 'TarifaAcabados::delete/$1', ['as' => 'tarifaAcabadoDelete']); + $routes->post('datatable', 'TarifaAcabados::datatable', ['as' => 'tarifaAcabadoDT']); + $routes->get('select', 'TarifaAcabados::show_select', ["as" => "showSelectTarifaAcabado"]); + $routes->group('lineas', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) { + $routes->post('datatable', 'TarifaAcabadosLineas::datatable', ['as' => 'tarifaAcabadoLineasDT']); + $routes->post('datatable_editor', 'TarifaAcabadosLineas::datatable_editor', ['as' => 'tarifaAcabadoLineasDTE']); + $routes->get('delete/(:num)', 'TarifaAcabadosLineas::delete/$1', ['as' => 'tarifaAcabadoLineasDelete']); + }); + }); +}); \ No newline at end of file diff --git a/ci4/app/Config/Routing.php b/ci4/app/Config/Routing.php index 97fd5b8d..ee51edc5 100644 --- a/ci4/app/Config/Routing.php +++ b/ci4/app/Config/Routing.php @@ -96,7 +96,7 @@ class Routing extends BaseRouting * * Default: false */ - public bool $prioritize = false; + public bool $prioritize = true; /** * Map of URI segments and namespaces. For Auto Routing (Improved). diff --git a/ci4/app/Controllers/Configuracion/Maquinas.php b/ci4/app/Controllers/Configuracion/Maquinas.php index 99f88e96..384f0026 100755 --- a/ci4/app/Controllers/Configuracion/Maquinas.php +++ b/ci4/app/Controllers/Configuracion/Maquinas.php @@ -46,7 +46,7 @@ class Maquinas extends \App\Controllers\BaseResourceController // Breadcrumbs (IMN) $this->viewData['breadcrumb'] = [ ['title' => lang("App.menu_configuration"), 'route' => "javascript:void(0);", 'active' => false], - ['title' => lang("App.menu_maquina"), 'route' => site_url('configuracion/maquinas'), 'active' => true] + ['title' => lang("App.menu_maquina"), 'route' => route_to('maquinaList'), 'active' => true] ]; parent::initController($request, $response, $logger); diff --git a/ci4/app/Controllers/Configuracion/Paises.php b/ci4/app/Controllers/Configuracion/Paises.php index a9d8b5d1..20668475 100755 --- a/ci4/app/Controllers/Configuracion/Paises.php +++ b/ci4/app/Controllers/Configuracion/Paises.php @@ -1,4 +1,5 @@ -request->getPost()) : + if ($this->request->getPost()): $postData = $this->request->getPost(); $sanitizedData = $this->sanitized($postData, true); $noException = true; - if ($successfulResult = $this->canValidate()) : + if ($successfulResult = $this->canValidate()): - if ($this->canValidate()) : + if ($this->canValidate()): try { $successfulResult = $this->model->skipValidation(true)->save($sanitizedData); } catch (\Exception $e) { @@ -86,14 +89,14 @@ class Paises extends \App\Controllers\BaseResourceController $thenRedirect = true; // Change this to false if you want your user to stay on the form after submission endif; - if ($noException && $successfulResult) : + if ($noException && $successfulResult): $id = $this->model->db->insertID(); $message = lang('Basic.global.saveSuccess', [lang('Basic.global.record')]) . '.'; - if ($thenRedirect) : - if (!empty($this->indexRoute)) : + if ($thenRedirect): + if (!empty($this->indexRoute)): return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message); else: return $this->redirect2listView('sweet-success', $message); @@ -117,20 +120,20 @@ class Paises extends \App\Controllers\BaseResourceController public function edit($requestedId = null) { - if ($requestedId == null) : + if ($requestedId == null): return $this->redirect2listView(); endif; $id = filter_var($requestedId, FILTER_SANITIZE_URL); $paisEntity = $this->model->find($id); - if ($paisEntity == false) : + if ($paisEntity == false): $message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Paises.pais')), $id]); return $this->redirect2listView('sweet-error', $message); endif; - - if ($this->request->getPost()) : + + if ($this->request->getPost()): $nullIfEmpty = true; // !(phpversion() >= '8.1'); @@ -143,10 +146,10 @@ class Paises extends \App\Controllers\BaseResourceController $noException = true; - if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) : + if ($successfulResult = $this->canValidate()): // if ($successfulResult = $this->validate($this->formValidationRules) ) : - if ($this->canValidate()) : + if ($this->canValidate()): try { $successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData); } catch (\Exception $e) { @@ -163,12 +166,12 @@ class Paises extends \App\Controllers\BaseResourceController $thenRedirect = false; endif; - if ($noException && $successfulResult) : + if ($noException && $successfulResult): $id = $paisEntity->id ?? $id; $message = lang('Basic.global.updateSuccess', [lang('Basic.global.record')]) . '.'; - if ($thenRedirect) : - if (!empty($this->indexRoute)) : + if ($thenRedirect): + if (!empty($this->indexRoute)): return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message); else: return $this->redirect2listView('sweet-success', $message); @@ -193,30 +196,38 @@ class Paises extends \App\Controllers\BaseResourceController public function datatable() { - if ($this->request->isAJAX()) { - $reqData = $this->request->getPost(); - if (!isset($reqData['draw']) || !isset($reqData['columns'])) { - $errstr = 'No data available in response to this specific request.'; - $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr); - return $response; - } - $start = $reqData['start'] ?? 0; - $length = $reqData['length'] ?? 5; - $search = $reqData['search']['value']; - $requestedOrder = $reqData['order']['0']['column'] ?? 1; - $order = PaisModel::SORTABLE[$requestedOrder > 0 ? $requestedOrder : 1]; - $dir = $reqData['order']['0']['dir'] ?? 'asc'; + $q = $this->model->getDatatableQuery(); - $resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); + $result = DataTable::of($q) + ->edit( + "show_erp", + function ($row, $meta) { + if($row->show_erp == 1) { + return ''; + }else{ + return ''; + } + } + ) + ->add("actionBtns", callback: function ($q) { + $actions = ''; + if (auth()->user()->can('paises.edit')) { + $actions .= ' +
'; + } + if (auth()->user()->can('paises.delete')) { + $actions .= ' + '; + } + return $actions; + }); + + return $result->toJson(returnAsObject: true); - return $this->respond(Collection::datatable( - $resourceData, - $this->model->getResource()->countAllResults(), - $this->model->getResource($search)->countAllResults() - )); - } else { - return $this->failUnauthorized('Invalid request', 403); - } } public function allItemsSelect() @@ -277,7 +288,7 @@ class Paises extends \App\Controllers\BaseResourceController "id", "nombre as name" ] - )->orderBy("nombre", "asc"); + )->orderBy("nombre", "asc"); if ($this->request->getGet("q")) { $query->groupStart() ->orLike("lg_paises.nombre", $this->request->getGet("q")) diff --git a/ci4/app/Controllers/Configuracion/Papelesgenericos.php b/ci4/app/Controllers/Configuracion/Papelesgenericos.php index aad7fbb4..ca6b692e 100755 --- a/ci4/app/Controllers/Configuracion/Papelesgenericos.php +++ b/ci4/app/Controllers/Configuracion/Papelesgenericos.php @@ -43,7 +43,7 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController // Breadcrumbs (IMN) $this->viewData['breadcrumb'] = [ ['title' => lang("App.menu_configuration"), 'route' => "javascript:void(0);", 'active' => false], - ['title' => lang("App.menu_papelgenerico"), 'route' => site_url('configuracion/papelesgenericos'), 'active' => true] + ['title' => lang("App.menu_papelgenerico"), 'route' => route_to('papelGenericoList'), 'active' => true] ]; parent::initController($request, $response, $logger); diff --git a/ci4/app/Controllers/Configuracion/Papelesimpresion.php b/ci4/app/Controllers/Configuracion/Papelesimpresion.php index ad24dfd2..c18c1e05 100755 --- a/ci4/app/Controllers/Configuracion/Papelesimpresion.php +++ b/ci4/app/Controllers/Configuracion/Papelesimpresion.php @@ -72,7 +72,7 @@ class Papelesimpresion extends \App\Controllers\BaseResourceController // Breadcrumbs $this->viewData['breadcrumb'] = [ ['title' => lang("App.menu_configuration"), 'route' => "javascript:void(0);", 'active' => false], - ['title' => lang("App.menu_papelimpresion"), 'route' => site_url('configuracion/papelesimpresion'), 'active' => true] + ['title' => lang("App.menu_papelimpresion"), 'route' => route_to('papelImpresionList'), 'active' => true] ]; parent::initController($request, $response, $logger); diff --git a/ci4/app/Controllers/Facturacion/Facturas.php b/ci4/app/Controllers/Facturacion/Facturas.php index b9c445bc..d8feb554 100755 --- a/ci4/app/Controllers/Facturacion/Facturas.php +++ b/ci4/app/Controllers/Facturacion/Facturas.php @@ -230,6 +230,10 @@ class Facturas extends \App\Controllers\BaseResourceController $factura->updated_by = $userModel->getFullName($factura->user_updated_id); $factura->created_at_footer = $factura->created_at ? date(' H:i d/m/Y', strtotime($factura->created_at)) : ''; $factura->updated_at_footer = $factura->updated_at ? date(' H:i d/m/Y', strtotime($factura->updated_at)) : ''; + + $factura->showDeleteButton = model('App\Models\Facturas\FacturaPagoModel') + ->where('factura_id', $factura->id)->countAllResults() == 0; + $this->viewData['facturaEntity'] = $factura; $this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Facturas.factura') . ' ' . lang('Basic.global.edit3'); @@ -703,7 +707,7 @@ class Facturas extends \App\Controllers\BaseResourceController $data = (object) [ 'factura_id' => $factura_id, - 'pedido_linea_impresion_id' => $linea->pedido_id, + 'pedido_linea_impresion_id' => $pedido_linea_id, 'descripcion' => $descripcion[0]->concepto, 'cantidad' => $cantidad, 'iva' => $presupuesto->iva_reducido == 1 ? 4 : 21, diff --git a/ci4/app/Controllers/Pedidos/Pedido.php b/ci4/app/Controllers/Pedidos/Pedido.php index 6e28240e..51f911c6 100755 --- a/ci4/app/Controllers/Pedidos/Pedido.php +++ b/ci4/app/Controllers/Pedidos/Pedido.php @@ -211,6 +211,8 @@ class Pedido extends \App\Controllers\BaseResourceController public function update($id = null){ + $data = []; + if ($this->request->isAJAX()) { $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); @@ -242,6 +244,14 @@ class Pedido extends \App\Controllers\BaseResourceController $sanitizedData = $this->sanitized($postData, $nullIfEmpty); + foreach(array_keys($sanitizedData) as $key){ + if(str_starts_with($key, "fecha_")){ + $sanitizedData[$key . "_change_user_id"] = + auth()->user()->id; + $data[$key . "_change_user"] = + model('App\Models\Usuarios\UserModel')->getFullName(auth()->user()->id); + } + } // JJO $sanitizedData['user_updated_id'] = auth()->user()->id; @@ -268,10 +278,9 @@ class Pedido extends \App\Controllers\BaseResourceController $id = $pedidoEntity->id ?? $id; $message = lang('Basic.global.updateSuccess', [lang('Basic.global.record')]) . '.'; - $data = [ - 'error' => 0, - $csrfTokenName => $newTokenHash - ]; + $data['error'] = 0; + $data[$csrfTokenName] = $newTokenHash; + return $this->respond($data); endif; // $noException && $successfulResult @@ -303,7 +312,15 @@ class Pedido extends \App\Controllers\BaseResourceController $this->obtenerDatosFormulario($pedidoEntity); - + $pedidoEntity->fecha_entrega_real_change_user = $pedidoEntity->fecha_entrega_real_change_user_id?model('App\Models\Usuarios\UserModel')-> + getFullName($pedidoEntity->fecha_entrega_real_change_user_id):""; + $pedidoEntity->fecha_impresion_change_user = $pedidoEntity->fecha_impresion_change_user_id?model('App\Models\Usuarios\UserModel')-> + getFullName($pedidoEntity->fecha_impresion_change_user_id):""; + $pedidoEntity->fecha_encuadernado_change_user = $pedidoEntity->fecha_encuadernado_change_user_id?model('App\Models\Usuarios\UserModel')-> + getFullName($pedidoEntity->fecha_encuadernado_change_user_id):""; + $pedidoEntity->fecha_entrega_change_externo_user = $pedidoEntity->fecha_entrega_change_externo_user_id?model('App\Models\Usuarios\UserModel')-> + getFullName($pedidoEntity->fecha_entrega_change_externo_user_id):""; + $this->viewData['pedidoEntity'] = $pedidoEntity; if($pedidoEntity->estado == 'validacion'){ @@ -321,6 +338,7 @@ class Pedido extends \App\Controllers\BaseResourceController $this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' ' . lang('Pedidos.moduleTitle') . ' ' . lang('Basic.global.edit3'); + return $this->displayForm(__METHOD__, $id); } diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php index beef112f..75ac450d 100644 --- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php @@ -366,6 +366,36 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController PresupuestoService::crearPedido($id); } + // modificar los datos del pedido y de la factura si no está la factura validada + if ($presupuestoEntity->estado_id == 2){ + $facturaModel = model('App\Models\Facturas\FacturaModel'); + if(!$facturaModel->presupuestoHasFacturaValidada($id)){ + // se actualiza primero el pedido + $pedidoModel = model('App\Models\Pedidos\PedidoLineaModel'); + $pedidoLineaId = $pedidoModel->where('presupuesto_id', $id)->first()->id; + $linea_pedido = $this->model->generarLineaPedido($id)[0]; + $idPedido = $pedidoModel->join('pedidos', 'pedidos_linea.pedido_id = pedidos.id') + ->where('pedidos_linea.presupuesto_id', $id) + ->first()->pedido_id; + $pedidoModel->update($pedidoLineaId, [ + 'cantidad' => $linea_pedido->unidades, + 'descripcion' => $linea_pedido->concepto + ]); + + // se actualiza la factura + $linea_pedido = $this->model->generarLineaPedido($id, true, $idPedido)[0]; + $facturaLineaModel = model('App\Models\Facturas\FacturaLineaModel'); + $facturaLineaId = $facturaLineaModel->where('pedido_linea_impresion_id', $pedidoLineaId)-> + where('deleted_at', null)->first()->id; + $facturaLineaModel->update($facturaLineaId, [ + 'cantidad' => $linea_pedido->unidades, + 'descripcion' => $linea_pedido->concepto + ]); + + } + + } + $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); $data = [ diff --git a/ci4/app/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido copy.php b/ci4/app/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido copy.php new file mode 100644 index 00000000..b8313fcb --- /dev/null +++ b/ci4/app/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido copy.php @@ -0,0 +1,61 @@ + [ + "type" => "INT", + "unsigned" => true, + "constraint" => 1, + "null" => true, + ], + 'fecha_entrega_real_change_user_id' => [ + 'type' => 'INT', + "constraint" => 10, + "unsigned" => true, + "null" => true, + ], + "fecha_impresion_change_user_id" => [ + "type" => "INT", + "constraint" => 10, + "unsigned" => true, + "null" => true, + ], + + "fecha_encuadernado_change_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + "fecha_entrega_externo_change_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + "inaplazable_change_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + + ]; + + public function up() + { + $this->forge->addColumn("pedidos", $this->USER_COLUMNS); + } + + public function down() + { + $this->forge->dropColumn("pedidos", array_keys($this->USER_COLUMNS)); + + } +} diff --git a/ci4/app/Database/Migrations/2025-04-12-130000_AddCantidadConceptoPedidoLinea.php b/ci4/app/Database/Migrations/2025-04-12-130000_AddCantidadConceptoPedidoLinea.php new file mode 100644 index 00000000..471151fd --- /dev/null +++ b/ci4/app/Database/Migrations/2025-04-12-130000_AddCantidadConceptoPedidoLinea.php @@ -0,0 +1,33 @@ + [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + 'descripcion' => [ + 'type' => 'TEXT', + "null" => true, + ], + ]; + + public function up() + { + $this->forge->addColumn("pedidos_linea", $this->USER_COLUMNS); + } + + public function down() + { + $this->forge->dropColumn("pedidos_linea", array_keys($this->USER_COLUMNS)); + + } +} diff --git a/ci4/app/Entities/Configuracion/PaisEntity.php b/ci4/app/Entities/Configuracion/PaisEntity.php index 9460f544..9fb8f33f 100755 --- a/ci4/app/Entities/Configuracion/PaisEntity.php +++ b/ci4/app/Entities/Configuracion/PaisEntity.php @@ -14,7 +14,7 @@ class PaisEntity extends \CodeIgniter\Entity\Entity "url_erp" => null, "user_erp" => null, "key_erp" => null, - "show_erp" => false, + "show_erp" => null, ]; protected $casts = [ "show_erp" => "boolean", diff --git a/ci4/app/Entities/Pedidos/PedidoEntity.php b/ci4/app/Entities/Pedidos/PedidoEntity.php index 57b81396..61c40e25 100644 --- a/ci4/app/Entities/Pedidos/PedidoEntity.php +++ b/ci4/app/Entities/Pedidos/PedidoEntity.php @@ -18,6 +18,7 @@ class PedidoEntity extends \CodeIgniter\Entity\Entity "total_precio" => null, "total_tirada" => null, "estado" => null, + "inaplazable" => null, "user_created_id" => null, "user_updated_id" => null, "user_validated_id" => null, @@ -25,6 +26,11 @@ class PedidoEntity extends \CodeIgniter\Entity\Entity "fecha_impresion" => null, "fecha_encuadernado" => null, "fecha_entrega_externo" => null, + "fecha_entrega_real_change_user_id" => null, + "fecha_impresion_change_user_id" => null, + "fecha_encuadernado_change_user_id" => null, + "fecha_entrega_change_externo_user_id" => null, + "inaplazable_change_user_id" => null, "created_at" => null, "updated_at" => null, "validated_at" => null, diff --git a/ci4/app/Entities/Pedidos/PedidoLineaEntity.php b/ci4/app/Entities/Pedidos/PedidoLineaEntity.php index dc059079..f103a8ca 100644 --- a/ci4/app/Entities/Pedidos/PedidoLineaEntity.php +++ b/ci4/app/Entities/Pedidos/PedidoLineaEntity.php @@ -16,6 +16,8 @@ class PedidoLineaEntity extends \CodeIgniter\Entity\Entity "user_updated_id" => null, "created_at" => null, "updated_at" => null, + "cantidad" => null, + "descripcion" => null, ]; @@ -23,6 +25,7 @@ class PedidoLineaEntity extends \CodeIgniter\Entity\Entity "pedido_id" => "int", "presupuesto_id" => "int", "ubicacion_id" => "int", + "cantidad" => "int", ]; public function ubicacion() : UbicacionesEntity { diff --git a/ci4/app/Helpers/rbac_helper.php b/ci4/app/Helpers/rbac_helper.php index 422250a6..5ab2808b 100644 --- a/ci4/app/Helpers/rbac_helper.php +++ b/ci4/app/Helpers/rbac_helper.php @@ -29,8 +29,12 @@ if (!function_exists('generate_php_roles_constant')) { // Close the array $phpCode .= "];\n"; - // Write PHP code to a file - $filePath = APPPATH . "Config/RBAC/roles.php"; + $dirPath = APPPATH . "Config/RBAC"; + if (!is_dir($dirPath)) { + mkdir($dirPath, 0775, true); // true permite crear carpetas anidadas + } + + $filePath = $dirPath . "/roles.php"; file_put_contents($filePath, $phpCode); } @@ -58,9 +62,14 @@ if (!function_exists('generate_php_permissions_constant')) { // Close the array $phpCode .= "];\n"; - // Write PHP code to a file - $filePath = APPPATH . "Config/RBAC/permissions.php"; + $dirPath = APPPATH . "Config/RBAC"; + if (!is_dir($dirPath)) { + mkdir($dirPath, 0775, true); // true permite crear carpetas anidadas + } + + $filePath = $dirPath . "/permissions.php"; file_put_contents($filePath, $phpCode); + } } @@ -87,8 +96,12 @@ if (!function_exists('generate_php_permissions_matrix_constant')) { // Close the array $phpCode .= "];\n"; - // Write PHP code to a file - $filePath = APPPATH . "Config/RBAC/permissionMatrix.php"; + $dirPath = APPPATH . "Config/RBAC"; + if (!is_dir($dirPath)) { + mkdir($dirPath, 0775, true); // true permite crear carpetas anidadas + } + + $filePath = $dirPath . "/permissionMatrix.php"; file_put_contents($filePath, $phpCode); } } @@ -130,9 +143,9 @@ if (!function_exists('checkGroups')) { */ function checkGroups(array $groups, string $redirectRoute = null) { - $session = \Config\Services::session(); + $session = \Config\Services::session(); $response = \Config\Services::response(); - $auth = auth(); // Shield auth service + $auth = auth(); // Shield auth service $user = $auth->user(); diff --git a/ci4/app/Models/API/ItemModel.php b/ci4/app/Models/API/ItemModel.php deleted file mode 100644 index e61e4654..00000000 --- a/ci4/app/Models/API/ItemModel.php +++ /dev/null @@ -1,46 +0,0 @@ - "t1.id", - 2 => "t1.nombre", - 3 => "t1.code", - 4 => "t1.code3", - 5 => "t1.moneda", - 6 => "t1.url_erp", - 7 => "t1.user_erp", - 8 => "t1.key_erp", - 9 => "t1.show_erp", - ]; protected $allowedFields = ["nombre", "code", "code3", "moneda", "url_erp", "user_erp", "key_erp", "show_erp"]; protected $returnType = "App\Entities\Configuracion\PaisEntity"; @@ -91,38 +80,24 @@ class PaisModel extends \App\Models\BaseModel /** * Get resource data. * - * @param string $search - * * @return \CodeIgniter\Database\BaseBuilder */ - public function getResource(string $search = "") + public function getDatatableQuery() { $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.nombre AS nombre, t1.code AS code, t1.code3 AS code3, t1.moneda AS moneda, t1.url_erp AS url_erp, t1.user_erp AS user_erp, t1.key_erp AS key_erp, t1.show_erp AS show_erp" + "t1.id AS id, + t1.nombre AS nombre, + t1.code AS code, + t1.code3 AS code3, + t1.moneda AS moneda, + t1.url_erp AS url_erp, + t1.user_erp AS user_erp, + t1.key_erp AS key_erp, + t1.show_erp AS show_erp" ); - return empty($search) - ? $builder - : $builder - ->groupStart() - ->like("t1.id", $search) - ->orLike("t1.nombre", $search) - ->orLike("t1.code", $search) - ->orLike("t1.code3", $search) - ->orLike("t1.moneda", $search) - ->orLike("t1.url_erp", $search) - ->orLike("t1.user_erp", $search) - ->orLike("t1.key_erp", $search) - ->orLike("t1.id", $search) - ->orLike("t1.nombre", $search) - ->orLike("t1.code", $search) - ->orLike("t1.code3", $search) - ->orLike("t1.moneda", $search) - ->orLike("t1.url_erp", $search) - ->orLike("t1.user_erp", $search) - ->orLike("t1.key_erp", $search) - ->groupEnd(); + return $builder; } } diff --git a/ci4/app/Models/Facturas/FacturaLineaModel.php b/ci4/app/Models/Facturas/FacturaLineaModel.php index 82888d06..cb13de58 100644 --- a/ci4/app/Models/Facturas/FacturaLineaModel.php +++ b/ci4/app/Models/Facturas/FacturaLineaModel.php @@ -39,7 +39,7 @@ class FacturaLineaModel extends \App\Models\BaseModel { t1.pedido_linea_impresion_id AS pedido_linea_impresion_id, t1.pedido_maquetacion_id AS pedido_maquetacion_id, t1.descripcion AS descripcion, t1.cantidad as cantidad, t1.iva AS iva, t1.base AS base, t1.total_iva AS total_iva, t1.total AS total, t1.data AS data, t2.pedido_id AS pedido_id, - t3.total_aceptado AS total_aceptado, t4.tirada_flexible AS tirada_flexible, t4.descuento_tirada_flexible AS descuento_tirada_flexible, + t3.total_aceptado_revisado AS total_aceptado, t4.tirada_flexible AS tirada_flexible, t4.descuento_tirada_flexible AS descuento_tirada_flexible, t6.cantidad AS cantidad_albaran" ) ->join("pedidos_linea t2", "t2.id = t1.pedido_linea_impresion_id", "left") diff --git a/ci4/app/Models/Facturas/FacturaModel.php b/ci4/app/Models/Facturas/FacturaModel.php index dc11b5e2..7c2c8142 100644 --- a/ci4/app/Models/Facturas/FacturaModel.php +++ b/ci4/app/Models/Facturas/FacturaModel.php @@ -145,6 +145,27 @@ class FacturaModel extends \App\Models\BaseModel return $builder; } + + public function presupuestoHasFacturaValidada($presupuesto_id = null) + { + if ($presupuesto_id == null) { + return false; + } + + $result = $this->db->table($this->table . " t1") + ->select("t1.id") + ->join("facturas_lineas t2", "t2.factura_id = t1.id", "left") + ->join("pedidos_linea t3", "t2.pedido_linea_impresion_id = t3.id", "left") + ->where("t3.presupuesto_id", $presupuesto_id) + ->where("t1.deleted_at IS NULL") + ->where("t2.deleted_at IS NULL") + ->where("t1.estado", "validada") + ->get() + ->getResultObject(); + + return !empty($result); + } + public function getSumatoriosFacturacionCliente($cliente_id = -1){ if($cliente_id == -1){ diff --git a/ci4/app/Models/Pedidos/PedidoLineaModel.php b/ci4/app/Models/Pedidos/PedidoLineaModel.php index ca0e9b56..1e19c4cf 100644 --- a/ci4/app/Models/Pedidos/PedidoLineaModel.php +++ b/ci4/app/Models/Pedidos/PedidoLineaModel.php @@ -36,6 +36,8 @@ class PedidoLineaModel extends \App\Models\BaseModel "user_updated_id", "created_at", "updated_at", + "cantidad", + "descripcion", ]; protected $returnType = "App\Entities\Pedidos\PedidoLineaEntity"; diff --git a/ci4/app/Models/Pedidos/PedidoModel.php b/ci4/app/Models/Pedidos/PedidoModel.php index 1ab7dea5..a5379fba 100644 --- a/ci4/app/Models/Pedidos/PedidoModel.php +++ b/ci4/app/Models/Pedidos/PedidoModel.php @@ -37,6 +37,7 @@ class PedidoModel extends \App\Models\BaseModel "total_precio", "total_tirada", "estado", + "inaplazable", "user_created_id", "user_updated_id", "user_validated_id", @@ -44,6 +45,11 @@ class PedidoModel extends \App\Models\BaseModel "fecha_impresion", "fecha_encuadernado", "fecha_entrega_externo", + "fecha_entrega_real_change_user_id", + "fecha_impresion_change_user_id", + "fecha_encuadernado_change_user_id", + "fecha_entrega_externo_change_user_id", + "inaplazable_change_user_id", "created_at", "updated_at", "validated_at", @@ -111,15 +117,28 @@ class PedidoModel extends \App\Models\BaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t2.presupuesto_id" + "t2.presupuesto_id, t3.total_aceptado, t2.descripcion, t2.cantidad" ); $builder->where("t1.id", $pedido_id); $builder->join("pedidos_linea t2", "t2.pedido_id = t1.id", "left"); + $builder->join("presupuestos t3", "t2.presupuesto_id = t3.id", "left"); $model_presupuesto = model("App\Models\Presupuestos\PresupuestoModel"); $lineasPresupuesto = []; foreach ($builder->get()->getResultObject() as $row) { - array_push($lineasPresupuesto, $model_presupuesto->generarLineaPedido($row->presupuesto_id)[0]); + if($row->descripcion == null){ + array_push($lineasPresupuesto, $model_presupuesto->generarLineaPedido($row->presupuesto_id)[0]); + } + else{ + $presupuesto = (object) [ + 'numero' => $row->presupuesto_id, + 'unidades' => $row->cantidad, + 'total' => $row->total_aceptado, + 'concepto' => $row->descripcion, + ]; + array_push($lineasPresupuesto, $presupuesto); + } + } $builder->groupBy("t1.id"); diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 894259a1..74c73088 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -1885,9 +1885,12 @@ class PresupuestoService extends BaseService $pedido_id = $model_pedido->insert($data_pedido); if ($pedido_id) { + $lineas_pedido = $model_presupuesto->generarLineaPedido($presupuesto_id)[0]; $data_pedido_linea = [ "pedido_id" => $pedido_id, "presupuesto_id" => $presupuesto_id, + 'cantidad' => $lineas_pedido->unidades, + 'descripcion' => $lineas_pedido->concepto, "ubicacion_id" => 1, // safetak por defecto "user_created_id" => auth()->user()->id, "user_updated_id" => auth()->user()->id, diff --git a/ci4/app/Views/themes/vuexy/form/configuracion/paises/_paisFormItems.php b/ci4/app/Views/themes/vuexy/form/configuracion/paises/_paisFormItems.php index 7213682f..85fd9a00 100644 --- a/ci4/app/Views/themes/vuexy/form/configuracion/paises/_paisFormItems.php +++ b/ci4/app/Views/themes/vuexy/form/configuracion/paises/_paisFormItems.php @@ -1,66 +1,74 @@ -