invoice search : limit to invoice provider option
authorBill Erickson <berick@esilibrary.com>
Thu, 19 Jul 2012 16:27:41 +0000 (12:27 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 19 Jul 2012 16:27:41 +0000 (12:27 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/acq/invoice/view.tt2
Open-ILS/web/js/ui/default/acq/invoice/view.js

index ba4fbb9..695fba7 100644 (file)
                             <button onclick='addSelectedToInvoice()'>
                                 [% l('Add Selected Items to Invoice') %]
                             </button>
+                            <span style='padding-left: 20px;'>
+                                <input type='checkbox' id='acq-invoice-search-limit-provider' checked='checked'/>
+                                [% l('Limit Resutls to Invoice Provider') %]
+                            </span>
                         </div>
                     </div> <!-- end search form -->
                     <div id='acq-unified-results-lineitem'>
index 11a214d..762a621 100644 (file)
@@ -229,7 +229,19 @@ function performSearch() {
     var searchObject = termManager.buildSearchObject();
     dojo.cookie('invs', base64Encode(searchObject));
     dojo.cookie('invc', dojo.byId("acq-unified-conjunction").getValue());
+
+    // if no provider filter is applied and a provider has been selected
+    // for this invoice, limit lineitems to the those using the invoice provider
+    var provider = invoicePane.getFieldValue('provider');
+    if (provider && dojo.byId('acq-invoice-search-limit-provider').checked) {
+        if (!searchObject.jub) 
+            searchObject.jub = [];
+        if (!searchObject.jub.filter(function(i) { return i.provider != null }).length)
+            searchObject.jub.push({provider : provider});
+    }
+
     resultManager.go(searchObject)
+    console.log(js2JSON(searchObject));
 }
 
 
@@ -260,7 +272,6 @@ function renderUnifiedSearch() {
             }
         };
 
-
         var searchObject = dojo.cookie('invs');
         if (searchObject) {
             // if there is a search object cookie, populate the search form