Additional dev related exclusions in gitignore, small cleanups in old upgrade classes.
[fa-stable.git] / sql / alter2.4rc1.php
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12
13 class fa2_4rc1 extends fa_patch {
14         var $previous = '2.4.0';                // applicable database version
15         var $version = '2.4.1'; // version installed
16         var $description;
17         var $sql = ''; // 'alter2.4rc1.sql';
18         var     $max_upgrade_time = 900;        // table recoding is really long process
19
20         function __construct() {
21                 parent::__construct();
22                 $this->description = _('Upgrade from version 2.4beta to 2.4RC1');
23         }
24
25     /*
26             Shows parameters to be selected before upgrade (if any)
27         */
28     function show_params($comp)
29         {
30           display_note(_('Set optimal parameters and start upgrade:'));
31           start_table(TABLESTYLE);
32           start_row();
33                 table_section_title(_("Fixed Assets Defaults"));
34                 gl_all_accounts_list_row(_("Loss On Asset Disposal Account:"), 'default_loss_on_asset_disposal_act', '5660',
35                         true, false, _("None (will be set later)"));
36           end_row();
37           end_table();
38           br();
39     }
40
41         /*
42             Fetches selected upgrade parameters.
43     */
44         function prepare()
45     {
46                 $this->fixed_disposal_act = get_post('default_loss_on_asset_disposal_act');
47                 return true;
48         }
49         //
50         //      Install procedure. All additional changes 
51         //      not included in sql file should go here.
52         //
53         function install($company, $force=false)
54         {
55                 // key 
56                 $sec_updates = array(
57                         'SA_SETUPCOMPANY' => array(
58                                 'SA_ASSET', 'SA_ASSETCATEGORY', 'SA_ASSETCLASS',
59                                 'SA_ASSETSTRANSVIEW','SA_ASSETTRANSFER', 'SA_ASSETDISPOSAL',
60                                 'SA_DEPRECIATION', 'SA_ASSETSANALYTIC'),
61                 );
62                 $result = $this->update_security_roles($sec_updates);
63
64                 $pref = $this->companies[$company]['tbpref'];
65
66                 if ($result)
67                         if (!db_query("UPDATE ".$pref."sys_prefs SET value=".db_escape($this->fixed_disposal_act)
68                                         ." WHERE name='default_loss_on_asset_disposal_act'")
69                         )
70                                 return $this->log_error(sprintf(_("Cannot update sys prefs setting:\n%s"), db_error_msg($db)));
71
72                 return $result;
73         }
74
75         //
76         // optional procedure done after upgrade fail, before backup is restored
77         //
78         function post_fail($company)
79         {
80                 $pref = $this->companies[$company]['tbpref'];
81                 db_query("DROP TABLE IF EXISTS " . $pref . 'stock_fa_class');
82
83                 db_query("DELETE FROM ".$pref."sys_prefs "
84                         ."WHERE `name` in (
85                                 'default_loss_on_asset_disposal_act',
86                                 'depreciation_period',
87                                 'use_manufacturing',
88                                 'use_fixed_assets')");
89         }
90
91 }
92
93 $install = new fa2_4rc1;