Show
Ignore:
Timestamp:
04/21/08 21:58:31 (6 months ago)
Author:
erickson
Message:

updating provider grid code. added provider retrieval method

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/list_providers.html

    r9239 r9422  
    11# -*- coding: utf-8 -*- 
    22<%inherit file='../base.html'/> 
    3 <%namespace file='../../common/widgets.html' name='widget'/> 
    43<%def name="page_title()">${_('Providers')}</%def> 
    54<%def name="block_content()"> 
    65 
     6<script type="text/javascript"> 
     7    dojo.require("dijit.Dialog"); 
     8    dojo.require("dijit.form.FilteringSelect"); 
     9    dojo.require('openils.acq.Provider'); 
     10    dojo.require('openils.Event'); 
     11    dojo.require('openils.acq.CurrencyType'); 
     12</script> 
     13 
    714<div id='oils-acq-list-header' class='container'> 
    815    <div id='oils-acq-list-header-label'>${_('Providers')}</div> 
    9     <div id='oils-acq-list-header-actions'> 
    10         <a href='${c.oils.acq.prefix.value}/provider/create'>${_('New Provider')}</a> 
    11     </div> 
    1216</div> 
    13 <div id='oils-acq-provider-grid'> </div> 
     17 
     18<!-- The main grid lives here --> 
     19<div jsId='providerListGrid' dojoType="dojox.Grid"></div> 
     20 
    1421<script> 
    15     dojo.require('openils.acq.Provider'); 
    1622 
    17     /* define the layout columns */ 
    18     var cols = [ 
    19         {name: '${_("ID")}', field: 'id'}, 
    20         {name: '${_("Name")}', field: "name"},  
    21         {name: '${_("Owner")}', field: "owner"},  
    22         {name: '${_("Currency Type")}', field: "currency_type"} 
    23     ]; 
     23    function loadProviderGrid() { 
     24        openils.User.getBySession(); 
    2425 
    25     /* build the provider grid on page load */ 
    26     dojo.addOnLoad(function(){openils.acq.Provider.loadGrid('oils-acq-provider-grid', cols)}); 
     26        /** define how the primary grid is rendered */ 
     27 
     28        function getOrgInfo(rowIndex) { 
     29            data = providerListGrid.model.getRow(rowIndex); 
     30            if(!data) return; 
     31            return fieldmapper.aou.findOrgUnit(data.owner).shortname(); 
     32        } 
     33 
     34        function getName(rowIndex) { 
     35            data = providerListGrid.model.getRow(rowIndex); 
     36            if(!data) return; 
     37            return '<a href="${c.oils.acq.prefix.value}/provider/view/'+data.id+'">'+data.name+'</a>'; 
     38        } 
     39     
     40        var gridStructure = [{ 
     41            cells : [[ 
     42                {name: '${_("ID")}', field: 'id'}, 
     43                {name: '${_("Name")}', get:getName, width:'auto'},  
     44                {name: '${_("Owner")}', get:getOrgInfo},  
     45                {name: '${_("Currency Type")}', field: "currency_type"} 
     46            ]] 
     47        }]; 
     48 
     49        openils.acq.Provider.createStore( 
     50            function(storeData) { 
     51                var store = new dojo.data.ItemFileReadStore({data:storeData}); 
     52                var model = new dojox.grid.data.DojoData(null, store,  
     53                    {rowsPerPage: 20, clientSort: true, query:{id:'*'}}); 
     54                providerListGrid.setStructure(gridStructure); 
     55                providerListGrid.setModel(model); 
     56                providerListGrid.update(); 
     57            } 
     58        ); 
     59    } 
     60 
     61    dojo.addOnLoad(loadProviderGrid); 
    2762</script> 
     63 
    2864</%def>