added a findAttr method directly to the lineitem class since it may be used outside...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 May 2008 18:48:04 +0000 (18:48 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 May 2008 18:48:04 +0000 (18:48 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9605 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/acq/po/view_po.js
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/po/view_po.html

index 92b3eb1..2935532 100644 (file)
@@ -26,6 +26,20 @@ dojo.require('fieldmapper.dojoData');
 /** Declare the Lineitems class with dojo */
 dojo.declare('openils.acq.Lineitems', null, {
     /* add instance methods here if necessary */
+
+    constructor: function(args) {
+        this.lineitem = args.lineitem;
+    },
+
+    findAttr: function(name, type) {
+        var attrs = this.lineitem.attributes();
+        if(!attrs) return null;
+        for(var i = 0; i < attrs.length; i++) {
+            var attr = attrs[i];
+            if (attr.attr_type() == type && attr.attr_name() == name) 
+                return attr.attr_value();
+        }
+    }
 });
 
 openils.acq.Lineitems.ModelCache = {};
@@ -112,4 +126,5 @@ openils.acq.Lineitems.loadGrid = function(domNode, id, layout) {
     }
 };
 
+
 }
index 5618bc9..99fb386 100644 (file)
@@ -8,7 +8,7 @@ dojo.require('openils.Event');
 dojo.require('openils.User');
 dojo.require('fieldmapper.OrgUtils');
 dojo.require('openils.acq.Provider');
-dojo.require('openils.acq.Picklist');
+dojo.require('openils.acq.Lineitems');
 dojo.require('dojo.date.locale');
 dojo.require('dojo.date.stamp');
 
@@ -44,36 +44,36 @@ function getLi(id) {
     for(var i in lineitems) {
         var li = lineitems[i];
         if(li.id() == id) 
-            return openils.acq.Picklist.cache[id] = li;
+            return li;
     }
 }
 
 function getJUBTitle(rowIndex) {
     var data = liGrid.model.getRow(rowIndex);
     if(!data) return '';
-    getLi(data.id);
-    return openils.acq.Picklist.find_attr(data.id, 'title', 'lineitem_marc_attr_definition')
+    return new openils.acq.Lineitems(
+        {lineitem:getLi(data.id)}).findAttr('title', 'lineitem_marc_attr_definition')
 }
 
 function getJUBIsbn(rowIndex) {
     var data = liGrid.model.getRow(rowIndex);
     if(!data) return '';
-    getLi(data.id);
-    return openils.acq.Picklist.find_attr(data.id, 'isbn', 'lineitem_marc_attr_definition')
+    return new openils.acq.Lineitems(
+        {lineitem:getLi(data.id)}).findAttr('isbn', 'lineitem_marc_attr_definition')
 }
 
 function getJUBPubdate(rowIndex) {
     var data = liGrid.model.getRow(rowIndex);
     if(!data) return '';
-    getLi(data.id);
-    return openils.acq.Picklist.find_attr(data.id, 'pubdate', 'lineitem_marc_attr_definition')
+    return new openils.acq.Lineitems(
+        {lineitem:getLi(data.id)}).findAttr('pubdate', 'lineitem_marc_attr_definition')
 }
 
 function getJUBPrice(rowIndex) {
     var data = liGrid.model.getRow(rowIndex);
     if(!data) return;
-    getLi(data.id);
-    return openils.acq.Picklist.find_attr(data.id, 'price', 'lineitem_marc_attr_definition')
+    return new openils.acq.Lineitems(
+        {lineitem:getLi(data.id)}).findAttr('price', 'lineitem_marc_attr_definition')
 }
 
 function loadPOGrid() {
index 3e4b664..0485528 100644 (file)
@@ -8,6 +8,7 @@
     var poId = ${c.oils.acq.po_id.value};
 </script>
 <script src='${c.oils.core.media_prefix.value}/ui_js/oils/default/acq/po/view_po.js'> </script>
+<script src='${c.oils.core.media_prefix.value}/js/dojo/openils/acq/Lineitems.js'> </script>
 
 <div id='oils-acq-list-header' class='container'>
     <div id='oils-acq-list-header-label'>${_('PO Details')}</div>