1 [% WRAPPER default/base.tt2 %]
2 [% ctx.page_title = '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'>PO Search</div>
13 <div id="oils-acq-po-heading-template" class="hidden">
14 <span>Purchase Order: <a attr="name"></a></span>
15 <span>Total Lineitems: <span attr="lineitem_count"></span></span>
16 <span>Total Encumbered: $<span attr="amount_encumbered"></span></span>
17 <span>Total Spent: $<span attr="amount_spent"></span></span>
18 <span>Total Copies: <span attr="copies"></span></span>
19 <span>Status: <span attr="state"></span></span>
20 <span><a class="hidden" attr="activator" href="javascript:void(0);">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'>ID</label>
40 <input dojoType='dijit.form.NumberTextBox' name='id'> </input>
42 <label for='provider'>Provider</label>
43 <input id='po-search-provider-selector'/>
45 <label for='state'>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:"New", value:'new'},
56 {name:"In Process", value:'in-process'},
57 {name:"Pending", value:'pending'},
58 {name:"On order", value:'on-order'}
63 <input dojoType='dijit.form.FilteringSelect'
71 <label for='ordering_agency'>Ordering Agency</label>
72 <input id='po-search-agency-selector'/>
74 <span dojoType='dijit.form.Button' type='submit'>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">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'>ID</th>
101 <th field="owner" get='getPOOwner'/>
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">Results Summary</th>
117 <th>Total Purchase Orders:</th>
118 <td id="oils-acq-metapo-summary-po"></td>
121 <th>Total Lineitems:</th>
122 <td id="oils-acq-metapo-summary-lineitem_count"></td>
125 <th>Total Copies:</th>
126 <td id="oils-acq-metapo-summary-copies"></td>
129 <th>Total Encumbered:</th>
130 <td>$<span id="oils-acq-metapo-summary-amount_encumbered"></span></td>
133 <th>Total Spent:</th>
134 <td>$<span id="oils-acq-metapo-summary-amount_spent"></span></td>
139 [% INCLUDE 'default/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>