From dcf2501f6e4a97f3d945912ee3617091230d3e5e Mon Sep 17 00:00:00 2001 From: Karl Cordes Date: Mon, 21 Apr 2014 18:14:09 +1000 Subject: [PATCH] implemented search for adding and editing line items. --- app/controllers/products_controller.php | 3 -- app/views/documents/get_products.ctp | 5 +++ app/views/elements/add_edit_line_item.ctp | 12 +++---- app/webroot/js/document_add_edit.js | 43 ++++++++++++++++++++++- 4 files changed, 53 insertions(+), 10 deletions(-) diff --git a/app/controllers/products_controller.php b/app/controllers/products_controller.php index e0756af9..75cb4cf4 100755 --- a/app/controllers/products_controller.php +++ b/app/controllers/products_controller.php @@ -176,7 +176,6 @@ class ProductsController extends AppController { } App::import('Core', 'Sanitize'); - $query = Sanitize::clean($query); $products = $this->Product->find('list', array( @@ -187,8 +186,6 @@ class ProductsController extends AppController { 'order' => array('Product.title ASC') )); - //Cakephp. You are awful. Past Karl was an idiot - $products_json = json_encode($products); $this->set('products_json', $products_json); diff --git a/app/views/documents/get_products.ctp b/app/views/documents/get_products.ctp index de138b77..624fb010 100755 --- a/app/views/documents/get_products.ctp +++ b/app/views/documents/get_products.ctp @@ -1 +1,6 @@ input('product', array('label'=>'Product', 'id'=>'productSelect', 'empty'=>'Choose Products', 'options'=>$products));?> + + + + +input('product_search', array('label'=>'Search Product title', 'id'=>'productSearch'));?> diff --git a/app/views/elements/add_edit_line_item.ctp b/app/views/elements/add_edit_line_item.ctp index e49e3121..701b5694 100755 --- a/app/views/elements/add_edit_line_item.ctp +++ b/app/views/elements/add_edit_line_item.ctp @@ -1,13 +1,13 @@ input('Product.principle_id', array('id'=>'principleSelect', 'label'=>'Principle','empty'=>'Select Principle'));?> + + +input('product_search', array('label'=>'Search Product title', 'id'=>'productSearch'));?> + + +


-
- OR search for product - - - -
"+data[id]+""; + $("#productList").append(link); + } + + + }); + + }); + + $(".search_product").live('click', function() { + var productID = $(this).data('product-id'); + getProductDetails(productID); + }); + $("#productSelect").live('change',function() { var productID = getSelectedID('#productSelect'); + getProductDetails(productID); }); @@ -326,16 +361,22 @@ $(function() { } //Autocomplete product title for adding lineItem + + + $( "#productAutocomplete" ).live('focus', function() { $(this).autocomplete({ source: "/products/autocomplete", minLength: 2, select: function( event, ui ) { console.log(ui); - } + }, + appendTo: '#searchProducts' }); }); + $("#productAutocomplete").insertAfter(); + // Initialize the editor. // Callback function can be passed and executed after full instance creation. $('.page').ckeditor(config);