Filter item with like and regexp.
authorMaxime Bourget <bmx007@gmail.com>
Sun, 9 Jun 2013 09:18:36 +0000 (10:18 +0100)
committerMaxime Bourget <bmx007@gmail.com>
Sun, 9 Jun 2013 09:22:12 +0000 (10:22 +0100)
includes/order_lines.inc
order_lines_view.php

index 87a83f01f6b58e73a029467d42612be7750e426c..49a8790b26be82724a5c9846472e52af4411b5af 100644 (file)
@@ -185,7 +185,7 @@ $row_id = $row['id'];
 ";
 }
 
-function get_order_details_extra($customer_id, $location) {
+function get_order_details_extra($customer_id, $location, $item_like) {
        $sql = "SELECT sod.id
        , so.order_no
        , stk_code
@@ -208,6 +208,15 @@ function get_order_details_extra($customer_id, $location) {
        WHERE sod.quantity > qty_sent
        ";
 
+       if($item_like) {
+                       if($item_like[0]=='/')  {
+                               $regexp = substr($item_like, 1);
+                               $sql .= " AND stk_code RLIKE '$regexp'";
+                       }
+                       else 
+                               $sql .= " AND stk_code LIKE '$item_like'";
+       }
+
        return $sql;
 }
 
index 3fd66b7cede02e41571cab989c4530179bd1a517..72d38fcdaca75b2d198cb54d2cad43dbd2d70c4e 100644 (file)
@@ -57,6 +57,19 @@ else {
 }
 customer_list_cells(_("Select a customer: "), 'customer_id', $customer_id, true, true);
 
+if($customer_id !== null) {
+       if(!isset($_POST['item_like'])) {
+               if(isset($_GET['item_like'])) {
+                       $item_like = $_GET['item_like'];
+                       $_POST['item_like'] = $item_like;
+               }
+               else $item_like = null;
+       }
+       else $item_like = $_POST['item_like'];
+       text_cells_ex('Filter Item', 'item_like', 50, null, $item_like,
+                       null, null, null, true );
+}
+
 
 
 
@@ -71,7 +84,7 @@ end_table(1);
 //     Orders inquiry table
 //
 if($customer_id) {
-       $sql = get_order_details_extra($customer_id, 'DEF');
+       $sql = get_order_details_extra($customer_id, 'DEF', $item_like);
        $cols = array(
                'detail_id' => 'skip'
                ,       _("Order #") => array('fun'=>'view_link', 'ord' => '')