[0004904] Customer Credit Note: fixed invalid inventory GL postings for service items.
[fa-stable.git] / sql / alter2.4.php
index 0dfdbface1845fa5906fc6a73153289d2285e318..bd364e2e20c604c6ffa4738d971fe60ebf8ec13c 100644 (file)
@@ -16,10 +16,11 @@ class fa2_4 extends fa_patch {
        var $description;
        var $sql = 'alter2.4.sql';
        var $preconf = true;
+       var     $max_upgrade_time = 900;        // table recoding is really long process
        
-       function fa2_4() {
-               parent::fa_patch();
-               $this->description = _('Upgrade from version 2.3 to 2.4RC1');
+       function __construct() {
+               parent::__construct();
+               $this->description = _('Upgrade from version 2.3 to 2.4');
        }
        
     /*
@@ -70,6 +71,21 @@ class fa2_4 extends fa_patch {
                if (get_company_pref('suppress_tax_rates') === null) { // available from 2.3.14, can be not defined on pre-2.4 installations
                        set_company_pref('suppress_tax_rates', 'setup.company', 'tinyint', 1, '0');
                }
+               if (get_company_pref('company_logo_report') === null) { // available from 2.4.2, during updates
+                       set_company_pref('company_logo_report', 'setup.company', 'tinyint', 1, '0');
+               }
+               if (get_company_pref('print_dialog_direct') === null) { // available from 2.4.5, during updates
+                       set_company_pref('print_dialog_direct', 'setup.company', 'tinyint', 1, '0');
+               }
+               if (get_company_pref('barcodes_on_stock') === null) { // available from 2.4.3, during updates
+                       set_company_pref('barcodes_on_stock', 'setup.company', 'tinyint', 1, '0');
+               }
+               if (get_company_pref('ref_no_auto_increase') === null) { // available from 2.4.4, during updates
+                       set_company_pref('ref_no_auto_increase', 'setup.company', 'tinyint', 1, '0');
+               }
+               if (get_company_pref('shortname_name_in_list') === null) { // available from 2.4.2, during updates
+                       set_company_pref('shortname_name_in_list', 'setup.company', 'tinyint', 1, '0');
+               }
 
                $result = $this->update_workorders()  && $this->update_grn_rates() && $this->switch_database_to_utf($pref);
 
@@ -101,6 +117,14 @@ class fa2_4 extends fa_patch {
                $pref = $this->companies[$company]['tbpref'];
                db_query("DROP TABLE IF EXISTS " . $pref . 'wo_costing');
                db_query("DROP TABLE IF EXISTS " . $pref . 'stock_fa_class');
+               db_query("DELETE FROM ".$pref."sys_prefs
+                       WHERE `name` in (
+                               'gl_closing_date', 'deferred_income_act', 'no_zero_lines_amount', 'accounts_alpha',
+                               'tax_algorithm', 'grn_clearing_act', 'default_receival_required',
+                               'default_quote_valid_days',     'no_zero_lines_amount', 'show_po_item_codes', 'accounts_alpha',
+                               'loc_notification', 'print_invoice_no', 'allow_negative_prices', 'print_item_images_on_quote',
+                               'bcc_email', 'alternative_tax_include_on_docs', 'suppress_tax_rates', 'company_logo_report',
+                               'barcodes_on_stock', print_dialog_direct', 'ref_no_auto_increase')");
        }
 
        function update_workorders()
@@ -108,7 +132,7 @@ class fa2_4 extends fa_patch {
                global $db;
 
                $sql = "SELECT DISTINCT type, type_no, tran_date, person_id FROM ".TB_PREF."gl_trans WHERE `type`=".ST_WORKORDER
-               ." AND person_type_id=1";
+                       ." AND person_type_id=1";
                $res = db_query($sql);
                if (!$res)
                        return $this->log_error(sprintf(_("Cannot update work orders costs:\n%s"), db_error_msg($db)));