Partial changes for new access control system.
[fa-stable.git] / admin / fiscalyears.php
index 8c8b8bab28e33d29fbd7ee9218c81395415ca28f..3df3205fa84d96e457bee748395cc8006e75de6e 100644 (file)
@@ -16,6 +16,7 @@ include_once($path_to_root . "/includes/session.inc");
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/admin/db/company_db.inc");
 include_once($path_to_root . "/includes/ui.inc");
+include_once($path_to_root . "/sales/includes/db/cust_trans_db.inc");
 include_once($path_to_root . "/admin/db/maintenance_db.inc");
 $js = "";
 if ($use_date_picker)
@@ -89,7 +90,7 @@ function close_year($year)
        // retrieve total balances from balance sheet accounts
     $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans INNER JOIN ".TB_PREF."chart_master ON account=account_code
        INNER JOIN ".TB_PREF."chart_types ON account_type=id INNER JOIN ".TB_PREF."chart_class ON class_id=cid 
-               WHERE balance_sheet=1 AND tran_date <= '$to'";
+               WHERE ctype>=".CL_ASSETS." AND ctype <=".CL_EQUITY." AND tran_date <= '$to'";
        $result = db_query($sql, "The total balance could not be calculated");
 
        $row = db_fetch_row($result);
@@ -203,7 +204,7 @@ function delete_this_fiscalyear($selected_id)
        $ref = _("Open Balance");
        $myrow = get_fiscalyear($selected_id);
        $to = $myrow['end'];
-       $sql = "SELECT order_no FROM ".TB_PREF."sales_orders WHERE ord_date <= '$to'";
+       $sql = "SELECT order_no FROM ".TB_PREF."sales_orders WHERE ord_date <= '$to' AND type <> 1"; // don't take the templates
        $result = db_query($sql, "Could not retrieve sales orders");
        while ($row = db_fetch($result))
        {
@@ -250,6 +251,17 @@ function delete_this_fiscalyear($selected_id)
        $result = db_query($sql, "Could not retrieve debtor trans");
        while ($row = db_fetch($result))
        {
+               if ($row['type'] == 10)
+               {
+                       $deliveries = get_parent_trans(10,$row['trans_no']);
+                       foreach ($deliveries as $delivery)
+                       {
+                               $sql = "DELETE FROM ".TB_PREF."debtor_trans_details WHERE debtor_trans_no = $delivery AND debtor_trans_type = 13";
+                               db_query($sql, "Could not delete debtor trans details");
+                               $sql = "DELETE FROM ".TB_PREF."debtor_trans WHERE trans_no = $delivery AND type = 13";
+                               db_query($sql, "Could not delete debtor trans");
+                       }               
+               }       
                $sql = "DELETE FROM ".TB_PREF."cust_allocations WHERE trans_no_from = {$row['trans_no']} AND type_no_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']}";
@@ -365,6 +377,9 @@ function display_fiscalyears()
 
        $result = get_all_fiscalyears();
        start_form();
+       display_note(_("Warning: During fiscal year removal all transactions 
+               are removed and converted into relevant balances. This process is irreversible!"), 
+               0, 0, "class='currentfg'");
        start_table($table_style);
 
        $th = array(_("Fiscal Year Begin"), _("Fiscal Year End"), _("Closed"), "", "");
@@ -394,9 +409,13 @@ function display_fiscalyears()
                label_cell($to);
                label_cell($closed_text);
                edit_button_cell("Edit".$myrow['id'], _("Edit"));
-               if ($myrow["id"] != $company_year)
+               if ($myrow["id"] != $company_year) {
                        delete_button_cell("Delete".$myrow['id'], _("Delete"));
-               else
+                       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));
+               } else
                        label_cell('');
                end_row();
        }