Properly update acqlid grid after adding/deleting an acqlid
authordjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 30 May 2008 02:17:14 +0000 (02:17 +0000)
committerdjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 30 May 2008 02:17:14 +0000 (02:17 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9735 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/acq/Lineitems.js
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 e643db3..00aeec3 100644 (file)
@@ -139,8 +139,10 @@ openils.acq.Lineitems.createLID = function(fields, onCreateComplete) {
          params: [openils.User.authtoken, lid],
          oncomplete: function(r) {
              var msg = r.recv();
+
+             fields.id = msg.content();
              if (onCreateComplete) {
-                 onCreateComplete(lid);
+                 onCreateComplete(fields);
              }
          }
        });
index 8d34c8d..1fb7919 100644 (file)
@@ -102,15 +102,22 @@ var JUBGrid = {
            var updateCount = function(item) {
                var newval = JUBGrid.jubGrid.model.store.getValue(item, "item_count");
                JUBGrid.jubGrid.model.store.setValue(item, "item_count", newval-1);
-               JubGrid.jubGrid.update();
+               JUBGrid.jubGrid.update();
            };
 
            JUBGrid.jubGrid.model.store.fetch({query:{id:JUBGrid.jubDetailGrid.lineitemID},
                                               onItem: updateCount});
        }
     },
-    createLID: function(evt) {
-       console.dir(evt);
+
+    createLID: function(fields) {
+       fields['lineitem'] = JUBGrid.jubDetailGrid.lineitemID;
+       var addToStore = function () {
+           JUBGrid.jubDetailGrid.model.store.newItem(fields);
+           JUBGrid.jubGrid.update();
+           JUBGrid.jubGrid.refresh();
+       }
+       openils.acq.Lineitems.createLID(fields, addToStore);
     },
 };
 
index edda163..57c7134 100644 (file)
@@ -70,13 +70,6 @@ pointing to the JUB model (and store) that you have created.
            },
         ]]
     }];
-
-    function createLID(fields) {
-       fields['lineitem'] = JUBGrid.jubDetailGrid.lineitemID;
-       openils.acq.Lineitems.createLID(fields,
-                       function (lidId) {
-                       });
-    }
     </script>
 
     <div id="${domprefix + '-container'}"
@@ -90,7 +83,7 @@ pointing to the JUB model (and store) that you have created.
            <div dojoType="dijit.form.DropDownButton">
                <span>${_('New Copy')}</span>
                <div dojoType="dijit.TooltipDialog"
-                    execute="createLID(arguments[0]);">
+                    execute="JUBGrid.createLID(arguments[0]);">
                    <script type='dojo/connect' event='onOpen'>
                        globalUser.buildPermOrgSelector('MANAGE_FUND', copyOwnerSelect);
                        openils.acq.Fund.buildPermFundSelector('MANAGE_FUND', acqlidFund);