added jub delete button
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 15 Jul 2008 14:50:34 +0000 (14:50 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 15 Jul 2008 14:50:34 +0000 (14:50 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10053 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/common/jubgrid.js
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/common/jubgrid.html

index 4fcad6e..609e91c 100644 (file)
@@ -147,6 +147,51 @@ var JUBGrid = {
        }
     },
 
+    removeSelectedJUBs: function(evt) {
+
+        function deleteList(list, idx, oncomplete) {
+            if(idx >= list.length) 
+                return oncomplete();
+            fieldmapper.standardRequest([
+                'open-ils.acq',
+                'open-ils.acq.lineitem.delete'], 
+                {   async: true,
+                    params: [openils.User.authtoken, list[idx].id()],
+                    oncomplete: function(e) {
+                        deleteList(list, ++idx, oncomplete);
+                    }
+                }
+            );
+        }
+
+        var lineitems = JUBGrid.lineitems;
+        var deleteMe = [];
+        var keepMe = [];
+        var selected = JUBGrid.jubGrid.selection.getSelected();
+
+        for(var id in lineitems) {
+            var deleted = false;
+            for(var i = 0; i < selected.length; i++) {
+                var rowIdx = selected[i];
+                   var jubid = JUBGrid.jubGrid.model.getRow(rowIdx).id;
+                if(jubid == id) {
+                    deleteMe.push(lineitems[id]);
+                    deleted = true;
+                }
+            }
+            if(!deleted) 
+                keepMe.push(lineitems[id]);
+        }
+
+        JUBGrid.lineitems = keepMe;
+        deleteList(deleteMe, 0, function(){
+            JUBGrid.jubGrid.model.store = 
+                new dojo.data.ItemFileReadStore({data:jub.toStoreData(keepMe)});
+            JUBGrid.jubGrid.model.refresh();
+            JUBGrid.jubGrid.update();
+        });
+    },
+
     deleteLID: function(evt) {
        var list =[];
        var selected = JUBGrid.jubDetailGrid.selection.getSelected();
index 7ebefce..0493ecf 100644 (file)
@@ -118,6 +118,9 @@ pointing to the JUB model (and store) that you have created.
             <button dojoType="dijit.form.Button" onclick="JUBGrid.approveJUB">
                 ${_('Approve Selected Titles')}
             </button>
+            <button dojoType="dijit.form.Button" onclick="JUBGrid.removeSelectedJUBs">
+                ${_('Remove Selected Titles')}
+            </button>
         </div>
 % endif
         <div structure='JUBGrid.jubGridLayout' jsid='${grid_jsid}'