Install/Activate Themes: fixed hangups during theme removal.
[fa-stable.git] / admin / void_transaction.php
index 951a7f87e03bda13c31a341ce4d6460590084de9..af44b391851207ef62e7c19792141c12f1e65b5f 100644 (file)
@@ -21,9 +21,9 @@ include_once($path_to_root . "/admin/db/transactions_db.inc");
 
 include_once($path_to_root . "/admin/db/voiding_db.inc");
 $js = "";
-if ($use_date_picker)
+if (user_use_date_picker())
        $js .= get_js_date_picker();
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
        $js .= get_js_open_window(800, 500);
        
 page(_($help_context = "Void a Transaction"), false, false, "", $js);
@@ -70,8 +70,13 @@ function exist_transaction($type, $type_no)
                        break;
 
                case ST_PURCHORDER : // it's a PO
-               case ST_SUPPRECEIVE : // it's a GRN
                        return false;
+
+               case ST_SUPPRECEIVE : // it's a GRN
+                       if (exists_grn_on_invoices($type_no))
+                               return false;
+                       break;
+
                case ST_SUPPINVOICE : // it's a suppler invoice
                case ST_SUPPCREDIT : // it's a supplier credit note
                case ST_SUPPAYMENT : // it's a supplier payment
@@ -116,6 +121,8 @@ function select_link($row)
 {
        if (!isset($row['type']))
                $row['type'] = $_POST['filterType'];
+       if (!is_date_in_fiscalyear($row['trans_date'], true))
+               return _("N/A");
        return button('Edit'.$row["trans_no"], _("Select"), _("Select"), ICON_EDIT);
 }
 
@@ -140,8 +147,7 @@ function voiding_controls()
 {
        global $selected_id;
 
-       $not_implemented =  array(ST_PURCHORDER, ST_SUPPRECEIVE, ST_SALESORDER, 
-               ST_SALESQUOTE, ST_COSTUPDATE);
+       $not_implemented =  array(ST_PURCHORDER, ST_SALESORDER, ST_SALESQUOTE, ST_COSTUPDATE);
 
        start_form();
 
@@ -151,12 +157,23 @@ function voiding_controls()
        systypes_list_cells(_("Transaction Type:"), 'filterType', null, true, $not_implemented);
        if (list_updated('filterType'))
                $selected_id = -1;
-               
+
+       if (!isset($_POST['FromTransNo']))
+        $_POST['FromTransNo'] = "1";
+    if (!isset($_POST['ToTransNo']))
+        $_POST['ToTransNo'] = "999999";
+
+    ref_cells(_("from #:"), 'FromTransNo');
+
+    ref_cells(_("to #:"), 'ToTransNo');
+
+    submit_cells('ProcessSearch', _("Search"), '', '', 'default');
+
        end_row();
     end_table(1);
     
        $trans_ref = false;
-       $sql = get_sql_for_view_transactions($_POST['filterType'], null, null, $trans_ref);
+       $sql = get_sql_for_view_transactions(get_post('filterType'), get_post('FromTransNo'), get_post('ToTransNo'), $trans_ref);
        if ($sql == "")
                return;
 
@@ -266,10 +283,10 @@ function handle_void_transaction()
                        return;
                }
 
-               $ret = void_transaction($_POST['filterType'], $_POST['trans_no'],
+               $msg = void_transaction($_POST['filterType'], $_POST['trans_no'],
                        $_POST['date_'], $_POST['memo_']);
 
-               if ($ret
+               if (!$msg
                {
                        display_notification_centered(_("Selected transaction has been voided."));
                        unset($_POST['trans_no']);
@@ -277,7 +294,7 @@ function handle_void_transaction()
                        unset($_POST['date_']);
                }
                else {
-                       display_error(_("The entered transaction does not exist or cannot be voided."));
+                       display_error($msg);
                        set_focus('trans_no');
 
                }
@@ -318,4 +335,3 @@ voiding_controls();
 
 end_page();
 
-?>
\ No newline at end of file