From cdb21d3e4cc2d5d5032dfaf129d947ca3e6e909a Mon Sep 17 00:00:00 2001 From: objecttothis Date: Fri, 3 Feb 2023 18:11:00 +0400 Subject: [PATCH] Migrations fixes - Minor formating changes - Adding migration helper calls where needed - Adding locale helper calls where needed - Add use statement to tax_lib for sale_lib - pass gcaptcha enabled to the login view after checking to see if the key exists so that we don't get code errors before migrations 20170501150000 - Fixed getWhere in Appconfig model --- app/Config/Validation/OSPOSRules.php | 6 +++++- app/Controllers/Login.php | 9 ++++++++- .../Migrations/20170501150000_upgrade_to_3_1_1.php | 3 ++- .../Migrations/20170502221506_sales_tax_data.php | 13 +++++-------- .../Migrations/20180225100000_upgrade_to_3_2_0.php | 3 ++- .../Migrations/20180501100000_upgrade_to_3_2_1.php | 3 ++- .../Migrations/20181015100000_attributes.php | 3 ++- .../Migrations/20190111270000_upgrade_to_3_3_0.php | 3 ++- app/Database/Migrations/20190129212600_indiagst.php | 3 ++- .../Migrations/20190213210000_indiagst1.php | 3 ++- .../Migrations/20190220210000_indiagst2.php | 3 ++- .../20190301124900_decimal_attribute_type.php | 3 ++- .../Migrations/20190317102600_add_iso_4217.php | 3 ++- .../Migrations/20190427100000_paymenttracking.php | 3 ++- .../Migrations/20190502100000_refundtracking.php | 3 ++- app/Database/Migrations/20190612100000_dbfix.php | 3 ++- .../20190615100000_fix_attribute_datetime.php | 3 ++- .../Migrations/20191231100000_paymentdatefix.php | 3 ++- .../Migrations/20200125100000_saleschangeprice.php | 3 ++- .../Migrations/20200202000000_taxamount.php | 3 +-- .../20200819000000_modify_attr_links_constraint.php | 4 ++-- .../20201110000000_add_item_kit_number.php | 3 ++- .../20210103000000_modify_session_datatype.php | 3 ++- .../20210422000000_database_optimizations.php | 3 ++- .../Migrations/20220127000000_convert_to_ci4.php | 1 + app/Libraries/MY_Migration.php | 11 ++++++++--- app/Libraries/Tax_lib.php | 4 ++-- app/Models/Appconfig.php | 4 ++-- app/Views/login.php | 3 ++- 29 files changed, 74 insertions(+), 41 deletions(-) diff --git a/app/Config/Validation/OSPOSRules.php b/app/Config/Validation/OSPOSRules.php index 903b5b5b2..2e1d1e115 100644 --- a/app/Config/Validation/OSPOSRules.php +++ b/app/Config/Validation/OSPOSRules.php @@ -43,7 +43,11 @@ class OSPOSRules } //GCaptcha Check - if(config('OSPOS')->settings['gcaptcha_enable']) + $gcaptcha_enabled = array_key_exists('gcaptcha_enable', config('OSPOS')->settings) + ? config('OSPOS')->settings['gcaptcha_enable'] + : false; + + if($gcaptcha_enabled) { $g_recaptcha_response = $this->request->getPost('g-recaptcha-response'); diff --git a/app/Controllers/Login.php b/app/Controllers/Login.php index 8191a8c69..7aa36ffd4 100644 --- a/app/Controllers/Login.php +++ b/app/Controllers/Login.php @@ -19,10 +19,17 @@ class Login extends BaseController if(!$this->employee->is_logged_in()) { $migration = new MY_Migration(config('Migrations')); + + //The gcaptcha_enable key was not added to app settings until 3.1.1. Without this check we get an error + $gcaptcha_enabled = array_key_exists('gcaptcha_enable', config('OSPOS')->settings) + ? config('OSPOS')->settings['gcaptcha_enable'] + : false; + $data = [ 'has_errors' => false, 'is_latest' => $migration->is_latest(), - 'latest_version' => $migration->get_last_migration() + 'latest_version' => $migration->get_last_migration(), + 'gcaptcha_enabled' => $gcaptcha_enabled ]; if(strtolower($this->request->getMethod()) !== 'post') diff --git a/app/Database/Migrations/20170501150000_upgrade_to_3_1_1.php b/app/Database/Migrations/20170501150000_upgrade_to_3_1_1.php index 6a7779dcb..990c83fa4 100644 --- a/app/Database/Migrations/20170501150000_upgrade_to_3_1_1.php +++ b/app/Database/Migrations/20170501150000_upgrade_to_3_1_1.php @@ -13,6 +13,7 @@ class Migration_Upgrade_To_3_1_1 extends Migration public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.0.2_to_3.1.1.sql'); } @@ -20,4 +21,4 @@ class Migration_Upgrade_To_3_1_1 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20170502221506_sales_tax_data.php b/app/Database/Migrations/20170502221506_sales_tax_data.php index 07b8fcbcd..4f1b47027 100644 --- a/app/Database/Migrations/20170502221506_sales_tax_data.php +++ b/app/Database/Migrations/20170502221506_sales_tax_data.php @@ -8,8 +8,6 @@ use CodeIgniter\Database\Migration; use CodeIgniter\Database\ResultInterface; /** - * - * * @property tax_lib tax_lib * @property appconfig appconfig */ @@ -25,19 +23,18 @@ class Migration_Sales_Tax_Data extends Migration public function __construct() { parent::__construct(); - $this->tax_lib = new Tax_lib(); $this->appconfig = model('Appconfig'); } - +//TODO: we need to figure out why we get a server error when uncommented portions of this migration run public function up(): void { $number_of_unmigrated = $this->get_count_of_unmigrated(); - error_log("Migrating sales tax history. The number of sales that will be migrated is $number_of_unmigrated"); //TODO: String interpolation - + error_log("Migrating sales tax history. The number of sales that will be migrated is $number_of_unmigrated"); + if($number_of_unmigrated > 0) { $unmigrated_invoices = $this->get_unmigrated($number_of_unmigrated)->getResultArray(); - + foreach($unmigrated_invoices as $key => $unmigrated_invoice) { $this->upgrade_tax_history_for_sale($unmigrated_invoice['sale_id']); @@ -335,4 +332,4 @@ class Migration_Sales_Tax_Data extends Migration $sales_taxes[$row_number]['sale_tax_amount'] = $rounded_sale_tax_amount; } } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20180225100000_upgrade_to_3_2_0.php b/app/Database/Migrations/20180225100000_upgrade_to_3_2_0.php index 964cd58ba..ff88dc7a8 100644 --- a/app/Database/Migrations/20180225100000_upgrade_to_3_2_0.php +++ b/app/Database/Migrations/20180225100000_upgrade_to_3_2_0.php @@ -8,6 +8,7 @@ class Migration_Upgrade_To_3_2_0 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.1.1_to_3.2.0.sql'); } @@ -15,4 +16,4 @@ class Migration_Upgrade_To_3_2_0 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20180501100000_upgrade_to_3_2_1.php b/app/Database/Migrations/20180501100000_upgrade_to_3_2_1.php index 468eb5f12..f99c8e08b 100644 --- a/app/Database/Migrations/20180501100000_upgrade_to_3_2_1.php +++ b/app/Database/Migrations/20180501100000_upgrade_to_3_2_1.php @@ -8,6 +8,7 @@ class Migration_Upgrade_To_3_2_1 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.2.0_to_3.2.1.sql'); } @@ -15,4 +16,4 @@ class Migration_Upgrade_To_3_2_1 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20181015100000_attributes.php b/app/Database/Migrations/20181015100000_attributes.php index b27bbc2e2..f07080df3 100644 --- a/app/Database/Migrations/20181015100000_attributes.php +++ b/app/Database/Migrations/20181015100000_attributes.php @@ -8,6 +8,7 @@ class Migration_Attributes extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_attributes.sql'); } @@ -15,4 +16,4 @@ class Migration_Attributes extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190111270000_upgrade_to_3_3_0.php b/app/Database/Migrations/20190111270000_upgrade_to_3_3_0.php index c2c21c8bb..9acd17641 100644 --- a/app/Database/Migrations/20190111270000_upgrade_to_3_3_0.php +++ b/app/Database/Migrations/20190111270000_upgrade_to_3_3_0.php @@ -8,6 +8,7 @@ class Migration_Upgrade_To_3_3_0 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.2.1_to_3.3.0.sql'); } @@ -15,4 +16,4 @@ class Migration_Upgrade_To_3_3_0 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190129212600_indiagst.php b/app/Database/Migrations/20190129212600_indiagst.php index 7ee8fd9d3..8d947e2ab 100644 --- a/app/Database/Migrations/20190129212600_indiagst.php +++ b/app/Database/Migrations/20190129212600_indiagst.php @@ -14,6 +14,7 @@ class Migration_IndiaGST extends Migration } // If number of entries is greater than zero then the tax data needs to be migrated + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_indiagst.sql'); error_log('Migrating tax configuration'); @@ -145,4 +146,4 @@ class Migration_IndiaGST extends Migration $this->db->query('DROP TABLE IF EXISTS ' . $this->db->prefixTable('sales_taxes_backup')); $this->db->query('DROP TABLE IF EXISTS ' . $this->db->prefixTable('tax_code_rates_backup')); } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190213210000_indiagst1.php b/app/Database/Migrations/20190213210000_indiagst1.php index 600526904..801183c04 100644 --- a/app/Database/Migrations/20190213210000_indiagst1.php +++ b/app/Database/Migrations/20190213210000_indiagst1.php @@ -8,6 +8,7 @@ class Migration_IndiaGST1 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_indiagst1.sql'); error_log('Fix definition of Supplier.Tax Id'); @@ -19,4 +20,4 @@ class Migration_IndiaGST1 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190220210000_indiagst2.php b/app/Database/Migrations/20190220210000_indiagst2.php index cc9621496..6e50954d6 100644 --- a/app/Database/Migrations/20190220210000_indiagst2.php +++ b/app/Database/Migrations/20190220210000_indiagst2.php @@ -8,6 +8,7 @@ class Migration_IndiaGST2 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_indiagst2.sql'); } @@ -15,4 +16,4 @@ class Migration_IndiaGST2 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190301124900_decimal_attribute_type.php b/app/Database/Migrations/20190301124900_decimal_attribute_type.php index 9fe67d0e6..dca9a660e 100644 --- a/app/Database/Migrations/20190301124900_decimal_attribute_type.php +++ b/app/Database/Migrations/20190301124900_decimal_attribute_type.php @@ -8,6 +8,7 @@ class Migration_decimal_attribute_type extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_decimal_attribute_type.sql'); } @@ -15,4 +16,4 @@ class Migration_decimal_attribute_type extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190317102600_add_iso_4217.php b/app/Database/Migrations/20190317102600_add_iso_4217.php index 349429dec..bfecd1af4 100644 --- a/app/Database/Migrations/20190317102600_add_iso_4217.php +++ b/app/Database/Migrations/20190317102600_add_iso_4217.php @@ -8,6 +8,7 @@ class Migration_add_iso_4217 extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_add_iso_4217.sql'); } @@ -15,4 +16,4 @@ class Migration_add_iso_4217 extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190427100000_paymenttracking.php b/app/Database/Migrations/20190427100000_paymenttracking.php index e496179ec..01bb94d8f 100644 --- a/app/Database/Migrations/20190427100000_paymenttracking.php +++ b/app/Database/Migrations/20190427100000_paymenttracking.php @@ -8,6 +8,7 @@ class Migration_PaymentTracking extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_paymenttracking.sql'); } @@ -15,4 +16,4 @@ class Migration_PaymentTracking extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190502100000_refundtracking.php b/app/Database/Migrations/20190502100000_refundtracking.php index 42330cb4b..b18e121ef 100644 --- a/app/Database/Migrations/20190502100000_refundtracking.php +++ b/app/Database/Migrations/20190502100000_refundtracking.php @@ -8,6 +8,7 @@ class Migration_RefundTracking extends Migration { public function up(): void { + helper(['migration', 'locale']); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_refundtracking.sql'); // Add missing cash_refund amounts to payments table @@ -103,4 +104,4 @@ class Migration_RefundTracking extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190612100000_dbfix.php b/app/Database/Migrations/20190612100000_dbfix.php index 6c4539715..4fd2fccda 100644 --- a/app/Database/Migrations/20190612100000_dbfix.php +++ b/app/Database/Migrations/20190612100000_dbfix.php @@ -8,6 +8,7 @@ class Migration_DBFix extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_dbfix.sql'); } @@ -15,4 +16,4 @@ class Migration_DBFix extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20190615100000_fix_attribute_datetime.php b/app/Database/Migrations/20190615100000_fix_attribute_datetime.php index ff9641cf6..ae51f5471 100644 --- a/app/Database/Migrations/20190615100000_fix_attribute_datetime.php +++ b/app/Database/Migrations/20190615100000_fix_attribute_datetime.php @@ -8,6 +8,7 @@ class Migration_fix_attribute_datetime extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.0_fix_attribute_datetime.sql'); } @@ -15,4 +16,4 @@ class Migration_fix_attribute_datetime extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20191231100000_paymentdatefix.php b/app/Database/Migrations/20191231100000_paymentdatefix.php index 759e2610e..0aad12ce4 100644 --- a/app/Database/Migrations/20191231100000_paymentdatefix.php +++ b/app/Database/Migrations/20191231100000_paymentdatefix.php @@ -8,6 +8,7 @@ class Migration_PaymentDateFix extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.2_paymentdatefix.sql'); } @@ -15,4 +16,4 @@ class Migration_PaymentDateFix extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20200125100000_saleschangeprice.php b/app/Database/Migrations/20200125100000_saleschangeprice.php index 6a79d4061..5e5f1bbff 100644 --- a/app/Database/Migrations/20200125100000_saleschangeprice.php +++ b/app/Database/Migrations/20200125100000_saleschangeprice.php @@ -8,6 +8,7 @@ class Migration_SalesChangePrice extends Migration { public function up(): void { + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.2_saleschangeprice.sql'); } @@ -15,4 +16,4 @@ class Migration_SalesChangePrice extends Migration { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20200202000000_taxamount.php b/app/Database/Migrations/20200202000000_taxamount.php index bbc77f866..e5e735fbe 100644 --- a/app/Database/Migrations/20200202000000_taxamount.php +++ b/app/Database/Migrations/20200202000000_taxamount.php @@ -27,7 +27,6 @@ class Migration_TaxAmount extends Migration parent::__construct(); $this->appconfig = model('Appconfig'); - $this->tax_lib = new Tax_lib(); } public function up(): void @@ -314,4 +313,4 @@ class Migration_TaxAmount extends Migration $sales_taxes[$row_number]['sale_tax_amount'] = $rounded_sale_tax_amount; } } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20200819000000_modify_attr_links_constraint.php b/app/Database/Migrations/20200819000000_modify_attr_links_constraint.php index 220d10359..612f581a5 100644 --- a/app/Database/Migrations/20200819000000_modify_attr_links_constraint.php +++ b/app/Database/Migrations/20200819000000_modify_attr_links_constraint.php @@ -10,7 +10,7 @@ class Migration_modify_attr_links_constraint extends Migration { error_log('Migrating modify_attr_links_constraint'); - + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.2_modify_attr_links_constraint.sql'); error_log('Migrating modify_attr_links_constraint'); @@ -19,4 +19,4 @@ class Migration_modify_attr_links_constraint extends Migration public function down(): void { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20201110000000_add_item_kit_number.php b/app/Database/Migrations/20201110000000_add_item_kit_number.php index bee8743aa..42dad4c84 100644 --- a/app/Database/Migrations/20201110000000_add_item_kit_number.php +++ b/app/Database/Migrations/20201110000000_add_item_kit_number.php @@ -10,6 +10,7 @@ class Migration_add_item_kit_number extends Migration { error_log('Migrating add_item_kit_number'); + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.3_add_kits_item_number.sql'); error_log('Migrating add_item_kit_number'); @@ -18,4 +19,4 @@ class Migration_add_item_kit_number extends Migration public function down(): void { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20210103000000_modify_session_datatype.php b/app/Database/Migrations/20210103000000_modify_session_datatype.php index 93bb5cee0..d84fee062 100644 --- a/app/Database/Migrations/20210103000000_modify_session_datatype.php +++ b/app/Database/Migrations/20210103000000_modify_session_datatype.php @@ -10,6 +10,7 @@ class Migration_modify_session_datatype extends Migration { error_log('Migrating modify_session_datatype'); + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.3.4_modify_session_datatype.sql'); error_log('Migrating modify_session_datatype'); @@ -18,4 +19,4 @@ class Migration_modify_session_datatype extends Migration public function down(): void { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20210422000000_database_optimizations.php b/app/Database/Migrations/20210422000000_database_optimizations.php index c8bbe1725..b9478a7d7 100644 --- a/app/Database/Migrations/20210422000000_database_optimizations.php +++ b/app/Database/Migrations/20210422000000_database_optimizations.php @@ -72,6 +72,7 @@ class Migration_database_optimizations extends Migration } $this->db->transComplete(); + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.4.0_database_optimizations.sql'); error_log('Migrating database_optimizations completed'); } @@ -130,4 +131,4 @@ class Migration_database_optimizations extends Migration public function down(): void { } -} \ No newline at end of file +} diff --git a/app/Database/Migrations/20220127000000_convert_to_ci4.php b/app/Database/Migrations/20220127000000_convert_to_ci4.php index 99a293c63..89eeaaa5d 100644 --- a/app/Database/Migrations/20220127000000_convert_to_ci4.php +++ b/app/Database/Migrations/20220127000000_convert_to_ci4.php @@ -10,6 +10,7 @@ class Convert_to_ci4 extends Migration { error_log('Migrating database to CodeIgniter4 formats'); + helper('migration'); execute_script(APPPATH . 'Database/Migrations/sqlscripts/3.4.0_ci4_conversion.sql'); error_log('Migrating to CodeIgniter4 formats completed'); diff --git a/app/Libraries/MY_Migration.php b/app/Libraries/MY_Migration.php index 47fee10b8..b84cca497 100644 --- a/app/Libraries/MY_Migration.php +++ b/app/Libraries/MY_Migration.php @@ -14,9 +14,14 @@ class MY_Migration extends MigrationRunner public function get_current_version(): string { - $builder = $this->db->table('migrations'); - $builder->select('version'); - return $builder->get()->getRow()->version; + if($this->db->tableExists('migrations')) + { + $builder = $this->db->table('migrations'); + $builder->select('version'); + return $builder->get()->getRow()->version; + } + + return 0; } public function is_latest(): bool diff --git a/app/Libraries/Tax_lib.php b/app/Libraries/Tax_lib.php index dd14eacd0..1a0a82106 100644 --- a/app/Libraries/Tax_lib.php +++ b/app/Libraries/Tax_lib.php @@ -10,7 +10,7 @@ use App\Models\Tax; use App\Models\Tax_category; use App\Models\Tax_code; use App\Models\Tax_jurisdiction; - +use App\Libraries\Sale_lib; /** * Tax library @@ -498,4 +498,4 @@ class Tax_lib return '' . ''; } -} \ No newline at end of file +} diff --git a/app/Models/Appconfig.php b/app/Models/Appconfig.php index 3a0740902..2b388cc64 100644 --- a/app/Models/Appconfig.php +++ b/app/Models/Appconfig.php @@ -32,7 +32,7 @@ class Appconfig extends Model public function get_value(string $key, string $default = ''): string { $builder = $this->db->table('app_config'); - $query = $builder->getWhere('key', $key, 1); + $query = $builder->getWhere(['key' => $key], 1, 1); if($query->getNumRows() == 1) //TODO: === { @@ -141,4 +141,4 @@ class Appconfig extends Model return $last_used; } -} \ No newline at end of file +} diff --git a/app/Views/login.php b/app/Views/login.php index 391d47b2a..d28fda69d 100644 --- a/app/Views/login.php +++ b/app/Views/login.php @@ -3,6 +3,7 @@ * @var bool $has_errors * @var bool $is_latest * @var string $latest_version + * @var bool $gcaptcha_enabled */ ?> @@ -84,7 +85,7 @@ - settings['gcaptcha_enable']) + '; echo '
';