From e235165499e691df3b02004bc6accec08c585d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Tue, 18 Jun 2024 15:26:15 +0200 Subject: [PATCH] falta comprobar que se puede cambiar el tipo de presupuesto --- ci4/app/Config/RBAC/permissionMatrix.php | 30 +++- ci4/app/Config/RBAC/permissions.php | 12 ++ .../Presupuestos/Presupuestocliente.php | 39 ++-- ci4/app/Language/es/Presupuestos.php | 1 + .../Models/Presupuestos/PresupuestoModel.php | 1 - ci4/app/Models/Usuarios/UserModel.php | 30 ++-- .../cliente/_disenioLibroItems.php | 167 +++++++++--------- .../form/presupuestos/cliente/disenioLibro.js | 95 +++++----- .../form/presupuestos/cliente/resumen.js | 18 +- .../cliente/viewPresupuestoList.php | 15 +- httpdocs/assets/img/bn.png | Bin 0 -> 160014 bytes httpdocs/assets/img/bn_hq.png | Bin 0 -> 176640 bytes httpdocs/assets/img/color.png | Bin 0 -> 94272 bytes httpdocs/assets/img/color_hq.png | Bin 0 -> 158281 bytes 14 files changed, 222 insertions(+), 186 deletions(-) create mode 100644 httpdocs/assets/img/bn.png create mode 100644 httpdocs/assets/img/bn_hq.png create mode 100644 httpdocs/assets/img/color.png create mode 100644 httpdocs/assets/img/color_hq.png diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index 8b39825f..34d9b554 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -9,10 +9,18 @@ const SK_PERMISSION_MATRIX = [ "plantilla-tarifa.edit", "plantilla-tarifa.delete", "plantilla-tarifa.menu", + "perfil.create", + "perfil.edit", + "perfil.delete", + "perfil.menu", "presupuesto.create", "presupuesto.edit", "presupuesto.delete", "presupuesto.menu", + "presupuesto-cliente.create", + "presupuesto-cliente.edit", + "presupuesto-cliente.delete", + "presupuesto-cliente.menu", "tarifa-preimpresion.create", "tarifa-preimpresion.edit", "tarifa-preimpresion.delete", @@ -73,22 +81,28 @@ const SK_PERMISSION_MATRIX = [ "roles-permisos.edit", "roles-permisos.delete", "roles-permisos.menu", + "ubicaciones.create", + "ubicaciones.edit", + "ubicaciones.delete", + "ubicaciones.menu", + "series-facturas.create", + "series-facturas.edit", + "series-facturas.delete", + "series-facturas.menu", ], "cliente-admin" => [ + "perfil.edit", + "perfil.menu", "presupuesto-cliente.create", "presupuesto-cliente.edit", "presupuesto-cliente.delete", "presupuesto-cliente.menu", - "usuarios.create", - "usuarios.edit", - "usuarios.delete", - "usuarios.menu", ], "cliente-editor" => [ - "presupuesto.create", - "presupuesto.edit", - "presupuesto.delete", - "presupuesto.menu", + "presupuesto-cliente.create", + "presupuesto-cliente.edit", + "presupuesto-cliente.delete", + "presupuesto-cliente.menu", ], "comercial" => [ "token.token", diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index 8f81b5e5..eb5f7f39 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -9,6 +9,10 @@ const SK_PERMISSIONS = [ 'plantilla-tarifa.edit' => 'Can edit', 'plantilla-tarifa.delete' => 'Can delete', 'plantilla-tarifa.menu' => 'Menu shall be visualize', + 'perfil.create' => 'Can create', + 'perfil.edit' => 'Can edit', + 'perfil.delete' => 'Can delete', + 'perfil.menu' => 'Menu shall be visualize', 'presupuesto.create' => 'Can create', 'presupuesto.edit' => 'Can edit', 'presupuesto.delete' => 'Can delete', @@ -77,4 +81,12 @@ const SK_PERMISSIONS = [ 'roles-permisos.edit' => 'Can edit', 'roles-permisos.delete' => 'Can delete', 'roles-permisos.menu' => 'Menu shall be visualize', + 'ubicaciones.create' => 'Can create', + 'ubicaciones.edit' => 'Can edit', + 'ubicaciones.delete' => 'Can delete', + 'ubicaciones.menu' => 'Menu shall be visualize', + 'series-facturas.create' => 'Can create', + 'series-facturas.edit' => 'Can edit', + 'series-facturas.delete' => 'Can delete', + 'series-facturas.menu' => 'Menu shall be visualize', ]; diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index 6218c09d..2a5967fc 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -72,9 +72,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController 'pageTitle' => lang('Presupuestos.presupuestos'), ]; - if (auth()->user()->inGroup('cliente-admin') || auth()->user()->inGroup('cliente-editor')) { - $clienteId = 999; // Fijo hasta desarollar clientes usuarios + // Se obtiene el cliente ID a partir del usuario de la sesion + $model_user = model('App\Models\Usuarios\UserModel'); + $user = $model_user->find(auth()->user()->id); + $clienteId = $user->cliente_id; } else { $clienteId = 0; } @@ -87,8 +89,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController public function add() { // Se obtiene el cliente ID a partir del usuario de la sesion - $clienteId = 999; // Fijo hasta desarollar clientes usuarios - + $model_user = model('App\Models\Usuarios\UserModel'); + $user = $model_user->find(auth()->user()->id); + $clienteId = $user->cliente_id; + $presupuestoEntity = isset($sanitizedData) ? new PresupuestoEntity($sanitizedData) : new PresupuestoEntity(); $presupuestoEntity->clienteId = $clienteId; @@ -111,10 +115,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $datosPresupuesto->tipo_libro = ""; $datosPresupuesto->color_impresion = 'negro'; - $datosPresupuesto->calidad_impresion = 'estandar'; $datosPresupuesto->tapa = 'blanda'; - $datosPresupuesto->clienteList = $this->getClienteListItems($presupuestoEntity->cliente_id ?? null); + $datosPresupuesto->clienteList = $this->getClienteListItems($clienteId ?? null); $presupuestoEntity->estado_id = 1; $this->viewData['formAction'] = 'add'; @@ -123,6 +126,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $this->viewData['presupuestoEntity'] = $presupuestoEntity; $this->viewData['datosPresupuesto'] = $datosPresupuesto; + $this->viewData['clienteId'] = $clienteId; $this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . $this->viewData['pageTitle'] . ' ' . lang('Basic.global.addNewSuffix'); @@ -132,7 +136,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController public function edit($requestedId = null) { - if ($requestedId == null) : return $this->redirect2listView(); endif; @@ -144,6 +147,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController return $this->redirect2listView('sweet-error', $message); endif; + // Se obtiene el cliente ID a partir del usuario de la sesion + $model_user = model('App\Models\Usuarios\UserModel'); + $user = $model_user->find(auth()->user()->id); + $clienteId = $user->cliente_id; + $datosPresupuesto = (object)array(); $datosPresupuesto->POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD(); $datosPresupuesto->paisList = model('App\Models\Configuracion\PaisModel')->getAllForMenu('id, nombre', 'nombre', true); @@ -162,7 +170,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $datosPresupuesto->acabadosSobrecubierta = $this->getAcabadosSobrecubierta(); $datosPresupuesto->tipo_libro = $this->getTipoLibro($presupuestoEntity->tipo_impresion_id ?? null); - [$datosPresupuesto->color_impresion, $datosPresupuesto->calidad_impresion] = + $datosPresupuesto->color_impresion = $this->getTipoInterior($presupuestoEntity->id ?? null); $datosPresupuesto->tapa = $this->getTapa($presupuestoEntity->tipo_impresion_id ?? null); @@ -184,6 +192,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $this->viewData['presupuestoEntity'] = $presupuestoEntity; $this->viewData['datosPresupuesto'] = $datosPresupuesto; + $this->viewData['clienteId'] = $clienteId; // Si se ha llamado a esta funcion porque se ha duplicado el presupuesto // se actualiza la bbdd para que sólo ejecute algunas funciones una vez @@ -280,7 +289,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController if ($this->request->isAJAX()) { $reqData = $this->request->getPost(); - $clienteId = $reqData['clienteId'] ?? 0; + $clienteId = $reqData['cliente'] ?? 0; if (!isset($reqData['draw']) || !isset($reqData['columns'])) { $errstr = 'No data available in response to this specific request.'; @@ -1743,7 +1752,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $color = 'color'; } } - return [$color, $calidad]; + + $tipo = "negro"; + + if($calidad == 'premium' && $color=='negro') + $tipo = "negroHq"; + else if ($calidad == 'estandar' && $color=='color') + $tipo = "color"; + else if ($calidad == 'premium' && $color=='color') + $tipo = "colorHq"; + + return $tipo; } protected function getTapa($tipo_impresion_id) diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 9e8b5c4e..5fc672eb 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -59,6 +59,7 @@ return [ 'numeroEdicion' => 'Número de edición', 'isbn' => 'ISBN', 'referenciaCliente' => 'Referencia del cliente', + 'referenciaCliente2' => 'Referencia', 'papelFormatoId' => "Tamaño", 'papelFormatoPersonalizado' => 'Tamaño personalizado', 'papelFormatoAncho' => 'Ancho', diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 7d690433..b9e48761 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -34,7 +34,6 @@ class PresupuestoModel extends \App\Models\BaseModel 0 => "t1.id", 1 => "t1.updated_at", 2 => "t7.codigo", - 3 => "t2.nombre", 4 => "t1.titulo", 5 => "t1.paginas", 6 => "t1.tirada", diff --git a/ci4/app/Models/Usuarios/UserModel.php b/ci4/app/Models/Usuarios/UserModel.php index 0de24e85..56b34f77 100755 --- a/ci4/app/Models/Usuarios/UserModel.php +++ b/ci4/app/Models/Usuarios/UserModel.php @@ -3,7 +3,7 @@ namespace App\Models\Usuarios; class UserModel extends \App\Models\BaseModel { - protected $table = "auth_user"; + protected $table = "users"; /** * Whether primary key uses auto increment. @@ -16,29 +16,21 @@ class UserModel extends \App\Models\BaseModel protected $createdField = 'created_at'; protected $updatedField = 'updated_at'; - protected $primaryKey = "id_user"; + protected $primaryKey = "id"; protected $allowedFields = [ - "group", + "username", "first_name", "last_name", - "date_birth", - "address", - "city", - "state", - "country", - "zip_code", - "mobile", - "email", - "password", - "last_ip", - "last_access", - "picture", - "language", - "blocked", - "email_confirmed", + "client_id", "status", - "token", + "status_message", + "active", + "country", + "last_active", + "created_at", + "updated_at", + "deleted_at", ]; protected $returnType = "App\Entities\Usuarios\UserEntity"; diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php index 23afd514..66de6299 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cliente/_disenioLibroItems.php @@ -16,7 +16,7 @@
-
+ @@ -82,33 +86,35 @@
No puede mezclar tiradas mayores de 30 unidades con tiradas menores de 30 unidades
-
- - -
+
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
+
@@ -177,33 +183,64 @@
Color del interior
-
-
-
- - color_impresion == 'negro' ? ' checked=""': ''); ?> > +
+ +
+ +
+
+ + color_impresion == 'negro' ? ' checked=""': ''); ?> > +
-
-
-
- - color_impresion == 'color' ? ' checked=""': ''); ?> > +
+
+ + color_impresion == 'negroHq' ? ' checked=""': ''); ?> > +
-
-
+
+
+ +
+
+ + color_impresion == 'color' ? ' checked=""': ''); ?> > +
+
+ +
+
+ + color_impresion == 'colorHq' ? ' checked=""': ''); ?> > +
+
+ +
+
@@ -214,36 +251,6 @@
-
Calidad
-
- -
-
> - -
-
-
-
calidad_impresion == 'premium' ? ' checked"': '"'); ?> > - -
-
- -
-
Papel
@@ -262,7 +269,7 @@
Opciones extra
-
+