From 497e55f5930f876802f6ee8d5d66d924e6495e8e Mon Sep 17 00:00:00 2001 From: imnavajas Date: Thu, 2 May 2024 23:52:46 +0200 Subject: [PATCH] Renonmbrado de GoBaseModel a BaseModel --- ci4/app/Controllers/Settings.php | 204 -------------- ci4/app/Models/BaseModel.php | 253 +++++++++++++++++- .../Models/Clientes/ClienteContactoModel.php | 2 +- .../Clientes/ClienteDireccionesModel.php | 2 +- ci4/app/Models/Clientes/ClienteModel.php | 2 +- .../ClientePlantillaPreciosLineasModel.php | 2 +- .../Clientes/ClientePlantillaPreciosModel.php | 2 +- .../Models/Clientes/ClientePreciosModel.php | 2 +- .../Models/Clientes/ClienteUsuariosModel.php | 2 +- ci4/app/Models/Compras/ProveedorModel.php | 2 +- ci4/app/Models/Compras/ProveedorTipoModel.php | 2 +- .../Configuracion/ComunidadAutonomaModel.php | 2 +- .../ConfiguracionSistemaModel.php | 2 +- .../Models/Configuracion/FormaPagoModel.php | 2 +- .../Models/Configuracion/ImposicionModel.php | 2 +- ci4/app/Models/Configuracion/MaquinaModel.php | 2 +- .../Configuracion/MaquinasCallesModel.php | 2 +- .../Configuracion/MaquinasDefectoModel.php | 2 +- .../MaquinasPapelesImpresionModel.php | 2 +- .../MaquinasTarifasImpresionModel.php | 2 +- ci4/app/Models/Configuracion/PaisModel.php | 2 +- .../Configuracion/PapelFormatoModel.php | 2 +- .../Configuracion/PapelGenericoModel.php | 2 +- .../PapelImpresionMargenModel.php | 2 +- .../Configuracion/PapelImpresionModel.php | 2 +- .../PapelImpresionTipologiaModel.php | 2 +- .../Models/Configuracion/ProvinciaModel.php | 2 +- .../Configuracion/TipoPresupuestoModel.php | 2 +- .../Configuracion/TipologiasLibroModel.php | 2 +- ci4/app/Models/ConfirmationTokenModel.php | 17 -- ci4/app/Models/GoBaseModel.php | 252 ----------------- ci4/app/Models/Presupuestos/BuscadorModel.php | 2 +- .../Presupuestos/PresupuestoAcabadosModel.php | 2 +- .../PresupuestoDireccionesModel.php | 2 +- .../PresupuestoEncuadernacionesModel.php | 2 +- .../Presupuestos/PresupuestoEstadoModel.php | 2 +- .../Presupuestos/PresupuestoLineaModel.php | 2 +- .../PresupuestoManipuladosModel.php | 2 +- .../Models/Presupuestos/PresupuestoModel.php | 2 +- .../PresupuestoPreimpresionesModel.php | 2 +- .../PresupuestoServiciosExtraModel.php | 2 +- .../TipoPresupuestoServiciosDefectoModel.php | 2 +- ci4/app/Models/SettingsModel.php | 82 ------ .../Tarifas/TarifaAcabadoLineaModel.php | 2 +- .../TarifaEncuadernacionDimensionesModel.php | 2 +- .../TarifaEncuadernacionLineaHorasModel.php | 2 +- .../TarifaEncuadernacionLineaModel.php | 2 +- .../Tarifas/TarifaEncuadernacionModel.php | 2 +- .../TarifaEncuadernacionTiradaModel.php | 2 +- ci4/app/Models/Tarifas/TarifaEnvioModel.php | 2 +- .../Models/Tarifas/TarifaEnvioPrecioModel.php | 2 +- .../Models/Tarifas/TarifaEnvioZonaModel.php | 2 +- .../Tarifas/TarifaManipuladoLineaModel.php | 2 +- .../Models/Tarifas/TarifaManipuladoModel.php | 2 +- ci4/app/Models/Tarifas/TarifaacabadoModel.php | 2 +- ci4/app/Models/Tarifas/TarifaextraModel.php | 2 +- .../Tarifas/TarifapreimpresionModel.php | 2 +- ci4/app/Models/Usuarios/UserGroupModel.php | 2 +- ci4/app/Models/Usuarios/UserModel.php | 2 +- 59 files changed, 303 insertions(+), 613 deletions(-) delete mode 100755 ci4/app/Controllers/Settings.php mode change 100755 => 100644 ci4/app/Models/BaseModel.php delete mode 100755 ci4/app/Models/ConfirmationTokenModel.php delete mode 100755 ci4/app/Models/GoBaseModel.php delete mode 100755 ci4/app/Models/SettingsModel.php diff --git a/ci4/app/Controllers/Settings.php b/ci4/app/Controllers/Settings.php deleted file mode 100755 index 506eaca0..00000000 --- a/ci4/app/Controllers/Settings.php +++ /dev/null @@ -1,204 +0,0 @@ -settings_model = new SettingsModel(); - $this->countries_model = new CountriesModel(); - $this->theme_model = new ThemeModel(); - $this->currency_model = new CurrencyModel(); - $this->timezone_model = new TimezoneModel(); - $this->group_model = new UserGroupModel(); - $this->template_model = new TemplateModel(); - $this->user_model = new UserModel(); - $this->crontab_model = new CronTabModel(); - $this->integration = new Integration(); - } - - public function index() - { - helper('form'); - - $data['title'] = [ - 'module' => lang("App.settings_title"), - 'page' => lang("App.settings_subtitle"), - 'icon' => 'fas fa-sliders-h' - ]; - - $data['breadcrumb'] = [ - ['title' => lang("App.menu_settings"), 'route' => site_url('settings'), 'active' => true] - ]; - - $data['obj'] = $this->settings_model->first(); - $data['countries'] = $this->countries_model->select('id_country,code,name')->where('data_lang',session()->get('lang')??'en')->findAll(); - $data['theme'] = $this->theme_model->select('id_theme,type,name')->findAll(); - $data['currency'] = $this->currency_model->select('id_currency,code,name')->findAll(); - $data['timezone'] = $this->timezone_model->select('id_timezone,timezone,description')->findAll(); - $data['group'] = $this->group_model->select('token,title')->findAll(); - $db = db_connect('default'); - $data['tables'] = $db->listTables(); - $data['user'] = $this->user_model->select('token,first_name,email')->where('status',true)->findAll(); - - echo view(getenv('theme.path').'form/settings/index', $data); - - } - - public function store() - { - //Demo Mode - if(env('demo.mode')??false){ - session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]); - return redirect()->to('/settings'); - } - - helper('form'); - $session = session(); - if($listPost = $this->request->getPost()){ - $listPost['id_settings'] = 1; - $listPost['captcha_register'] = isset($listPost['captcha_register']) && $listPost['captcha_register'] == 'on'; - $listPost['captcha_login'] = isset($listPost['captcha_login']) && $listPost['captcha_login'] == 'on'; - $listPost['captcha_recovery'] = isset($listPost['captcha_recovery']) && $listPost['captcha_recovery'] == 'on'; - $listPost['registration'] = isset($listPost['registration']) && $listPost['registration'] == 'on'; - $listPost['terms_conditions'] = isset($listPost['terms_conditions']) && $listPost['terms_conditions'] == 'on'; - $listPost['email_confirmation'] = isset($listPost['email_confirmation']) && $listPost['email_confirmation'] == 'on'; - $listPost['send_email_register'] = isset($listPost['send_email_register']) && $listPost['send_email_register'] == 'on'; - $listPost['send_notification_register'] = isset($listPost['send_notification_register']) && $listPost['send_notification_register'] == 'on'; - $listPost['send_email_welcome'] = isset($listPost['send_email_welcome']) && $listPost['send_email_welcome'] == 'on'; - $listPost['remember_me'] = isset($listPost['remember_me']) && $listPost['remember_me'] == 'on'; - $listPost['forgot_password'] = isset($listPost['forgot_password']) && $listPost['forgot_password'] == 'on'; - $listPost['two_factor_auth'] = isset($listPost['two_factor_auth']) && $listPost['two_factor_auth'] == 'on'; - $listPost['throttle_auth'] = isset($listPost['throttle_auth']) && $listPost['throttle_auth'] == 'on'; - $listPost['enable_api'] = isset($listPost['enable_api']) && $listPost['enable_api'] == 'on'; - $listPost['block_external_api'] = isset($listPost['block_external_api']) && $listPost['block_external_api'] == 'on'; - $listPost['remove_log'] = isset($listPost['remove_log']) && $listPost['remove_log'] == 'on'; - $listPost['backup_notification_email'] = isset($listPost['backup_notification_email']) && $listPost['backup_notification_email'] == 'on'; - $listPost['backup_automatic'] = isset($listPost['backup_automatic']) && $listPost['backup_automatic'] == 'on'; - $listPost['backup_table'] = implode(",",$listPost['backup_table']??[]); - $this->settings_model->save($listPost); - $settings = $this->settings_model->first()??[]; - $session->set('settings', $settings); - $session->set('lang', $settings['default_language'] ?? 'es'); - $session->setFlashdata('sweet', ['success',lang("App.settings_alert_add")]); - return redirect()->to('/settings'); - } else{ - $session->setFlashdata('sweet', ['error',lang("App.settings_alert_error")]); - return redirect()->to('/settings'); - } - } - - public function template() - { - helper('form'); - - $data['title'] = [ - 'module' => lang("App.template_title"), - 'page' => lang("App.template_subtitle"), - 'icon' => 'fas fa-mail-bulk' - ]; - - $data['breadcrumb'] = [ - ['title' => lang("App.menu_dashboard"), 'route' => "/home", 'active' => false], - ['title' => lang("App.menu_settings"), 'route' => "/settings", 'active' => false], - ['title' => lang("App.template_title"), 'route' => "", 'active' => true] - ]; - - $data['btn_return'] = [ - 'title' => lang("App.global_come_back"), - 'route' => '/home', - 'class' => 'btn btn-dark mr-1', - 'icon' => 'fas fa-angle-left' - ]; - - $data['btn_submit'] = [ - 'title' => lang("App.global_save"), - 'route' => '', - 'class' => 'btn btn-primary mr-1', - 'icon' => 'fas fa-save' - ]; - - $data['template'] = $this->template_model->findAll(); - - echo view(getenv('theme.path').'main/header'); - echo view(getenv('theme.path').'form/settings/template', $data); - echo view(getenv('theme.path').'main/footer'); - } - - public function template_store() - { - //Demo Mode - if(env('demo.mode')??false){ - session()->setFlashdata('sweet', ['warning',lang("App.general_demo_mode")]); - return redirect()->to('/settings/template'); - } - - $session = session(); - helper('form'); - - if($field = $this->request->getPost()){ - $ids = []; - $template = []; - unset($field['files']); - foreach ($field as $key=>$value){ - $id = explode('_',$key); - array_push($ids,$id[2]); - } - foreach (array_unique($ids) as $item){ - $template[$item] = []; - foreach ($field as $key=>$value){ - $id = explode('_',$key); - if($id[2] == $item){ - if(empty($template[$item])){ - $template[$item] = array_merge( $template[$item],['id_template' => intval($id[2])]); - $template[$item] = array_merge( $template[$item],['subject' => ""]); - $template[$item] = array_merge( $template[$item],['body' => ""]); - } - switch($id[1]) - { - case 'email'; - switch($id[0]) - { - case 'title'; - $template[$item] = array_merge( $template[$item],['subject' => $value]); - break; - default; - $template[$item] = array_merge( $template[$item],[$id[0] => $value]); - break; - } - break; - } - } - } - } - $this->template_model->updateBatch($template,'id_template'); - $session->setFlashdata('sweet', ['success',lang("App.template_alert_add")]); - return redirect()->to('/settings/template'); - } else{ - $session->setFlashdata('sweet', ['error',lang("App.template_alert_error")]); - return redirect()->to('/settings/template'); - } - } -} diff --git a/ci4/app/Models/BaseModel.php b/ci4/app/Models/BaseModel.php old mode 100755 new mode 100644 index 0a63d61f..1e82d46c --- a/ci4/app/Models/BaseModel.php +++ b/ci4/app/Models/BaseModel.php @@ -1,16 +1,261 @@ table; + } + + /** + * Returns the model's DB table name (Alias of getDbTableName() ) + * + * @return string + */ + public function getTableName() { + return $this->table; + } + + /** + * Returns the model's name of primary key in the database + * + * @return string + */ + public function getPrimaryKeyName() { + return $this->primaryKey; + } + + /** + * Returns the number of rows in the database table + * + * @return int + */ + public function getCount() { + $name = $this->table; + $count = $this->db->table($name)->countAll(); + return $count; + } + + /** + * @param string $columns2select + * @param string $resultSorting + * @param bool $onlyActiveOnes + * @param bool $alsoDeletedOnes + * @param array $additionalConditions + * @return array + */ + public function getAllForMenu($columns2select='*', $resultSorting='id', bool $onlyActiveOnes=false, bool $alsoDeletedOnes=true, $additionalConditions = []) { + + $theseConditionsAreMet = []; + + if ($onlyActiveOnes) { + if ( in_array('enabled', $this->allowedFields) ) { + $theseConditionsAreMet['enabled'] = true; + } elseif (in_array('active', $this->allowedFields)) { + $theseConditionsAreMet['active'] = true; + } + } + + // This check is deprecated and left here only for backward compatibility and this method should be overridden in extending classes so as to check if the bound entity class has these attributes + if (!$alsoDeletedOnes) { + if (in_array('deleted_at', $this->allowedFields)) { + $theseConditionsAreMet['deleted_at'] = null; + } + if (in_array('deleted', $this->allowedFields) ) { + $theseConditionsAreMet['deleted'] = false; + } + if (in_array('date_time_deleted', $this->allowedFields)) { + $theseConditionsAreMet['date_time_deleted'] = null; + } + } + + if (!empty($additionalConditions)) { + $theseConditionsAreMet = array_merge($theseConditionsAreMet, $additionalConditions); + } + $queryBuilder = $this->db->table($this->table); + $queryBuilder->select($columns2select); + if (!empty($theseConditionsAreMet)) { + $queryBuilder->where($theseConditionsAreMet); + } + $queryBuilder->orderBy($resultSorting); + $result = $queryBuilder->get()->getResult(); + + return $result; + } + + /** + * + * @param mixed $columns2select either array or string + * @param mixed $sortResultsBy either string or array + * @param bool $onlyActiveOnes + * @param string $select1str e.g. 'Please select one...' + * @param bool $alsoDeletedOnes + * @param array $additionalConditions + * @return array for use in dropdown menus + */ + public function getAllForCiMenu( $columns2select = ['id', 'designation'], $sortResultsBy = 'id', bool $onlyActiveOnes=false, $selectionRequestLabel = 'Please select one...', bool $alsoDeletedOnes = true, $additionalConditions = []) { + + $ciDropDownOptions = []; + + if (is_array($columns2select) && count($columns2select) >= 2) { + + $key = $columns2select[0]; + $val = $columns2select[1]; + + $cols2selectStr = implode(',', $columns2select); + + $valInd = strpos($val, ' AS '); + if ($valInd !== false) { + $val = substr($val, $valInd+4); + } + + } elseif (is_string($columns2select) && strpos($columns2select,',')!==false) { + + $cols2selectStr = $columns2select; + + $arr = explode(",", $columns2select, 2); + $key = trim($arr[0]); + $val = trim($arr[1]); + + } else { + return ['error'=>'Invalid argument for columns/fields to select']; + } + + $resultList = $this->getAllForMenu($cols2selectStr, $sortResultsBy, $onlyActiveOnes, $alsoDeletedOnes, $additionalConditions); + + if ($resultList != false) { + + if (!empty($selectionRequestLabel)) { + $ciDropDownOptions[''] = $selectionRequestLabel; + } + + foreach ($resultList as $res) { + + if (isset($res->$key) && isset($res->$val)) { + $ciDropDownOptions[$res->$key] = $res->$val; + } + } + } + + return $ciDropDownOptions; + } + + /** + * @param array|string[] $columns2select + * @param null $resultSorting + * @param bool|bool $onlyActiveOnes + * @param null $searchStr + * @return array + */ + public function getSelect2MenuItems(array $columns2select = ['id', 'designation'], $resultSorting=null, bool $onlyActiveOnes=true, $searchStr = null, $isDeleteField=false) { + + $theseConditionsAreMet = []; + + $id = $columns2select[0].' AS id'; + $text = $columns2select[1].' AS text'; + + if (empty($resultSorting)) { + $resultSorting = $this->getPrimaryKeyName(); + } + + if ($onlyActiveOnes) { + if ( in_array('enabled', $this->allowedFields) ) { + $theseConditionsAreMet['enabled'] = true; + } elseif (in_array('active', $this->allowedFields)) { + $theseConditionsAreMet['active'] = true; + } + } + //JJO + if($isDeleteField) + $theseConditionsAreMet['is_deleted'] = 0; + + $queryBuilder = $this->db->table($this->table); + $queryBuilder->select([$id, $text]); + $queryBuilder->where($theseConditionsAreMet); + if (!empty($searchStr)) { + $queryBuilder->groupStart() + ->like($columns2select[0], $searchStr) + ->orLike($columns2select[1], $searchStr) + ->groupEnd(); + } + $queryBuilder->orderBy($resultSorting); + $result = $queryBuilder->get()->getResult(); + + return $result; + } + + /** + * Custom method allowing you to add a form validation rule to the model on-the-fly + * @param string $fieldName + * @param string $rule + * @param string|null $msg + */ + public function addValidationRule(string $fieldName, string $rule, string $msg = null ) { + if (empty(trim($fieldName)) ||empty(trim($fieldName))) { + return; + } + if (!isset($this->validationRules[$fieldName]) || empty($this->validationRules[$fieldName])) { + $this->validationRules[$fieldName] = substr($rule, 0, 1) == '|' ? substr($rule, 1) : trim($rule); + } else if (isset($this->validationRules[$fieldName]['rules'])) { + $this->validationRules[$fieldName]['rules'] .= substr($rule, 0, 1) == '|' ? trim($rule) : '|' . trim($rule); + } else { + $this->validationRules[$fieldName] .= $rule; + } + if (isset($msg) && !empty(trim($msg))) { + $ruleKey = strtok($rule, '['); + if ($ruleKey === false) { + return; + } + $item = [$ruleKey => "'".$msg."'"]; + if (!isset($this->validationMessages[$fieldName]) || empty(trim($this->validationMessages[$fieldName]))) { + $this->validationMessages[$fieldName] = $item; + } else { + $this->validationMessages[$fieldName][$ruleKey] = "'".$msg."'"; + } + } + } + +} diff --git a/ci4/app/Models/Clientes/ClienteContactoModel.php b/ci4/app/Models/Clientes/ClienteContactoModel.php index 5f4c6f68..5dba9b92 100755 --- a/ci4/app/Models/Clientes/ClienteContactoModel.php +++ b/ci4/app/Models/Clientes/ClienteContactoModel.php @@ -2,7 +2,7 @@ namespace App\Models\Clientes; -class ClienteContactoModel extends \App\Models\GoBaseModel +class ClienteContactoModel extends \App\Models\BaseModel { protected $table = "cliente_contactos"; diff --git a/ci4/app/Models/Clientes/ClienteDireccionesModel.php b/ci4/app/Models/Clientes/ClienteDireccionesModel.php index 3b75ba4c..8f5e3b97 100755 --- a/ci4/app/Models/Clientes/ClienteDireccionesModel.php +++ b/ci4/app/Models/Clientes/ClienteDireccionesModel.php @@ -2,7 +2,7 @@ namespace App\Models\Clientes; -class ClienteDireccionesModel extends \App\Models\GoBaseModel +class ClienteDireccionesModel extends \App\Models\BaseModel { protected $table = "cliente_direcciones"; diff --git a/ci4/app/Models/Clientes/ClienteModel.php b/ci4/app/Models/Clientes/ClienteModel.php index 5b6508b8..518bca81 100755 --- a/ci4/app/Models/Clientes/ClienteModel.php +++ b/ci4/app/Models/Clientes/ClienteModel.php @@ -1,7 +1,7 @@ table; - } - - /** - * Returns the model's DB table name (Alias of getDbTableName() ) - * - * @return string - */ - public function getTableName() { - return $this->table; - } - - /** - * Returns the model's name of primary key in the database - * - * @return string - */ - public function getPrimaryKeyName() { - return $this->primaryKey; - } - - /** - * Returns the number of rows in the database table - * - * @return int - */ - public function getCount() { - $name = $this->table; - $count = $this->db->table($name)->countAll(); - return $count; - } - - /** - * @param string $columns2select - * @param string $resultSorting - * @param bool $onlyActiveOnes - * @param bool $alsoDeletedOnes - * @param array $additionalConditions - * @return array - */ - public function getAllForMenu($columns2select='*', $resultSorting='id', bool $onlyActiveOnes=false, bool $alsoDeletedOnes=true, $additionalConditions = []) { - - $theseConditionsAreMet = []; - - if ($onlyActiveOnes) { - if ( in_array('enabled', $this->allowedFields) ) { - $theseConditionsAreMet['enabled'] = true; - } elseif (in_array('active', $this->allowedFields)) { - $theseConditionsAreMet['active'] = true; - } - } - - // This check is deprecated and left here only for backward compatibility and this method should be overridden in extending classes so as to check if the bound entity class has these attributes - if (!$alsoDeletedOnes) { - if (in_array('deleted_at', $this->allowedFields)) { - $theseConditionsAreMet['deleted_at'] = null; - } - if (in_array('deleted', $this->allowedFields) ) { - $theseConditionsAreMet['deleted'] = false; - } - if (in_array('date_time_deleted', $this->allowedFields)) { - $theseConditionsAreMet['date_time_deleted'] = null; - } - } - - if (!empty($additionalConditions)) { - $theseConditionsAreMet = array_merge($theseConditionsAreMet, $additionalConditions); - } - $queryBuilder = $this->db->table($this->table); - $queryBuilder->select($columns2select); - if (!empty($theseConditionsAreMet)) { - $queryBuilder->where($theseConditionsAreMet); - } - $queryBuilder->orderBy($resultSorting); - $result = $queryBuilder->get()->getResult(); - - return $result; - } - - /** - * - * @param mixed $columns2select either array or string - * @param mixed $sortResultsBy either string or array - * @param bool $onlyActiveOnes - * @param string $select1str e.g. 'Please select one...' - * @param bool $alsoDeletedOnes - * @param array $additionalConditions - * @return array for use in dropdown menus - */ - public function getAllForCiMenu( $columns2select = ['id', 'designation'], $sortResultsBy = 'id', bool $onlyActiveOnes=false, $selectionRequestLabel = 'Please select one...', bool $alsoDeletedOnes = true, $additionalConditions = []) { - - $ciDropDownOptions = []; - - if (is_array($columns2select) && count($columns2select) >= 2) { - - $key = $columns2select[0]; - $val = $columns2select[1]; - - $cols2selectStr = implode(',', $columns2select); - - $valInd = strpos($val, ' AS '); - if ($valInd !== false) { - $val = substr($val, $valInd+4); - } - - } elseif (is_string($columns2select) && strpos($columns2select,',')!==false) { - - $cols2selectStr = $columns2select; - - $arr = explode(",", $columns2select, 2); - $key = trim($arr[0]); - $val = trim($arr[1]); - - } else { - return ['error'=>'Invalid argument for columns/fields to select']; - } - - $resultList = $this->getAllForMenu($cols2selectStr, $sortResultsBy, $onlyActiveOnes, $alsoDeletedOnes, $additionalConditions); - - if ($resultList != false) { - - if (!empty($selectionRequestLabel)) { - $ciDropDownOptions[''] = $selectionRequestLabel; - } - - foreach ($resultList as $res) { - - if (isset($res->$key) && isset($res->$val)) { - $ciDropDownOptions[$res->$key] = $res->$val; - } - } - } - - return $ciDropDownOptions; - } - - /** - * @param array|string[] $columns2select - * @param null $resultSorting - * @param bool|bool $onlyActiveOnes - * @param null $searchStr - * @return array - */ - public function getSelect2MenuItems(array $columns2select = ['id', 'designation'], $resultSorting=null, bool $onlyActiveOnes=true, $searchStr = null, $isDeleteField=false) { - - $theseConditionsAreMet = []; - - $id = $columns2select[0].' AS id'; - $text = $columns2select[1].' AS text'; - - if (empty($resultSorting)) { - $resultSorting = $this->getPrimaryKeyName(); - } - - if ($onlyActiveOnes) { - if ( in_array('enabled', $this->allowedFields) ) { - $theseConditionsAreMet['enabled'] = true; - } elseif (in_array('active', $this->allowedFields)) { - $theseConditionsAreMet['active'] = true; - } - } - //JJO - if($isDeleteField) - $theseConditionsAreMet['is_deleted'] = 0; - - $queryBuilder = $this->db->table($this->table); - $queryBuilder->select([$id, $text]); - $queryBuilder->where($theseConditionsAreMet); - if (!empty($searchStr)) { - $queryBuilder->groupStart() - ->like($columns2select[0], $searchStr) - ->orLike($columns2select[1], $searchStr) - ->groupEnd(); - } - $queryBuilder->orderBy($resultSorting); - $result = $queryBuilder->get()->getResult(); - - return $result; - } - - /** - * Custom method allowing you to add a form validation rule to the model on-the-fly - * @param string $fieldName - * @param string $rule - * @param string|null $msg - */ - public function addValidationRule(string $fieldName, string $rule, string $msg = null ) { - if (empty(trim($fieldName)) ||empty(trim($fieldName))) { - return; - } - if (!isset($this->validationRules[$fieldName]) || empty($this->validationRules[$fieldName])) { - $this->validationRules[$fieldName] = substr($rule, 0, 1) == '|' ? substr($rule, 1) : trim($rule); - } else if (isset($this->validationRules[$fieldName]['rules'])) { - $this->validationRules[$fieldName]['rules'] .= substr($rule, 0, 1) == '|' ? trim($rule) : '|' . trim($rule); - } else { - $this->validationRules[$fieldName] .= $rule; - } - if (isset($msg) && !empty(trim($msg))) { - $ruleKey = strtok($rule, '['); - if ($ruleKey === false) { - return; - } - $item = [$ruleKey => "'".$msg."'"]; - if (!isset($this->validationMessages[$fieldName]) || empty(trim($this->validationMessages[$fieldName]))) { - $this->validationMessages[$fieldName] = $item; - } else { - $this->validationMessages[$fieldName][$ruleKey] = "'".$msg."'"; - } - } - } - -} diff --git a/ci4/app/Models/Presupuestos/BuscadorModel.php b/ci4/app/Models/Presupuestos/BuscadorModel.php index 4fb9599e..086a571d 100644 --- a/ci4/app/Models/Presupuestos/BuscadorModel.php +++ b/ci4/app/Models/Presupuestos/BuscadorModel.php @@ -2,7 +2,7 @@ namespace App\Models\Presupuestos; -class BuscadorModel extends \App\Models\GoBaseModel +class BuscadorModel extends \App\Models\BaseModel { protected $table = "presupuestos"; diff --git a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php index b3e5b954..37c937ff 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php @@ -2,7 +2,7 @@ namespace App\Models\Presupuestos; -class PresupuestoAcabadosModel extends \App\Models\GoBaseModel +class PresupuestoAcabadosModel extends \App\Models\BaseModel { protected $table = "presupuesto_acabados"; diff --git a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php index 2788f78f..f89ddfd3 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php @@ -2,7 +2,7 @@ namespace App\Models\Presupuestos; -class PresupuestoDireccionesModel extends \App\Models\GoBaseModel +class PresupuestoDireccionesModel extends \App\Models\BaseModel { protected $table = "presupuesto_direcciones"; diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php index ac18482a..d183932b 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php @@ -2,7 +2,7 @@ namespace App\Models\Presupuestos; -class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel +class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel { protected $table = "presupuesto_encuadernaciones"; diff --git a/ci4/app/Models/Presupuestos/PresupuestoEstadoModel.php b/ci4/app/Models/Presupuestos/PresupuestoEstadoModel.php index 59f330f1..986c42d4 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoEstadoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEstadoModel.php @@ -1,7 +1,7 @@