invoice search add-to-invoice action; part 1
authorBill Erickson <berick@esilibrary.com>
Mon, 16 Jul 2012 18:45:06 +0000 (14:45 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 25 Jul 2012 14:36:24 +0000 (10:36 -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 f8d51a8..b3a14f4 100644 (file)
                         <div>
                             <button
                                 onclick="resultManager.go(termManager.buildSearchObject())">
-                                Search
+                                [% l('Search') %]
+                            </button>
+                            <button 
+                                onclick='addSelectedToInvoice()'>
+                                [% l('Add Selected Items to Invoice') %]
                             </button>
                         </div>
                     </div> <!-- end search form -->
                     <div id='acq-unified-results-lineitem'>
-                        <button dojoType='dijit.form.Button'>Add Selected Items</button><br/>
                         <style>
                             #acq-invoice-search-results-tbody  { width: 100%; }
                             #acq-invoice-search-results-tbody td { 
index 5de2bf9..300ecf9 100644 (file)
@@ -155,10 +155,10 @@ function renderInvoice() {
     if(attachPo.length) doAttachPo(0);
 }
 
-function doAttachLi() {
+function doAttachLi(skipInit) {
 
     //var invoiceArgs = {provider : lineitem.provider(), shipper : lineitem.provider()}; 
-    if(cgi.param('create')) {
+    if(cgi.param('create') && !skipInit) {
 
         // use the first LI in the list to determine the default provider
         fieldmapper.standardRequest(
@@ -284,6 +284,7 @@ function searchResultsLoader() {
         console.log('Adding search result lineitem ' + li_id);
         var row = resultsRow.cloneNode(true);
         resultsTbody.appendChild(row);
+        dojo.query('[name=search-results-checkbox]', row)[0].setAttribute('lineitem', li_id);
         openils.acq.Lineitem.fetchAndRender(
             li_id, {}, 
             function(li, html) { 
@@ -293,6 +294,18 @@ function searchResultsLoader() {
     }
 }
 
+function addSelectedToInvoice() {
+    var inputs = dojo.query('[name=search-results-checkbox]');
+    dojo.forEach(inputs,
+        function(checkbox) {
+            if (checkbox.checked) {
+                attachLi = checkbox.getAttribute('lineitem');
+                doAttachLi(true);
+            }
+        }
+    );
+}
+
 function updateTotalCost() {
 
     var totalCost = 0;