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 @@
=$form->input('product', array('label'=>'Product', 'id'=>'productSelect', 'empty'=>'Choose Products', 'options'=>$products));?>
+
+=json_encode($products); ?>
+
+
+=$form->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 @@
echo $form->input('Product.principle_id', array('id'=>'principleSelect', 'label'=>'Principle','empty'=>'Select Principle'));?>
+
+
+=$form->input('product_search', array('label'=>'Search Product title', 'id'=>'productSearch'));?>
+
+
+
-
- OR search for product
-
-
-
-
diff --git a/app/webroot/js/document_add_edit.js b/app/webroot/js/document_add_edit.js
index 0c9b222d..76eaaf75 100755
--- a/app/webroot/js/document_add_edit.js
+++ b/app/webroot/js/document_add_edit.js
@@ -279,21 +279,56 @@ $(function() {
});
+ var products = {};
$("#principleSelect").live('change',function() {
+
var principleID = getSelectedID('#principleSelect');
$("#productDetails").hide();
$.get('/documents/getProducts/'+principleID, function(data) {
$('#productsDiv').html(data);
+
+ var resp = $(data).filter(".products_json");
+ products = jQuery.parseJSON(resp.html());
+
});
});
+ //ProductSearch
+ $("#productSearch").live('change', function() {
+ console.log("CHANGING");
+ var searchVal = $("#productSearch").val();
+
+
+ searchVal = searchVal.toLowerCase();
+ var param = "term="+searchVal;
+
+ $.getJSON("/products/autocomplete", param, function(data) {
+
+ $("#productList").empty();
+
+ for(var id in data) {
+ var link = "
"+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);