From 5f2f92c00c1c5d6943f7f5b8fbf42eeb5217bf58 Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 5 May 2009 19:30:33 +0000 Subject: [PATCH] added collection code. update copy count in li list when an li's copy count changes git-svn-id: svn://svn.open-ils.org/ILS/trunk@13081 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/ui/default/acq/common/li_table.js | 26 +++++++++++++++++----- .../web/templates/default/acq/common/li_table.tt2 | 3 +++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/Open-ILS/web/js/ui/default/acq/common/li_table.js b/Open-ILS/web/js/ui/default/acq/common/li_table.js index d315024fde..94c507854d 100644 --- a/Open-ILS/web/js/ui/default/acq/common/li_table.js +++ b/Open-ILS/web/js/ui/default/acq/common/li_table.js @@ -24,6 +24,9 @@ function nodeByName(name, context) { return dojo.query('[name='+name+']', context)[0]; } + +var liDetailFields = ['fund', 'owning_lib', 'location', 'collection_code', 'circ_modifier', 'cn_label']; + function AcqLiTable() { var self = this; @@ -172,10 +175,13 @@ function AcqLiTable() { dojo.query('[attr=title]', row)[0].onclick = function() {self.drawInfo(li.id())}; dojo.query('[name=copieslink]', row)[0].onclick = function() {self.drawCopies(li.id())}; - dojo.query('[name=count]', row)[0].innerHTML = li.item_count() || 0; dojo.query('[name=notes_count]', row)[0].innerHTML = li.lineitem_notes().length; dojo.query('[name=noteslink]', row)[0].onclick = function() {self.drawLiNotes(li)}; + var countNode = nodeByName('count', row); + countNode.innerHTML = li.item_count() || 0; + countNode.id = 'acq-lit-copy-count-label-' + li.id(); + var priceInput = dojo.query('[name=price]', row)[0]; var priceData = liWrapper.getPrice(); priceInput.value = (priceData) ? priceData.price : ''; @@ -495,6 +501,10 @@ function AcqLiTable() { params: [openils.User.authtoken], oncomplete: function(r) { self.distribForms = openils.Util.readResponse(r); + if(!self.distribForms || self.distribForms.length == 0) { + self.distribForms = []; + return onload(); + } self.distribFormulaStore = new dojo.data.ItemFileReadStore( {data:acqdf.toStoreData(self.distribForms)}); @@ -507,7 +517,7 @@ function AcqLiTable() { this._drawBatchCopyWidgets = function() { var row = this.copyBatchRow; - dojo.forEach(['fund', 'owning_lib', 'location', 'circ_modifier', 'cn_label'], + dojo.forEach(liDetailFields, function(field) { if(self.copyBatchRowDrawn) { self.copyBatchWidgets[field].attr('value', null); @@ -532,10 +542,9 @@ function AcqLiTable() { this.batchCopyUpdate = function() { var self = this; - var fields = ['fund', 'owning_lib', 'location', 'circ_modifier', 'cn_label']; for(var k in this.copyWidgetCache) { var cache = this.copyWidgetCache[k]; - dojo.forEach(fields, function(f) { + dojo.forEach(liDetailFields, function(f) { var newval = self.copyBatchWidgets[f].attr('value'); if(newval) cache[f].attr('value', newval); }); @@ -576,14 +585,14 @@ function AcqLiTable() { row.setAttribute('copy_id', copy.id()); self.copyWidgetCache[copy.id()] = {}; - dojo.forEach(['fund', 'owning_lib', 'location', 'barcode', 'cn_label', 'circ_modifier', 'note'], + dojo.forEach(liDetailFields, function(field) { var widget = new openils.widget.AutoFieldWidget({ fmObject : copy, fmField : field, fmClass : 'acqlid', parentNode : dojo.query('[name='+field+']', row)[0], - orgLimitPerms : ['CREATE_PICKLIST'], + orgLimitPerms : ['CREATE_PICKLIST', 'CREATE_PURCHASE_ORDER'], readOnly : self.isPO }); widget.build( @@ -635,16 +644,21 @@ function AcqLiTable() { var self = this; var copies = []; + openils.Util.show('acq-lit-update-copies-progress'); + var total = 0; for(var id in this.copyCache) { var c = this.copyCache[id]; + if(!c.isdeleted()) total++; if(c.isnew() || c.ischanged() || c.isdeleted()) { if(c.id() < 0) c.id(null); copies.push(c); } } + dojo.byId('acq-lit-copy-count-label-' + liId).innerHTML = total; + if(copies.length == 0) return; diff --git a/Open-ILS/web/templates/default/acq/common/li_table.tt2 b/Open-ILS/web/templates/default/acq/common/li_table.tt2 index 14614d1c7a..f317ff8d70 100644 --- a/Open-ILS/web/templates/default/acq/common/li_table.tt2 +++ b/Open-ILS/web/templates/default/acq/common/li_table.tt2 @@ -191,6 +191,7 @@
+
@@ -218,6 +219,7 @@ Owning Branch Shelving Location + Collection Code Fund Circ Modifier Callnumber @@ -230,6 +232,7 @@
+
-- 2.11.0