From 4490dd5a20de6aa11a49e7437d99946b011d97c8 Mon Sep 17 00:00:00 2001 From: erickson Date: Fri, 20 Mar 2009 14:26:39 +0000 Subject: [PATCH] initial support for editing provider addrs, contacts, contact addrs. still got some bugs to work out, but mostly functionaly. git-svn-id: svn://svn.open-ils.org/ILS/trunk@12624 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../js/ui/default/conify/global/acq/provider.js | 43 ++++++++++--- .../default/conify/global/acq/provider.tt2 | 75 ++++++++++++++++++---- 2 files changed, 94 insertions(+), 24 deletions(-) diff --git a/Open-ILS/web/js/ui/default/conify/global/acq/provider.js b/Open-ILS/web/js/ui/default/conify/global/acq/provider.js index faa177159b..d6d3056306 100644 --- a/Open-ILS/web/js/ui/default/conify/global/acq/provider.js +++ b/Open-ILS/web/js/ui/default/conify/global/acq/provider.js @@ -1,39 +1,62 @@ dojo.require('openils.widget.AutoGrid'); +dojo.require('dijit.form.FilteringSelect'); dojo.require('openils.PermaCrud'); var provider; - +var contactIds = []; function draw() { if(providerId) { + openils.Util.addCSSClass(dojo.byId('provider-list-div'), 'hidden'); drawProviderSummary(); } else { - openils.Util.removeCSSClass(dojo.byId('provider-list-div'), 'hidden'); - pListGrid.onPostCreate = function(fmObject) { + openils.Util.addCSSClass(dojo.byId('provider-details-div'), 'hidden'); + pListGrid.onPostCreate = function(fmObject) { location.href = location.href + '/' + fmObject.id(); } - pListGrid.loadAll({order_by:{acqpro : 'name'}}); + pListGrid.loadAll({order_by:{acqpro : 'name'}}); } } openils.Util.addOnLoad(draw); function drawProviderSummary() { openils.Util.removeCSSClass(dojo.byId('provider-details-div'), 'hidden'); - openils.Util.addCSSClass(dojo.byId('provider-list-div'), 'hidden'); var pcrud = new openils.PermaCrud(); pcrud.retrieve('acqpro', providerId, { oncomplete : function(r) { provider = openils.Util.readResponse(r); - var pane = new openils.widget.EditPane({fmObject:provider, readOnly:true}, dojo.byId('provider-summary-pane')); + var pane = new openils.widget.EditPane({fmObject:provider}, dojo.byId('provider-summary-pane')); pane.startup(); - + } }); + paListGrid.overrideEditWidgets.provider = new + dijit.form.TextBox({style:'display:none', value: providerId}); + paListGrid.loadAll({order_by:{acqpa : 'provider'}}, {provider : providerId}); + pcListGrid.overrideEditWidgets.provider = new + dijit.form.TextBox({style:'display:none', value: providerId}); + pcListGrid.loadAll( + { + order_by:{acqpc : 'name'}, + + oncomplete: function(){ + pcListGrid.store.fetch({ + onComplete: function(items) { + dojo.forEach(items, function(item) { + contactIds.push(pcListGrid.store.getValue(item, 'id')); } + ); + console.log("contact IDs are " + js2JSON(contactIds)); + pcaListGrid.overrideEditWidgets.contact = new + dijit.form.FilteringSelect({store: pcListGrid.store}); + pcaListGrid.loadAll({order_by:{acqpca : 'contact'}}, {contact: contactIds}); + } + }); + } + }, {provider : providerId}); } function getProviderName(rowIndex, item) { if(!item) return ''; - return '' + + return '' + this.grid.store.getValue(item, 'name') + ''; } - diff --git a/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 b/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 index 27cdf74ba9..82fa9b7b22 100644 --- a/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 +++ b/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 @@ -2,18 +2,16 @@ - -