From 0414e70dba24e2186c3ed3ffbcee3c6cd296742c Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Tue, 1 Jul 2008 21:24:15 +0000 Subject: [PATCH] Ajax additions. --- gl/bank_transfer.php | 2 +- gl/gl_journal.php | 90 +++++++++++++------------------- gl/includes/ui/gl_journal_ui.inc | 65 ++++++++++++----------- 3 files changed, 73 insertions(+), 84 deletions(-) diff --git a/gl/bank_transfer.php b/gl/bank_transfer.php index 149db9c9..d40436d9 100644 --- a/gl/bank_transfer.php +++ b/gl/bank_transfer.php @@ -84,7 +84,7 @@ function gl_payment_controls() echo ""; end_table(1); // outer table - submit_center('AddPayment',_("Enter Transfer")); + submit_center('AddPayment',_("Enter Transfer"), true, '', true); end_form(); } diff --git a/gl/gl_journal.php b/gl/gl_journal.php index 9d42cdad..fc07ffd7 100644 --- a/gl/gl_journal.php +++ b/gl/gl_journal.php @@ -21,6 +21,13 @@ if ($use_date_picker) 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'])) @@ -36,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'])) @@ -82,6 +70,19 @@ 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.")); @@ -94,7 +95,7 @@ if (isset($_POST['Process'])) 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'); @@ -185,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(); } //----------------------------------------------------------------------------------------------- @@ -208,33 +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(); } //----------------------------------------------------------------------------------------------- -if (isset($_GET['Edit'])) { - copy_from_je(); - set_focus('dimension_id'); -} -if (isset($_GET['Delete'])) { - copy_from_je(); - handle_delete_item(); - set_focus('_code_id_edit'); -} -if (isset($_POST['AddItem'])) { - copy_to_je(); +$id = find_submit('Delete'); +if ($id != -1) + handle_delete_item($id); + +if (isset($_POST['AddItem'])) handle_new_item(); - set_focus('_code_id_edit'); -} -if (isset($_POST['UpdateItem'])) { - copy_to_je(); + +if (isset($_POST['UpdateItem'])) handle_update_item(); - set_focus('_code_id_edit'); -} + if (isset($_POST['CancelItemChanges'])) - set_focus('_code_id_edit'); - -if (isset($_POST['EditItem'])) - set_focus('dimension_id'); + line_start_focus(); //----------------------------------------------------------------------------------------------- @@ -258,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(); diff --git a/gl/includes/ui/gl_journal_ui.inc b/gl/includes/ui/gl_journal_ui.inc index 1b281e9d..a8878fcf 100644 --- a/gl/includes/ui/gl_journal_ui.inc +++ b/gl/includes/ui/gl_journal_ui.inc @@ -42,6 +42,7 @@ function display_gl_items($title, &$order) $dim = get_company_pref('use_dimension'); + div_start('items_table'); start_table("$table_style colspan=7 width=95%"); if ($dim == 2) $th = array(_("Account Code"), _("Account Description"), _("Dimension")." 1", @@ -59,9 +60,10 @@ function display_gl_items($title, &$order) $k = 0; + $id = find_submit('Edit'); foreach ($order->gl_items as $item) { - if (!isset($_GET['Edit']) || $_GET['Edit'] != $item->index) + if ($id != $item->index) { alt_table_row_color($k); @@ -81,9 +83,12 @@ function display_gl_items($title, &$order) amount_cell(abs($item->amount)); } label_cell($item->reference); - edit_link_cell("Edit=$item->index"); - delete_link_cell("Delete=$item->index"); - end_row();; + + edit_button_cell("Edit$item->index", _("Edit"), + _('Edit journal line')); + edit_button_cell("Delete$item->index", _("Delete"), + _('Remove line from journal')); + end_row(); } else { @@ -91,7 +96,7 @@ function display_gl_items($title, &$order) } } - if (!isset($_GET['Edit'])) + if ($id == -1) gl_edit_item_controls($order, $dim); if ($order->count_gl_items()) @@ -105,43 +110,37 @@ function display_gl_items($title, &$order) } end_table(); + div_end(); } //--------------------------------------------------------------------------------- function gl_edit_item_controls(&$order, $dim, $Index=null) { + global $Ajax; start_row(); - if (isset($_GET['Edit']) && $Index != null) + $id = find_submit('Edit'); + if ($Index != -1 && $Index == $id) { $item = $order->gl_items[$Index]; - if (!isset($_POST['code_id'])) - $_POST['code_id'] = $item->code_id; - if (!isset($_POST['dimension_id'])) - $_POST['dimension_id'] = $item->dimension_id; - if (!isset($_POST['dimension2_id'])) - $_POST['dimension2_id'] = $item->dimension2_id; - - if ((!isset($_POST['AmountDebit']) || ($_POST['AmountDebit']=="")) && $item->amount > 0) - $_POST['AmountDebit'] = price_format($item->amount); - - if ((!isset($_POST['AmountCredit']) || ($_POST['AmountCredit']=="")) && $item->amount <= 0) - $_POST['AmountCredit'] = price_format(abs($item->amount)); - - if (!isset($_POST['description']) || ($_POST['description'] == "")) - $_POST['description'] = $item->description; - if (!isset($_POST['LineMemo']) || ($_POST['LineMemo'] == "")) - $_POST['LineMemo'] = $item->reference; + $_POST['code_id'] = $item->code_id; + $_POST['dimension_id'] = $item->dimension_id; + $_POST['dimension2_id'] = $item->dimension2_id; + $_POST['AmountDebit'] = price_format($item->amount); + $_POST['AmountCredit'] = price_format(abs($item->amount)); + $_POST['description'] = $item->description; + $_POST['LineMemo'] = $item->reference; hidden('Index', $item->index); hidden('code_id', $item->code_id); label_cell($_POST['code_id']); label_cell($item->description); if ($dim >= 1) - dimensions_list_cells(null, 'dimension_id', $_POST['dimension_id'], true, " ", false, 1); + dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); if ($dim > 1) - dimensions_list_cells(null, 'dimension2_id', $_POST['dimension2_id'], true, " ", false, 2); + dimensions_list_cells(null, 'dimension2_id', null, true, " ", false, 2); + $Ajax->activate('items_table'); } else { @@ -152,6 +151,9 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['LineMemo'] = ""; $_POST['_code_id_edit'] = ""; $_POST['code_id'] = ""; + if(isset($_POST['_code_id_update'])) { + $Ajax->activate('code_id'); + } $skip_bank = ($_SESSION["wa_current_user"]->access != 2); gl_all_accounts_list('code_id', null, $skip_bank, false, true); @@ -169,18 +171,21 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) small_amount_cells(null, 'AmountCredit'); text_cells_ex(null, 'LineMemo', 35, 50); - if (isset($_GET['Edit'])) + if ($id != -1) { - submit_cells('UpdateItem', _("Update")); - submit_cells('CancelItemChanges', _("Cancel")); + edit_button_cell('UpdateItem', _("Update"), + _('Confirm changes')); + edit_button_cell('CancelItemChanges', _("Cancel"), + _('Cancel changes')); + set_focus('amount'); } else - submit_cells('AddItem', _("Add item"), "colspan=2"); + submit_cells('AddItem', _("Add Item"), "colspan=2", + _('Add new line to journal'), true); end_row(); } - //--------------------------------------------------------------------------------- function gl_options_controls() -- 2.30.2