Global variabel, $def_print_destination, config.php can be set to 0 or 1
[fa-stable.git] / admin / fiscalyears.php
index a974e4a2d2a09bdc4fc5343879cf81b4ff537e74..6fd36fc75518408750051d00d6215b29bcb3b0a8 100644 (file)
@@ -204,6 +204,8 @@ function delete_attachments_and_comments($type_no, $trans_no)
        }       
        $sql = "DELETE FROM ".TB_PREF."comments WHERE  type = $type_no AND id = $trans_no";
        db_query($sql, "Could not delete comments");
+       $sql = "DELETE FROM ".TB_PREF."refs WHERE  type = $type_no AND id = $trans_no";
+       db_query($sql, "Could not delete refs");
 }      
 
 function delete_this_fiscalyear($selected_id)
@@ -271,9 +273,10 @@ function delete_this_fiscalyear($selected_id)
                                db_query($sql, "Could not delete debtor trans details");
                                $sql = "DELETE FROM ".TB_PREF."debtor_trans WHERE trans_no = $delivery AND type = ".ST_CUSTDELIVERY;
                                db_query($sql, "Could not delete debtor trans");
+                               delete_attachments_and_comments(ST_CUSTDELIVERY, $delivery);
                        }               
                }       
-               $sql = "DELETE FROM ".TB_PREF."cust_allocations WHERE trans_no_from = {$row['trans_no']} AND type_no_from = {$row['type']}";
+               $sql = "DELETE FROM ".TB_PREF."cust_allocations WHERE trans_no_from = {$row['trans_no']} AND trans_type_from = {$row['type']}";
                db_query($sql, "Could not delete cust allocations");
                $sql = "DELETE FROM ".TB_PREF."debtor_trans_details WHERE debtor_trans_no = {$row['trans_no']} AND debtor_trans_type = {$row['type']}";
                db_query($sql, "Could not delete debtor trans details");
@@ -286,7 +289,7 @@ function delete_this_fiscalyear($selected_id)
        $result = db_query($sql, "Could not retrieve supp trans");
        while ($row = db_fetch($result))
        {
-               $sql = "DELETE FROM ".TB_PREF."supp_allocations WHERE trans_no_from = {$row['trans_no']} AND type_no_from = {$row['type']}";
+               $sql = "DELETE FROM ".TB_PREF."supp_allocations WHERE trans_no_from = {$row['trans_no']} AND trans_type_from = {$row['type']}";
                db_query($sql, "Could not delete supp allocations");
                $sql = "DELETE FROM ".TB_PREF."supp_invoice_items WHERE supp_trans_no = {$row['trans_no']} AND supp_trans_type = {$row['type']}";
                db_query($sql, "Could not delete supp invoice items");
@@ -305,7 +308,7 @@ function delete_this_fiscalyear($selected_id)
                        $sql = "DELETE FROM ".TB_PREF."wo_issue_items WHERE issue_id = {$row2[0]}";
                        db_query($sql, "Could not delete wo issue items");
                }       
-               delete_attachments_and_comments(28, $row['id']);
+               delete_attachments_and_comments(ST_MANUISSUE, $row['id']);
                $sql = "DELETE FROM ".TB_PREF."wo_issues WHERE workorder_id = {$row['id']}";
                db_query($sql, "Could not delete wo issues");
                $sql = "DELETE FROM ".TB_PREF."wo_manufacture WHERE workorder_id = {$row['id']}";
@@ -314,7 +317,7 @@ function delete_this_fiscalyear($selected_id)
                db_query($sql, "Could not delete wo requirements");
                $sql = "DELETE FROM ".TB_PREF."workorders WHERE id = {$row['id']}";
                db_query($sql, "Could not delete workorders");
-               delete_attachments_and_comments(26, $row['id']);
+               delete_attachments_and_comments(ST_WORKORDER, $row['id']);
        }
        $sql = "SELECT loc_code, stock_id, SUM(qty) AS qty, SUM(qty*standard_cost) AS std_cost FROM ".TB_PREF."stock_moves WHERE tran_date <= '$to' GROUP by 
                loc_code, stock_id";
@@ -337,6 +340,7 @@ function delete_this_fiscalyear($selected_id)
        db_query($sql, "Could not delete exchange rates");
        $sql = "DELETE FROM ".TB_PREF."budget_trans WHERE tran_date <= '$to'";
        db_query($sql, "Could not delete exchange rates");
+       
        $sql = "SELECT account, SUM(amount) AS amount FROM ".TB_PREF."gl_trans WHERE tran_date <= '$to' GROUP by account";
        $result = db_query($sql, "Could not retrieve gl trans");
        while ($row = db_fetch($result))
