From eb692a121e85bc4c140eb0ff03854ad6fce4686f Mon Sep 17 00:00:00 2001 From: amazuecos Date: Wed, 22 Jan 2025 17:43:16 +0100 Subject: [PATCH] add duplicate method --- .../Controllers/Configuracion/Maquinas.php | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/ci4/app/Controllers/Configuracion/Maquinas.php b/ci4/app/Controllers/Configuracion/Maquinas.php index 406f44f8..bb7fb49b 100755 --- a/ci4/app/Controllers/Configuracion/Maquinas.php +++ b/ci4/app/Controllers/Configuracion/Maquinas.php @@ -9,6 +9,8 @@ use App\Models\Collection; use App\Entities\Configuracion\Maquina; use App\Models\Configuracion\MaquinaModel; +use App\Services\MaquinaService; +use CodeIgniter\Validation\Validation; class Maquinas extends \App\Controllers\BaseResourceController { @@ -26,18 +28,19 @@ class Maquinas extends \App\Controllers\BaseResourceController protected static $viewPath = 'themes/vuexy/form/configuracion/maquinas/'; protected $indexRoute = 'maquinaList'; - + protected MaquinaService $maquinaService; + protected Validation $validation; public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) { $this->viewData['pageTitle'] = lang('Maquinas.moduleTitle'); $this->viewData['usingSweetAlert'] = true; - + $this->maquinaService = service('maquina'); + $this->validation = service('validation'); // Se indica que este controlador trabaja con soft_delete $this->soft_delete = true; // Se indica el flag para los ficheros borrados $this->delete_flag = 1; - $this->viewData = ['usingServerSideDataTable' => true]; // JJO // Breadcrumbs (IMN) @@ -385,6 +388,19 @@ class Maquinas extends \App\Controllers\BaseResourceController ]; return $tipoOptions; } + public function duplicate(int $maquina_id) + { + $bodyData = $this->request->getPost(); + $validated = $this->validation->run($bodyData,'maquina_duplicate'); + if($validated){ + $this->maquinaService->setMaquina($maquina_id); + $duplicated = $this->maquinaService->duplicate($bodyData['name']); + return $this->response->setJSON(["data" => $duplicated]); + }else{ + return $this->response->setJSON(["errors" => $this->validation->getErrors()])->setStatusCode(400); + } + + } }