]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/templates/default/conify/global/acq/provider.tt2
JS reordering to account for readyState event leakage from XHR to the main page
[working/Evergreen.git] / Open-ILS / web / templates / default / conify / global / acq / provider.tt2
1 [% WRAPPER default/base.tt2 %]
2 [% ctx.page_title = 'Providers' %]
3
4 <div class="hidden">
5     <select dojoType="dijit.form.FilteringSelect" jsId="nameSelect">
6         <option value='owning_lib'>Owning Library</option>
7         <option value='quantity'>Quantity</option>
8         <option value='call_number'>Call Number</option>
9         <option value='fund_code'>Fund Code</option>
10         <option value='local_note'>Local Note</option>
11         <option value='price'>Price</option>
12         <option value='circ_modifier'>Circulation Modifier</option>
13         <option value='copy_location'>Copy Location</option>
14         <option value='collection_code'>Collection Code</option>
15     </select>
16 </div> 
17
18 <div id='provider-list-div'>
19     <div dojoType="dijit.layout.ContentPane" layoutAlign='top'>
20         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
21             <div>Provider</div>
22             <div>
23                 <button dojoType='dijit.form.Button' onClick='pListGrid.showCreateDialog()'>New Provider</button>
24                 <button dojoType='dijit.form.Button' onClick='pListGrid.deleteSelected()'>Delete Selected</button> 
25             </div>
26         </div>
27     </div>
28     <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
29         <table  jsId="pListGrid"
30                 dojoType="openils.widget.AutoGrid"
31                 fieldOrder="['id', 'name', 'code', 'owner', 'currency_type']"
32                 query="{id: '*'}"
33                 defaultCellWidth='"auto"'
34                 fmClass='acqpro'
35                 showPaginator='true'
36                 editOnEnter='true'>
37             <thead>
38                 <tr><th field='name' get='getProviderName' formatter='formatName'/></tr>
39             </thead>
40         </table>
41     </div>
42 </div>
43
44 <div id='provider-summary-pane'></div>     
45 <div id='provider-details-div' style='height:600px'>
46 <div dojoType="dijit.layout.TabContainer" style='height:100%' jsId='providerTabs'>
47
48     <div dojoType="dijit.layout.ContentPane" title='Provider Address' select='true' id='provider-address'>
49         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
50             <div>Provider Address</div>
51             <div>
52             <button dojoType='dijit.form.Button' onClick='paListGrid.showCreateDialog()'>New Provider Address</button>
53             <button dojoType='dijit.form.Button' onClick='paListGrid.deleteSelected()'>Delete Selected</button>
54             </div>
55         </div>
56         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style='height:100px'>
57             <table  jsId="paListGrid"
58                     dojoType="openils.widget.AutoGrid"
59                     fieldOrder="['id', 'address_type', 'provider', 'street1', 'street2', 'city', 'county', 'state', 'country', 'post_code']"
60                     query="{id: '*'}"
61                     fmClass='acqpa'
62                     defaultCellWidth='"auto"' 
63                     editOnEnter='true'>
64             </table>
65         </div>
66     </div>
67
68     <div dojoType="dijit.layout.ContentPane" title='Provider Contact' id='tab-pro-contact'>
69         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
70             <div>Provider Contact</div>
71             <div>
72             <button dojoType='dijit.form.Button' onClick='pcListGrid.showCreateDialog()'>New Contact</button>
73             <button dojoType='dijit.form.Button' onClick='pcListGrid.deleteSelected()'>Delete Selected</button>
74             </div>
75         </div>
76         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style='height:200px'>
77             <table  jsId="pcListGrid"
78                     dojoType="openils.widget.AutoGrid"
79                     fieldOrder="['id', 'name', 'provider', 'role', 'email']"
80                     defaultCellWidth='"auto"'
81                     query="{id: '*'}"
82                     fmClass='acqpc'
83                     editOnEnter='true'>
84             </table>
85         </div>
86       
87         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
88             <div>Contact Address</div>
89             <div>
90                 <button dojoType='dijit.form.Button' onClick='pcaListGrid.showCreateDialog()'>New Contact Address</button>
91                 <button dojoType='dijit.form.Button' onClick='pcaListGrid.deleteSelected()'>Delete Selected</button>
92             </div>
93         </div>
94         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style='height:200px'>
95             <table  jsId="pcaListGrid"
96                     dojoType="openils.widget.AutoGrid"
97                     fieldOrder="['id', 'address_type', 'contact', 'street1', 'street2', 'city', 'county', 'state', 'country', 'post_code']"
98                     query="{id: '*'}"
99                     fmClass='acqpca'
100                     defaultCellWidth='"auto"' 
101                     editOnEnter='true'>
102             </table>
103         </div>
104        
105     </div>
106     <div dojoType="dijit.layout.ContentPane" title='Attribute Definitions' id='tab-attr'>
107         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
108             <div> Attribute Definitions</div>
109             <div>
110                 <button dojoType='dijit.form.Button' onClick='padListGrid.showCreateDialog()'>New Attribute Definition</button>
111                 <button dojoType='dijit.form.Button' onClick='padListGrid.deleteSelected()'>Delete Selected</button>
112             </div>
113         </div>
114         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style='height:200px'>
115             <table  jsId="padListGrid"
116                     dojoType="openils.widget.AutoGrid"
117                     fieldOrder="['id', 'provider', 'code', 'description',  'provider', 'ident', 'remove',  'tag', 'subfield', 'xpath']"
118                     query="{id: '*'}"
119                     fmClass='acqlipad'
120                     editOnEnter='true'>
121                 <thead>
122                     <tr>
123                         <th field="xpath" width='auto'/>
124                         <th field="tag" name="Tag" get='getParsedTag'/>
125                         <th field="subfield" name="Subfield" get='getParsedSubf'/>
126                     </tr>
127                 </thead>
128             </table>
129         </div>
130     </div>
131
132     <div dojoType="dijit.layout.ContentPane" title='Holding Subfield' id='tab-hold'>
133         <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
134             <div>Holding Subfield</div>
135             <div>
136             <button dojoType='dijit.form.Button' onClick='phsListGrid.showCreateDialog()'>New Holding Subfield</button>
137             <button dojoType='dijit.form.Button' onClick='phsListGrid.deleteSelected()'>Delete Selected</button>
138             </div>
139         </div>
140         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style='height:400px'>
141             <table  jsId="phsListGrid"
142                     dojoType="openils.widget.AutoGrid"
143                     fieldOrder="['id', 'provider', 'name', 'subfield']"
144                     query="{id: '*'}"
145                     fmClass='acqphsm'
146                     editOnEnter='true'>
147             </table>
148         </div>
149     </div>
150
151     <div dojoType="dijit.layout.ContentPane" title="Invoices" id="tab-invoice">
152         <big class="oils-acq-basic-roomy"><strong>Invoices</strong></big>
153         <div dojoType="dijit.layout.ContentPane" layoutAlign="client" style="height:400px">
154             <table jsId="invListGrid"
155                 dojoType="openils.widget.AutoGrid"
156                 fieldOrder="['inv_ident', 'receiver', 'shipper']"
157                 suppressFields="['id', 'provider']"
158                 query="{id: '*'}"
159                 showPaginator='true'
160                 fmClass="acqinv">
161                 <thead>
162                     <tr>
163                         <th field="inv_ident" get="getInvIdent" formatter="formatInvIdent" />
164                     </tr>
165                 </thead>
166             </table>
167         </div>
168     </div>
169 </div>
170 </div>
171
172 <script type="text/javascript" src='[% ctx.media_prefix %]/js/ui/default/conify/global/acq/provider.js'> </script>
173
174 <script type="text/javascript"> 
175     var providerId = '[% ctx.page_args.0 %]';
176
177 function getInvIdent(rowIndex, item) {
178     if (!item) return {};
179     return {
180           "id": this.grid.store.getValue(item, "id"),
181         "name": this.grid.store.getValue(item, "inv_ident")
182     };
183 }
184
185 function formatInvIdent(o) {
186     return "<a href='" + oilsBasePath + "/acq/invoice/view/" + o.id + "'>" + o.name + "</a>";
187 }
188
189 function getProviderName(rowIndex, item) {
190     if(!item) return '';
191     var name = this.grid.store.getValue(item, 'name');
192     var id   = this.grid.store.getValue(item, 'id');
193     return id + ':' + name;
194 }
195
196 function formatName(value) {
197     if(value) {
198         var vals = value.split(/:/);
199         return '<a href="[% ctx.base_path %]/conify/global/acq/provider/'+vals[0]+'">'+vals[1]+'</a>';
200     }
201 }
202
203 </script>
204
205 [% END %]
206