@@ -345,23 +349,54 @@ function delete_this_fiscalyear($selected_id)
                db_query($sql, "Could not delete gl trans");
                if (is_account_balancesheet($row['account']))
                {
-                       $trans_no = get_next_trans_no(0);
-                       if (is_bank_account($row['account']))
-                       {
-                               $sql = "SELECT SUM(amount) FROM ".TB_PREF."bank_trans WHERE trans_date <= '$to' AND bank_act = '{$row['account']}'";
-                               $res = db_query($sql, "Could not retrieve bank trans");
-                               $row2 = db_fetch_row($res);
-                               $sql = "DELETE FROM ".TB_PREF."bank_trans WHERE trans_date <= '$to' AND bank_act = '{$row['account']}'";
-                               db_query($sql, "Could not delete bank trans");
-                               $sql = "INSERT INTO ".TB_PREF."bank_trans (type, trans_no, trans_date, bank_act, ref, amount) VALUES
-                                       (0, $trans_no, '$to', '{$row['account']}', '$ref', {$row2[0]})";
-                               db_query($sql, "Could not insert bank trans");
-                       }       
+                       $trans_no = get_next_trans_no(ST_JOURNAL);
                        $sql = "INSERT INTO ".TB_PREF."gl_trans (type, type_no, tran_date, account, memo_, amount) VALUES
-                               (0, $trans_no, '$to', '{$row['account']}', '$ref', {$row['amount']})";
+                               (".ST_JOURNAL.", $trans_no, '$to', '{$row['account']}', '$ref', {$row['amount']})";
                        db_query($sql, "Could not insert gl trans");
                }
        }
+       
+       $sql = "SELECT bank_act, SUM(amount) AS amount FROM ".TB_PREF."bank_trans WHERE trans_date <= '$to' GROUP BY bank_act";
+       $result = db_query($sql, "Could not retrieve bank trans");
+       while ($row = db_fetch($result))
+       {
+               $sql = "DELETE FROM ".TB_PREF."bank_trans WHERE trans_date <= '$to' AND bank_act = '{$row['bank_act']}'";
+               db_query($sql, "Could not delete bank trans");
+               $sql = "INSERT INTO ".TB_PREF."bank_trans (type, trans_no, trans_date, bank_act, ref, amount) VALUES
+                       (0, 0, '$to', '{$row['bank_act']}', '$ref', {$row['amount']})";
+               db_query($sql, "Could not insert bank trans");
+       }       
+       
+       $sql = "DELETE FROM ".TB_PREF."audit_trail WHERE gl_date <= '$to'";
+       db_query($sql, "Could not delete audit trail");
+       
+       $sql = "SELECT type, id FROM ".TB_PREF."comments WHERE type != ".ST_SALESQUOTE." AND type != ".ST_SALESORDER." AND type != ".ST_PURCHORDER;
+       $result = db_query($sql, "Could not retrieve comments");
+       while ($row = db_fetch($result))
+       {
+               $sql = "SELECT count(*) FROM ".TB_PREF."gl_trans WHERE type = {$row['type']} AND type_no = {$row['id']}";
+               $res = db_query($sql, "Could not retrieve gl_trans");
+               $row2 = db_fetch_row($res);
+               if ($row2[0] == 0) // if no link, then delete comments
+               {
+                       $sql = "DELETE FROM ".TB_PREF."comments WHERE type = {$row['type']} AND id = {$row['id']}";
+                       db_query($sql, "Could not delete comments");
+               }
+       }       
+       $sql = "SELECT type, id FROM ".TB_PREF."refs WHERE type != ".ST_SALESQUOTE." AND type != ".ST_SALESORDER." AND type != ".ST_PURCHORDER;
+       $result = db_query($sql, "Could not retrieve refs");
+       while ($row = db_fetch($result))
+       {
+               $sql = "SELECT count(*) FROM ".TB_PREF."gl_trans WHERE type = {$row['type']} AND type_no = {$row['id']}";
+               $res = db_query($sql, "Could not retrieve gl_trans");
+               $row2 = db_fetch_row($res);
+               if ($row2[0] == 0) // if no link, then delete refs
+               {
+                       $sql = "DELETE FROM ".TB_PREF."refs WHERE type = {$row['type']} AND id = {$row['id']}";
+                       db_query($sql, "Could not delete refs");
+               }
+       }       
+               
        delete_fiscalyear($selected_id);
        commit_transaction();   
 }
@@ -388,7 +423,7 @@ function display_fiscalyears()
 
        $result = get_all_fiscalyears();
        start_form();
-       display_note(_("Warning: During fiscal year removal all transactions 
+       display_note(_("Warning: Deleting a fiscal year all transactions 
                are removed and converted into relevant balances. This process is irreversible!"), 
                0, 0, "class='currentfg'");
        start_table($table_style);
@@ -423,7 +458,7 @@ function display_fiscalyears()
                if ($myrow["id"] != $company_year) {
                        delete_button_cell("Delete".$myrow['id'], _("Delete"));
                        submit_js_confirm("Delete".$myrow['id'],
-                               sprintf(_("Are you sure you want to remove fiscal year %s - %s? All transactions are removed and converted into relevant balances. Do you want to continue ?"), $from, $to));
+                               sprintf(_("Are you sure you want to delete fiscal year %s - %s? All transactions are deleted and converted into relevant balances. Do you want to continue ?"), $from, $to));
                } else
                        label_cell('');
                end_row();