request->getJSON(); $tarifas = array_column($postData->datos, 'tarifa_id'); if(count($tarifas)>0){ $this->model->deleteServiciosNotInArray($requestedId, $tarifas); } else{ $this->model->deleteAllServicios($requestedId); } if(count($tarifas)>0){ $this->model->updateTarifas($requestedId, $postData->datos); } $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); $data = [ $csrfTokenName => $newTokenHash ]; return $this->respond($data); } public function getServicioSolapas(){ if($this->request->isAJAX()){ $servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('servicio_solapas')->value; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); $data = [ 'service' => $servicio, $csrfTokenName => $newTokenHash ]; return $this->respond($data); } else{ return $this->failUnauthorized('Invalid request', 403); } } public function update($requestedId = null) { if ($requestedId == null) : return; endif; $postData = $this->request->getPost(); $tarifas = $postData['datos'] ?? []; $tirada = $postData['tirada'] ?? 0; $POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value; $result = $this->getServiciosManipulado($tarifas, $tirada, $POD); $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); $data = [ 'lineas' => $result, $csrfTokenName => $newTokenHash ]; return $this->respond($data); } public function getServiciosManipulado($datos_tarifas, $tirada, $POD) { $result = []; $model = model('App\Models\Presupuestos\PresupuestoManipuladosModel'); if (count($datos_tarifas) > 0) { foreach ($datos_tarifas as $tarifa) { $tarifa_id = 0; if(is_array($tarifa)){ //check if $tarifa['tarifa_manipulado_id'] exists if(array_key_exists('tarifa_manipulado_id', $tarifa)){ $tarifa_id = $tarifa['tarifa_manipulado_id']; } else if(array_key_exists('tarifa_id', $tarifa)){ $tarifa_id = $tarifa['tarifa_id']; } } else{ $tarifa_id = $tarifa; } $values = $model->getPrecioTarifa($tarifa_id, $tirada, $POD); $values[0]->cubierta = $tarifa['cubierta'] ?? 0; $values[0]->sobrecubierta = $tarifa['sobrecubierta'] ?? 0; array_push($result, $values[0]); } } return $result; } public function datatable() { if ($this->request->isAJAX()) { $reqData = $this->request->getPost(); $tarifa_manipulado_id = $reqData['tarifa_manipulado_id'] ?? 0; $tirada = $reqData['tirada'] ?? 0; $POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value; $tipo = $reqData['tipo'] ?? null; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); if(is_null($tipo)){ $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); } else{ $solapas = $reqData['solapas'] ?? -1; $tipo_impresion_id = $reqData['tipo_impresion_id'] ?? 4; $values = $this->model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $POD); } $data = [ 'values' => $values, $csrfTokenName => $newTokenHash ]; return $this->respond($data); } else { return $this->failUnauthorized('Invalid request', 403); } } public function getRowValues() { if ($this->request->isAJAX()) { $reqData = $this->request->getPost(); $tarifa_manipulado_id = $reqData['tarifa_manipulado_id'] ?? 0; $tirada = $reqData['tirada'] ?? 0; $POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); $data = [ 'values' => $values, $csrfTokenName => $newTokenHash ]; return $this->respond($data); } else { return $this->failUnauthorized('Invalid request', 403); } } }