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/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/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/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido.php b/ci4/app/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido.php new file mode 100644 index 00000000..b8313fcb --- /dev/null +++ b/ci4/app/Database/Migrations/2025-04-11-180001_AddUserIdFechaEntregaPedido.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/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/Models/Pedidos/PedidoModel.php b/ci4/app/Models/Pedidos/PedidoModel.php index 1ab7dea5..7a7bdbf0 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", diff --git a/ci4/app/Views/themes/vuexy/form/pedidos/_cabeceraItems.php b/ci4/app/Views/themes/vuexy/form/pedidos/_cabeceraItems.php index 85711c1b..559c0925 100644 --- a/ci4/app/Views/themes/vuexy/form/pedidos/_cabeceraItems.php +++ b/ci4/app/Views/themes/vuexy/form/pedidos/_cabeceraItems.php @@ -100,6 +100,7 @@ + @@ -121,7 +122,8 @@ - + +
fecha_entrega_real_change_user?>
@@ -129,7 +131,8 @@ - + +
fecha_impresion_change_user?>
@@ -137,7 +140,8 @@ - + +
fecha_encuadernado_change_user?>
@@ -145,10 +149,25 @@ - + +
fecha_entrega_externo_change_user?>
+
+ +
@@ -183,6 +202,15 @@ section('additionalInlineJs') ?> +document.getElementById('inaplazable').addEventListener('change', () => { + updateDate('inaplazable', $('#inaplazable').prop('checked') ? 1 : 0); +}); + +if(inaplazable ?>){ + $('.inaplazable-date').addClass('text-danger fw-bold'); +} + + $("#fecha_entrega_real").flatpickr({ defaultDate: fecha_entrega_real_text ? "'".$pedidoEntity->fecha_entrega_real_text."'" : 'null' ?>, dateFormat: "d/m/Y", @@ -321,10 +349,21 @@ function updateDate(elementId, dateStr) { data = { : v, }; - var parts = dateStr.split('/'); - var newFormat = parts[2] + '-' + parts[1] + '-' + parts[0]; // Asume dateStr en formato d/m/Y. - - data[elementId] = newFormat; + + if(elementId == 'inaplazable'){ + data[elementId] = dateStr; + if(dateStr == 1){ + $('.inaplazable-date').addClass('text-danger fw-bold'); + } + else{ + $('.inaplazable-date').removeClass('text-danger fw-bold'); + } + }else{ + var parts = dateStr.split('/'); + var newFormat = parts[2] + '-' + parts[1] + '-' + parts[0]; // Asume dateStr en formato d/m/Y. + + data[elementId] = newFormat; + } var url = ''; url = url.replace(':id', id ); @@ -336,11 +375,16 @@ function updateDate(elementId, dateStr) { success: function(response){ if('error' in response){ - + if(response.error == 0){ + for (const [key, value] of Object.entries(response)) { + if (key.endsWith('_change_user')) { + $("#" + key).html(value); + } + } + } } } }); - } endSection() ?> \ No newline at end of file