added year filter
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 15 Jul 2008 00:43:42 +0000 (00:43 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 15 Jul 2008 00:43:42 +0000 (00:43 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10037 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial/list_funds.js
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/list_funds.html

index 0f059f9..5b047ef 100644 (file)
@@ -8,8 +8,6 @@ dojo.require('openils.acq.CurrencyType');
 dojo.require('openils.Event');
 dojo.require('openils.acq.Fund');
 
-var globalUser = new openils.User();
-
 function getOrgInfo(rowIndex) {
     data = fundListGrid.model.getRow(rowIndex);
     if(!data) return;
@@ -31,9 +29,34 @@ function loadFundGrid() {
                 {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
             fundListGrid.setModel(model);
             fundListGrid.update();
+
+            var yearStore = {identifier:'year', name:'year', items:[]};
+
+            var added = [];
+            for(var i = 0; i < storeData.items.length; i++) {
+                var year = storeData.items[i].year;
+                if(added.indexOf(year) == -1) {
+                    yearStore.items.push({year:year});
+                    added.push(year);
+                }
+            }
+            yearStore.items = yearStore.items.sort().reverse();
+            fundFilterYearSelect.store = new dojo.data.ItemFileReadStore({data:yearStore});
+            var today = new Date().getFullYear().toString();
+            fundFilterYearSelect.setValue((added.indexOf(today != -1)) ? today : added[0]);
         }
     );
 }
 
+function filterGrid() {
+    var year = fundFilterYearSelect.getValue();
+    if(year) 
+        fundListGrid.model.query = {year:year};
+    else
+        fundListGrid.model.query = {id:'*'};
+    fundListGrid.model.refresh();
+    fundListGrid.update();
+}
+
 dojo.addOnLoad(loadFundGrid);
 
index c83c7da..8d19b49 100644 (file)
@@ -36,7 +36,7 @@
         <div dojoType="dijit.TooltipDialog" execute="createFund(arguments[0]);">
             <script type='dojo/connect' event='onOpen'>
                 openils.acq.CurrencyType.loadSelectWidget(fundCurrencySelector);
-                globalUser.buildPermOrgSelector('ADMIN_FUND', fundOwnerSelect);
+                new openils.User().buildPermOrgSelector('ADMIN_FUND', fundOwnerSelect);
             </script>
 
             <table class='dijitTooltipTable'>
                 fundListGrid, function(){location.href = location.href})">
         ${_('Delete Selected')}
     </button>
+
+    <label>${_('Year')}</label>
+    <select dojoType='dijit.form.FilteringSelect' onchange='filterGrid();' style='width:100px;'
+        jsId='fundFilterYearSelect' labelAttr='year' searchAttr='year'> </select>
 </div>
 
 <!-- The main grid lives here -->