Password reset mail could take several hours. After fix only a couple of seconds...
[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 $preconf = true;
19         var     $max_upgrade_time = 900;        // table recoding is really long process
20
21         function __construct() {
22                 parent::__construct();
23                 $this->description = _('Upgrade from version 2.4beta to 2.4RC1');
24         }
25
26     /*
27             Shows parameters to be selected before upgrade (if any)
28         */
29     function show_params($comp)
30         {
31           display_note(_('Set optimal parameters and start upgrade:'));
32           start_table(TABLESTYLE);
33           start_row();
34                 table_section_title(_("Fixed Assets Defaults"));
35                 gl_all_accounts_list_row(_("Loss On Asset Disposal Account:"), 'default_loss_on_asset_disposal_act', '5660',
36                         true, false, _("None (will be set later)"));
37           end_row();
38           end_table();
39           br();
40     }
41
42         /*
43             Fetches selected upgrade parameters.
44     */
45         function prepare()
46     {
47                 $this->fixed_disposal_act = get_post('default_loss_on_asset_disposal_act');
48                 return true;
49         }
50         //
51         //      Install procedure. All additional changes 
52         //      not included in sql file should go here.
53         //
54         function install($company, $force=false)
55         {
56                 // key 
57                 $sec_updates = array(
58                         'SA_SETUPCOMPANY' => array(
59                                 'SA_ASSET', 'SA_ASSETCATEGORY', 'SA_ASSETCLASS',
60                                 'SA_ASSETSTRANSVIEW','SA_ASSETTRANSFER', 'SA_ASSETDISPOSAL',
61                                 'SA_DEPRECIATION', 'SA_ASSETSANALYTIC'),
62                 );
63                 $result = $this->update_security_roles($sec_updates);
64
65                 $pref = $this->companies[$company]['tbpref'];
66
67                 if ($result)
68                         if (!db_query("UPDATE ".$pref."sys_prefs SET value=".db_escape($this->fixed_disposal_act)
69                                         ." WHERE name='default_loss_on_asset_disposal_act'")
70                         )
71                                 return $this->log_error(sprintf(_("Cannot update sys prefs setting:\n%s"), db_error_msg($db)));
72
73                 return $result;
74         }
75
76         //
77         // optional procedure done after upgrade fail, before backup is restored
78         //
79         function post_fail($company)
80         {
81                 $pref = $this->companies[$company]['tbpref'];
82                 db_query("DROP TABLE IF EXISTS " . $pref . 'stock_fa_class');
83
84                 db_query("DELETE FROM ".$pref."sys_prefs "
85                         ."WHERE `name` in (
86                                 'default_loss_on_asset_disposal_act',
87                                 'depreciation_period',
88                                 'use_manufacturing',
89                                 'use_fixed_assets')");
90         }
91
92 }
93
94 $install = new fa2_4rc1;