. ***********************************************************************/ $page_security = 'SA_PAYTERMS'; $path_to_root=".."; include($path_to_root . "/includes/session.inc"); page(_($help_context = "Payment Terms")); include($path_to_root . "/includes/ui.inc"); simple_page_mode(true); //------------------------------------------------------------------------------------------- if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { $input_error = 0; if (!is_numeric($_POST['DayNumber'])) { $input_error = 1; display_error( _("The number of days or the day in the following month must be numeric.")); set_focus('DayNumber'); } elseif (strlen($_POST['terms']) == 0) { $input_error = 1; display_error( _("The Terms description must be entered.")); set_focus('terms'); } if ($_POST['DayNumber'] == '') $_POST['DayNumber'] = 0; if ($input_error != 1) { if ($selected_id != -1) { update_payment_terms($selected_id, get_post('terms'), get_post('type'), input_num('DayNumber', 0)); $note = _('Selected payment terms have been updated'); } else { add_payment_terms(get_post('terms'), get_post('type'), input_num('DayNumber', 0)); $note = _('New payment terms have been added'); } //run the sql from either of the above possibilites display_notification($note); $Mode = 'RESET'; } } if ($Mode == 'Delete') { // PREVENT DELETES IF DEPENDENT RECORDS IN debtors_master if (key_in_foreign_table($selected_id, 'debtors_master', 'payment_terms')) { display_error(_("Cannot delete this payment term, because customer accounts have been created referring to this term.")); } else { if (key_in_foreign_table($selected_id, 'suppliers', 'payment_terms')) { display_error(_("Cannot delete this payment term, because supplier accounts have been created referring to this term")); } else { //only delete if used in neither customer or supplier accounts delete_payment_terms($selected_id); display_notification(_('Selected payment terms have been deleted')); } } //end if payment terms used in customer or supplier accounts $Mode = 'RESET'; } if ($Mode == 'RESET') { $selected_id = -1; $sav = get_post('show_inactive'); unset($_POST); $_POST['show_inactive'] = $sav; } //------------------------------------------------------------------------------------------------- $result = get_payment_terms_all(check_value('show_inactive')); start_form(); start_table(TABLESTYLE); $th = array(_("Description"), _("Type"), _("Due After/Days"), "", ""); inactive_control_column($th); table_header($th); $k = 0; //row colour counter while ($myrow = db_fetch($result)) { $days = $myrow['days']; alt_table_row_color($k); label_cell($myrow["terms"]); label_cell($pterm_types[$myrow['type']]); label_cell($myrow['type'] == PTT_DAYS ? "$days "._("days") : ($myrow['type'] == PTT_FOLLOWING ? $days : _("N/A"))); inactive_control_cell($myrow["id"], $myrow["inactive"], 'payment_terms', "id"); edit_button_cell("Edit".$myrow["id"], _("Edit")); delete_button_cell("Delete".$myrow["id"], _("Delete")); end_row(); } inactive_control_row($th); end_table(1); //------------------------------------------------------------------------------------------------- if (list_updated('type')) { $Ajax->activate('edits'); } div_start('edits'); start_table(TABLESTYLE2); if ($selected_id != -1) { if ($Mode == 'Edit') { //editing an existing payment terms $myrow = get_payment_terms($selected_id); $_POST['terms'] = $myrow["terms"]; $_POST['type'] = $myrow['type']; $_POST['DayNumber'] = $myrow['days']; } hidden('selected_id', $selected_id); } text_row(_("Terms Description:"), 'terms', null, 40, 40); payment_type_list_row(_("Payment type:"), 'type', null, true); if ( in_array(get_post('type'), array(PTT_FOLLOWING, PTT_DAYS))) text_row_ex(_("Days (Or Day In Following Month):"), 'DayNumber', 3); else hidden('DayNumber', 0); end_table(1); div_end(); submit_add_or_update_center($selected_id == -1, '', 'both'); end_form(); end_page();