X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=admin%2Ffiscalyears.php;h=6f3071648c879be0f5cf58ca1f7771a3ab57148a;hb=af7088b5a3b03f886d2602171d09e1728894701a;hp=1c9af0dc2257cb463088a571d98759532fb22074;hpb=89fc1800fdcffea2af2f11c66a977bba6065aa8d;p=fa-stable.git diff --git a/admin/fiscalyears.php b/admin/fiscalyears.php index 1c9af0dc..6f307164 100644 --- a/admin/fiscalyears.php +++ b/admin/fiscalyears.php @@ -1,32 +1,35 @@ . +***********************************************************************/ +$page_security = 'SA_FISCALYEARS'; +$path_to_root = ".."; 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 . "/admin/db/fiscalyears_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) $js .= get_js_date_picker(); -page(_("Fiscal Years"), false, false, "", $js); +page(_($help_context = "Fiscal Years"), false, false, "", $js); simple_page_mode(true); //--------------------------------------------------------------------------------------------- -function is_date_in_fiscalyears($date) -{ - $date = date2sql($date); - $sql = "SELECT * FROM ".TB_PREF."fiscal_year WHERE '$date' >= begin AND '$date' <= end"; - - $result = db_query($sql, "could not get all fiscal years"); - return db_fetch($result) !== false; -} - function check_data() { - if (!is_date($_POST['from_date']) || is_date_in_fiscalyears($_POST['from_date'])) + if (!is_date($_POST['from_date']) || is_date_in_fiscalyears($_POST['from_date']) || is_bad_begin_date($_POST['from_date'])) { display_error( _("Invalid BEGIN date in fiscal year.")); set_focus('from_date'); @@ -46,22 +49,36 @@ function check_data() } return true; } -//--------------------------------------------------------------------------------------------- function handle_submit() { global $selected_id, $Mode; - if (!check_data()) - return false; - + $ok = true; if ($selected_id != -1) { - update_fiscalyear($_POST['from_date'], $_POST['closed']); - display_notification(_('Selected fiscal year has been updated')); + if ($_POST['closed'] == 1) + { + if (check_years_before($_POST['from_date'], false)) + { + display_error( _("Cannot CLOSE this year because there are open fiscal years before")); + set_focus('closed'); + return false; + } + $ok = close_year($selected_id); + } + else + open_year($selected_id); + if ($ok) + { + update_fiscalyear($selected_id, $_POST['closed']); + display_notification(_('Selected fiscal year has been updated')); + } } else { + if (!check_data()) + return false; add_fiscalyear($_POST['from_date'], $_POST['to_date'], $_POST['closed']); display_notification(_('New fiscal year has been added')); } @@ -74,32 +91,28 @@ function check_can_delete($selected_id) { $myrow = get_fiscalyear($selected_id); // PREVENT DELETES IF DEPENDENT RECORDS IN gl_trans - $from = $myrow['begin']; - $to = $myrow['end']; - $sql= "SELECT COUNT(*) FROM ".TB_PREF."gl_trans WHERE tran_date >= '$from' AND tran_date <= '$to'"; - $result = db_query($sql, "could not query gl_trans master"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (check_years_before(sql2date($myrow['begin']), true)) { - display_error(_("Cannot delete this fiscal year because items have been created referring to it.")); + display_error(_("Cannot delete this fiscal year because thera are fiscal years before.")); + return false; + } + if ($myrow['closed'] == 0) + { + display_error(_("Cannot delete this fiscal year because the fiscal year is not closed.")); return false; } - return true; } -//--------------------------------------------------------------------------------------------- - function handle_delete() { global $selected_id, $Mode; - if (!check_can_delete($selected_id)) - return; + if (check_can_delete($selected_id)) { //only delete if used in neither customer or supplier, comp prefs, bank trans accounts - - delete_fiscalyear($selected_id); - display_notification(_('Selected fiscal year has been deleted')); + delete_this_fiscalyear($selected_id); + display_notification(_('Selected fiscal year has been deleted')); + } $Mode = 'RESET'; } @@ -107,13 +120,14 @@ function handle_delete() function display_fiscalyears() { - global $table_style; - $company_year = get_company_pref('f_year'); $result = get_all_fiscalyears(); start_form(); - start_table($table_style); + 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(TABLESTYLE); $th = array(_("Fiscal Year Begin"), _("Fiscal Year End"), _("Closed"), "", ""); table_header($th); @@ -142,9 +156,11 @@ function display_fiscalyears() label_cell($to); label_cell($closed_text); edit_button_cell("Edit".$myrow['id'], _("Edit")); - if ($myrow["id"] != $company_year) - edit_button_cell("Delete".$myrow['id'], _("Delete")); - else + 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 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(); } @@ -158,10 +174,10 @@ function display_fiscalyears() function display_fiscalyear_edit($selected_id) { - global $table_style2, $Mode; + global $Mode; start_form(); - start_table($table_style2); + start_table(TABLESTYLE2); if ($selected_id != -1) { @@ -189,7 +205,7 @@ function display_fiscalyear_edit($selected_id) end_table(1); - submit_add_or_update_center($selected_id == -1, '', true); + submit_add_or_update_center($selected_id == -1, '', 'both'); end_form(); }