Non-voidable transactions removed from selector on voiding page.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Wed, 29 Dec 2010 15:07:04 +0000 (15:07 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Wed, 29 Dec 2010 15:07:04 +0000 (15:07 +0000)
CHANGELOG.txt
admin/void_transaction.php
includes/ui/ui_lists.inc

index 21c70269cfa8e8581cd6de18bd19edd15c79fccf..326d4f7a40c7d0dbbc6d7e5457499d48e13267de 100644 (file)
@@ -23,6 +23,9 @@ $ -> Affected files
 ! Hook files inclusion moved to session.inc
 $ /includes/hooks.inc
   /includes/session.inc
+# Non-voidable transactions removed from selection on voiding page.
+$ /admin/void_transaction.php
+  /includes/ui/ui_lists.inc
 
 27-Dec-2010 Joe Hunt
 ! Prepared for category icons in applications/application.php for themes
index 6066d3ed338a570cf5761cddc0a98035814ead3e..951a7f87e03bda13c31a341ce4d6460590084de9 100644 (file)
@@ -139,12 +139,16 @@ function ref_view($row)
 function voiding_controls()
 {
        global $selected_id;
+
+       $not_implemented =  array(ST_PURCHORDER, ST_SUPPRECEIVE, ST_SALESORDER, 
+               ST_SALESQUOTE, ST_COSTUPDATE);
+
        start_form();
 
     start_table(TABLESTYLE_NOBORDER);
        start_row();
 
-       systypes_list_cells(_("Transaction Type:"), 'filterType', null, true);
+       systypes_list_cells(_("Transaction Type:"), 'filterType', null, true, $not_implemented);
        if (list_updated('filterType'))
                $selected_id = -1;
                
index cae9efbc5f16a34b74f1827e7f395965d515e3a7..14eb54436083283ba3f40cbaa5d4355ea2a499bc 100644 (file)
@@ -1835,11 +1835,13 @@ function pagesizes_list_row($label, $name, $value=null)
        echo "</td></tr>\n";
 }
 
-function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=false)
+function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=false, $exclude=array())
 {
        global $systypes_array;
 
-       return array_selector($name, $value, $systypes_array, 
+       // emove non-voidable transactions if needed
+       $systypes = array_diff_key($systypes_array, array_flip($exclude));
+       return array_selector($name, $value, $systypes, 
                array( 
                        'spec_option'=> $spec_opt,
                        'spec_id' => ALL_NUMERIC,
@@ -1849,19 +1851,19 @@ function systypes_list($name, $value=null, $spec_opt=false, $submit_on_change=fa
        );
 }
 
-function systypes_list_cells($label, $name, $value=null, $submit_on_change=false)
+function systypes_list_cells($label, $name, $value=null, $submit_on_change=false, $exclude=array())
 {
        if ($label != null)
                echo "<td>$label</td>\n";
        echo "<td>";
-       echo systypes_list($name, $value, false, $submit_on_change);
+       echo systypes_list($name, $value, false, $submit_on_change, $exclude);
        echo "</td>\n";
 }
 
-function systypes_list_row($label, $name, $value=null, $submit_on_change=false)
+function systypes_list_row($label, $name, $value=null, $submit_on_change=false, $exclude=array())
 {
        echo "<tr><td class='label'>$label</td>";
-       systypes_list_cells(null, $name, $value, $submit_on_change);
+       systypes_list_cells(null, $name, $value, $submit_on_change, $exclude);
        echo "</tr>\n";
 }