From: erickson Date: Mon, 17 Aug 2009 16:14:51 +0000 (+0000) Subject: using new fund year list to populate year selector X-Git-Tag: sprint4-merge-nov22~9534 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c485914625cbbf40c107a40b3f2c24a455b831b2;p=working%2FEvergreen.git using new fund year list to populate year selector git-svn-id: svn://svn.open-ils.org/ILS/trunk@13848 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/ui/default/acq/financial/list_funds.js b/Open-ILS/web/js/ui/default/acq/financial/list_funds.js index 50f65ac52f..e44d7477a1 100644 --- a/Open-ILS/web/js/ui/default/acq/financial/list_funds.js +++ b/Open-ILS/web/js/ui/default/acq/financial/list_funds.js @@ -25,13 +25,15 @@ function getBalanceInfo(rowIndex, item) { return 0; } -function loadFundGrid(year) { - var yearStore = {identifier:'year', name:'year', items:[]}; - var yearsAdded = {}; /* don't duplicate the years in the selector */ - lfGrid.resetStore(); +function initPage() { + loadYearSelector(); + loadFundGrid(); +} - if(!year) year = new Date().getFullYear().toString(); +function loadFundGrid(year) { + lfGrid.resetStore(); + year = year || new Date().getFullYear().toString(); lfGrid.dataLoader = function() { loadFundGrid(year); }; fieldmapper.standardRequest( @@ -52,29 +54,40 @@ function loadFundGrid(year) { if(lf = openils.Util.readResponse(r)) { openils.acq.Fund.cache[lf.id()] = lf; lfGrid.store.newItem(acqf.toStoreItem(lf)); - var year = lf.year(); - if(!(year in yearsAdded)) { - yearStore.items.push({year:year}); - yearsAdded[year] = 1; - } } }, oncomplete : function(r) { + lfGrid.hideLoadProgressIndicator(); + } + } + ); +} + +function loadYearSelector() { + + fieldmapper.standardRequest( + ['open-ils.acq', 'open-ils.acq.fund.org.years.retrieve'], + { async : true, + params : [openils.User.authtoken], + oncomplete : function(r) { + + var yearList = openils.Util.readResponse(r); + if(!yearList) return; + yearList = yearList.map(function(year){return {year:year+''};}); // dojo wants strings + + var yearStore = {identifier:'year', name:'year', items:yearList}; yearStore.items = yearStore.items.sort().reverse(); fundFilterYearSelect.store = new dojo.data.ItemFileReadStore({data:yearStore}); - var today = new Date().getFullYear().toString(); - if(today in yearsAdded) - fundFilterYearSelect.setValue(today); - - lfGrid.hideLoadProgressIndicator(); + // default to this year + fundFilterYearSelect.setValue(new Date().getFullYear().toString()); dojo.connect( fundFilterYearSelect, 'onChange', function() { - loadFundGrid(fundFilterYearSelect.getValue()); + loadFundGrid(fundFilterYearSelect.attr('value')); } ); } @@ -82,6 +95,5 @@ function loadFundGrid(year) { ); } - -openils.Util.addOnLoad(loadFundGrid); +openils.Util.addOnLoad(initPage);