X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fmanage%2Frecurrent_invoices.php;h=fef2ddc06ec07e14f71e5be188b612856077fa24;hb=c47544994b38a1540dd049075948493352ca6112;hp=785c2a44d0203d4c8ed32fc12a79a07cce7f6089;hpb=5cf8c8a885e3e972a5cac38259041e1320f9b1af;p=fa-stable.git diff --git a/sales/manage/recurrent_invoices.php b/sales/manage/recurrent_invoices.php index 785c2a44..fef2ddc0 100644 --- a/sales/manage/recurrent_invoices.php +++ b/sales/manage/recurrent_invoices.php @@ -16,13 +16,16 @@ include($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/sales/includes/sales_db.inc"); $js = ""; -if ($use_popup_windows) +if ($SysPrefs->use_popup_windows) $js .= get_js_open_window(900, 600); -if ($use_date_picker) +if (user_use_date_picker()) $js .= get_js_date_picker(); page(_($help_context = "Recurrent Invoices"), false, false, "", $js); +check_db_has_template_orders(_("There is no template order in database. + You have to create at least one sales order marked as template to be able to define recurrent invoices.")); + simple_page_mode(true); if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') @@ -30,12 +33,50 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') $input_error = 0; + if (!get_post('group_no')) + { + $input_error = 1; + if (get_post('debtor_no')) + display_error(_("This customer has no branches. Please define at least one branch for this customer first.")); + else + display_error(_("There are no tax groups defined in the system. At least one tax group is required before proceeding.")); + set_focus('debtor_no'); + } if (strlen($_POST['description']) == 0) { $input_error = 1; - display_error(_("The area description cannot be empty.")); + display_error(_("The invoice description cannot be empty.")); + set_focus('description'); + } + if (!check_recurrent_invoice_description($_POST['description'], $selected_id)) + { + $input_error = 1; + display_error(_("This recurrent invoice description is already in use.")); set_focus('description'); } + if (!is_date($_POST['begin'])) + { + $input_error = 1; + display_error(_("The entered date is invalid.")); + set_focus('begin'); + } + if (!is_date($_POST['end'])) + { + $input_error = 1; + display_error(_("The entered date is invalid.")); + set_focus('end'); + } + if (isset($_POST['last_sent']) && !is_date($_POST['last_sent'])) { + $input_error = 1; + display_error(_("The entered date is invalid.")); + set_focus('last_sent'); + } + if (!$_POST['days'] && !$_POST['monthly']) + { + $input_error = 1; + display_error(_("No recurence interval has been entered.")); + set_focus('days'); + } if ($input_error != 1) { @@ -43,6 +84,8 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { update_recurrent_invoice($selected_id, $_POST['description'], $_POST['order_no'], input_num('debtor_no'), input_num('group_no'), input_num('days', 0), input_num('monthly', 0), $_POST['begin'], $_POST['end']); + if (isset($_POST['last_sent'])) + update_last_sent_recurrent_invoice($selected_id, $_POST['last_sent']); $note = _('Selected recurrent invoice has been updated'); } else @@ -52,7 +95,7 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') $note = _('New recurrent invoice has been added'); } - display_notification($note); + display_notification($note); $Mode = 'RESET'; } } @@ -89,12 +132,12 @@ while ($myrow = db_fetch($result)) { $begin = sql2date($myrow["begin"]); $end = sql2date($myrow["end"]); - $last_sent = sql2date($myrow["last_sent"]); + $last_sent = $myrow["last_sent"] == '0000-00-00' ? '' : sql2date($myrow["last_sent"]); alt_table_row_color($k); label_cell($myrow["description"]); - label_cell(get_customer_trans_view_str(ST_SALESORDER, $myrow["order_no"])); + label_cell(get_customer_trans_view_str(ST_SALESORDER, $myrow["order_no"]), "nowrap align='right'"); if ($myrow["debtor_no"] == 0) { label_cell(""); @@ -139,6 +182,7 @@ if ($selected_id != -1) $_POST['monthly'] = $myrow["monthly"]; $_POST['begin'] = sql2date($myrow["begin"]); $_POST['end'] = sql2date($myrow["end"]); + $_POST['last_sent'] = ($myrow['last_sent']=="0000-00-00"?"":sql2date($myrow["last_sent"])); } hidden("selected_id", $selected_id); } @@ -153,7 +197,7 @@ customer_list_row(_("Customer:"), 'debtor_no', null, " ", true); if ($_POST['debtor_no'] > 0) customer_branches_list_row(_("Branch:"), $_POST['debtor_no'], 'group_no', null, false); else - sales_groups_list_row(_("Sales Group:"), 'group_no', null, " "); + sales_groups_list_row(_("Sales Group:"), 'group_no', null); small_amount_row(_("Days:"), 'days', 0, null, null, 0); @@ -163,6 +207,9 @@ date_row(_("Begin:"), 'begin'); date_row(_("End:"), 'end', null, null, 0, 0, 5); +if ($selected_id != -1 && @$_POST['last_sent'] != "") + date_row(_("Last Created"), 'last_sent'); + end_table(1); submit_add_or_update_center($selected_id == -1, '', 'both');