2 [% ctx.page_title = l('Purchase Orders') %]
3 <script type="text/javascript">
4 var poIds = function(s) {
5 return s == "" ? undefined :
6 s.split(",").map(function(t) { return Number(t); });
7 }("[% ctx.page_args.0 %]");
9 <div id='oils-acq-list-header' class='container'>
10 <div id='oils-acq-list-header-label'>[% l('PO Search') %]</div>
13 <div id="oils-acq-po-heading-template" class="hidden">
14 <span>[% l('Purchase Order: [_1]', '<a attr="name"></a>') %]</span>
15 <span>[% l('Total Lineitems: [_1]', '<span attr="lineitem_count"></span>') %]</span>
16 <span>[% l('Total Encumbered: $[_1]', '<span attr="amount_encumbered">') %]</span></span>
17 <span>[% l('Total Spent: $[_1]', '<span attr="amount_spent"></span>') %]</span>
18 <span>[% l('Total Copies: [_1]', '<span attr="copies"></span>') %]</span>
19 <span>[% l('Status: [_1]', '<span attr="state"></span>') %]</span>
20 <span><a class="hidden" attr="activator" href="javascript:void(0);">[% l('Activate Order') %]</a></span>
23 <script type="text/javascript">
24 function formatId(id) {
25 if(id) return '<a href="[% ctx.base_path %]/acq/po/view/' + id + '">'+id;
30 <form dojoType='dijit.form.Form' action='' method='' id='oils-acq-po-search-form'>
32 <script type="dojo/method" event="onSubmit">
33 doSearch(this.getValues());
34 return false; /* don't redirect */
37 <div class='oils-acq-basic-form-div'>
39 <label for='id'>[% l('ID') %]</label>
40 <input dojoType='dijit.form.NumberTextBox' name='id'> </input>
42 <label for='provider'>[% l('Provider') %]</label>
43 <input id='po-search-provider-selector'/>
45 <label for='state'>[% l('State') %]</label></td>
46 <script type="text/javascript">
47 dojo.require('dojo.data.ItemFileReadStore');
48 var stateStore = new dojo.data.ItemFileReadStore({
53 /* FIXME This is probably not the correct final list of
55 {name:"[% l('New') %]", value:'new'},
56 {name:"[% l('In Process') %]", value:'in-process'},
57 {name:"[% l('Pending') %]", value:'pending'},
58 {name:"[% l('On order') %]", value:'on-order'}
63 <input dojoType='dijit.form.FilteringSelect'
71 <label for='ordering_agency'>[% l('Ordering Agency') %]</label>
72 <input id='po-search-agency-selector'/>
74 <span dojoType='dijit.form.Button' type='submit'>[% l('Search') %]</span>
76 <div class="oils-acq-basic-form-div">
77 <input dojoType="dijit.form.CheckBox" value="1" name="metapo_view"
78 id="metapo_view" type="checkbox" />
79 <label for="metapo_view">[% l('Show results as a virtual combined PO') %]</label>
83 <div dojoType="dijit.layout.ContentPane" layoutAlign="client" id="holds_po_grid">
88 dojoType="openils.widget.AutoGrid"
90 fieldOrder="['id', 'owner', 'ordering_agency', 'provider', 'create_time', 'edit_time', 'state']"
91 suppressFields="['owner', 'editor', 'creator']"
93 defaultCellWidth='"auto"'
94 showSequenceFields='true'
99 <th field="id" formatter='formatId'>[% l('ID') %]</th>
101 <th field="owner" get='getPOOwner'></th>
106 <div comment='dojo-needs-me'></div>
108 <div id="oils-acq-holds-metapo-summary" class="hidden">
109 <table id="oils-acq-metapo-summary">
112 <th colspan="2">[% l('Results Summary') %]</th>
117 <th>[% l('Total Purchase Orders:') %]</th>
118 <td id="oils-acq-metapo-summary-po"></td>
121 <th>[% l('Total Lineitems:') %]</th>
122 <td id="oils-acq-metapo-summary-lineitem_count"></td>
125 <th>[% l('Total Copies:') %]</th>
126 <td id="oils-acq-metapo-summary-copies"></td>
129 <th>[% l('Total Encumbered:') %]</th>
130 <td>$<span id="oils-acq-metapo-summary-amount_encumbered"></span></td>
133 <th>[% l('Total Spent:') %]</th>
134 <td>$<span id="oils-acq-metapo-summary-amount_spent"></span></td>
139 [% INCLUDE 'acq/common/li_table.tt2' %]
141 <!-- load the page-specific JS -->
142 <script type="text/javascript" src='[% ctx.media_prefix %]/js/ui/default/acq/po/search.js'> </script>