X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fgl_journal.php;h=fc07ffd76fa9018f29daadb2480291f5c92d4d34;hb=9967d9b22e1200e516aadf98ffcbcc65ac1c35bb;hp=b5a2c1cc287a05f0b400a9abb63df99ba6b0844e;hpb=0ad7b92c6cf2e4e65ca0fa94ba31f30f7b292ba8;p=fa-stable.git diff --git a/gl/gl_journal.php b/gl/gl_journal.php index b5a2c1cc..fc07ffd7 100644 --- a/gl/gl_journal.php +++ b/gl/gl_journal.php @@ -13,15 +13,21 @@ include_once($path_to_root . "/gl/includes/ui/gl_journal_ui.inc"); include_once($path_to_root . "/gl/includes/gl_db.inc"); include_once($path_to_root . "/gl/includes/gl_ui.inc"); -$js = get_js_form_entry("CodeID2", "code_id", "AmountDebit"); +$js = ''; if ($use_popup_windows) $js .= get_js_open_window(800, 500); if ($use_date_picker) $js .= get_js_date_picker(); -$js .= get_js_set_focus('CodeID2'); -page(_("Journal Entry"), false, false, "setFocus()", $js); +page(_("Journal Entry"), false, false,'', $js); +//-------------------------------------------------------------------------------------------------- +function line_start_focus() { + global $Ajax; + + $Ajax->activate('items_table'); + set_focus('_code_id_edit'); +} //----------------------------------------------------------------------------------------------- if (isset($_GET['AddedID'])) @@ -37,27 +43,8 @@ if (isset($_GET['AddedID'])) display_footer_exit(); } - //-------------------------------------------------------------------------------------------------- -function copy_to_je() -{ - $_SESSION['journal_items']->tran_date = $_POST['date_']; - $_SESSION['journal_items']->transfer_type = check_value('Reverse'); - $_SESSION['journal_items']->memo_ = $_POST['memo_']; -} - -//-------------------------------------------------------------------------------------------------- - -function copy_from_je() -{ - $_POST['date_'] = $_SESSION['journal_items']->tran_date; - $_POST['Reverse'] = $_SESSION['journal_items']->transfer_type; - $_POST['memo_'] = $_SESSION['journal_items']->memo_; -} - -//---------------------------------------------------------------------------------------- - function handle_new_order() { if (isset($_SESSION['journal_items'])) @@ -68,7 +55,7 @@ function handle_new_order() session_register("journal_items"); - $_SESSION['journal_items'] = new items_cart; + $_SESSION['journal_items'] = new items_cart(systypes::journal_entry()); $_POST['date_'] = Today(); if (!is_date_in_fiscalyear($_POST['date_'])) @@ -83,24 +70,41 @@ if (isset($_POST['Process'])) $input_error = 0; + if ($_SESSION['journal_items']->count_gl_items() < 1) { + display_error(_("You must enter at least one journal line.")); + set_focus('code_id'); + $input_error = 1; + } + if (abs($_SESSION['journal_items']->gl_items_total()) > 0.0001) + { + display_error(_("The journal must balance (debits equal to credits) before it can be processed.")); + set_focus('code_id'); + $input_error = 1; + } + + if (!is_date($_POST['date_'])) { display_error(_("The entered date is invalid.")); + set_focus('date_'); $input_error = 1; } elseif (!is_date_in_fiscalyear($_POST['date_'])) { display_error(_("The entered date is not in fiscal year.")); + set_focus('date_'); $input_error = 1; } - elseif (!references::is_valid($_POST['ref'])) + if (!references::is_valid($_POST['ref'])) { display_error( _("You must enter a reference.")); + set_focus('ref'); $input_error = 1; } elseif (references::exists(systypes::journal_entry(), $_POST['ref'])) { display_error( _("The entered reference is already in use.")); + set_focus('ref'); $input_error = 1; } @@ -127,28 +131,33 @@ function check_item_data() if (isset($_POST['dimension_id']) && $_POST['dimension_id'] != 0 && dimension_is_closed($_POST['dimension_id'])) { display_error(_("Dimension is closed.")); - return false; + set_focus('dimension_id'); + return false; } if (isset($_POST['dimension2_id']) && $_POST['dimension2_id'] != 0 && dimension_is_closed($_POST['dimension2_id'])) { display_error(_("Dimension is closed.")); - return false; + set_focus('dimension2_id'); + return false; } - if (!(!strlen($_POST['AmountDebit']) ^ !strlen($_POST['AmountCredit']))) + if (!(input_num('AmountDebit')!=0 ^ input_num('AmountCredit')!=0) ) { display_error(_("You must enter either a debit amount or a credit amount.")); + set_focus('AmountDebit'); return false; } if (strlen($_POST['AmountDebit']) && !check_num('AmountDebit', 0)) { display_error(_("The debit amount entered is not a valid number or is less than zero.")); + set_focus('AmountDebit'); return false; } elseif (strlen($_POST['AmountCredit']) && !check_num('AmountCredit', 0)) { display_error(_("The credit amount entered is not a valid number or is less than zero.")); + set_focus('AmountCredit'); return false; } @@ -156,6 +165,7 @@ function check_item_data() if ($_SESSION["wa_current_user"]->access != 2 && is_bank_account($_POST['code_id'])) { display_error(_("You cannot make a journal entry for a bank account. Please use one of the banking functions for bank transactions.")); + set_focus('code_id'); return false; } @@ -176,13 +186,15 @@ function handle_update_item() $_SESSION['journal_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'], $_POST['dimension2_id'], $amount, $_POST['LineMemo']); } + line_start_focus(); } //----------------------------------------------------------------------------------------------- -function handle_delete_item() +function handle_delete_item($id) { - $_SESSION['journal_items']->remove_gl_item($_GET['Delete']); + $_SESSION['journal_items']->remove_gl_item($id); + line_start_focus(); } //----------------------------------------------------------------------------------------------- @@ -199,24 +211,22 @@ function handle_new_item() $_SESSION['journal_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'], $_POST['dimension2_id'], $amount, $_POST['LineMemo']); + line_start_focus(); } //----------------------------------------------------------------------------------------------- +$id = find_submit('Delete'); +if ($id != -1) + handle_delete_item($id); -if (isset($_GET['Delete']) || isset($_GET['Edit'])) - copy_from_je(); - -if (isset($_GET['Delete'])) - handle_delete_item(); - -if (isset($_POST['AddItem']) || isset($_POST['UpdateItem'])) - copy_to_je(); - -if (isset($_POST['AddItem'])) +if (isset($_POST['AddItem'])) handle_new_item(); -if (isset($_POST['UpdateItem'])) +if (isset($_POST['UpdateItem'])) handle_update_item(); + +if (isset($_POST['CancelItemChanges'])) + line_start_focus(); //----------------------------------------------------------------------------------------------- @@ -240,18 +250,10 @@ echo ""; end_row(); end_table(1); -if ($_SESSION['journal_items']->count_gl_items() >= 1 && - abs($_SESSION['journal_items']->gl_items_total()) < 0.0001) -{ - submit_center('Process', _("Process Journal Entry")); -} -else -{ - display_note(_("The journal must balance (debits equal to credits) before it can be processed."), 0, 1); -} +submit_center('Process', _("Process Journal Entry"), true , + _('Process journal entry only if debits equal to credits'), true); end_form(); - //------------------------------------------------------------------------------------------------ end_page();