]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/staff/navbar.tt2
LP1837059 Angular local admin page
[Evergreen.git] / Open-ILS / src / templates / staff / navbar.tt2
1 <!-- 
2   main navigation bar
3     
4   note the use of target="_self" for navigation links.
5   this tells angular to treat the href as a new page 
6   and not an intra-app route.  This is necessary when
7   moving between applications.
8
9   For icons, see http://getbootstrap.com/components/#glyphicons
10 -->
11
12 <div id="top-navbar" role="navigation"
13   class="navbar navbar-default navbar-fixed-top" role="navigation">
14
15   <!-- navbar-header here needed for supporting angular-ui-bootstrap -->
16   <div class="navbar-header">
17     <button type="button" class="navbar-toggle" 
18         ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">
19       <span class="sr-only">[% l('Toggle navigation') %]</span>
20       <span class="icon-bar"></span>
21       <span class="icon-bar"></span>
22       <span class="icon-bar"></span>
23     </button>
24   </div>
25
26   <div class="navbar-collapse collapse" ng-class="!navCollapsed && 'in'">
27     <ul class="nav navbar-nav">
28       <li><a href='./' title="[% l('Home') %]" target="_self"
29         class="glyphicon glyphicon-home"></a><li>
30
31       <!-- search -->
32       <li class="dropdown" uib-dropdown>
33         <a href uib-dropdown-toggle>[% l('Search') %]
34           <b class="caret"></b>
35         </a>
36         <ul uib-dropdown-menu>
37           <li>
38             <a href="./circ/patron/search" target="_self"
39               eg-accesskey="[% l('alt+s') %] [% l('f4') %]" 
40               eg-accesskey-desc="[% l('Patron search by name, address, etc.') %]">
41               <span class="glyphicon glyphicon-user"></span>
42               <span eg-accesskey-label>[% l('Search for Patrons') %]</span>
43             </a>
44           </li>
45           <li>
46             <a href="./cat/item/search" target="_self"
47               eg-accesskey="[% l('f5') %]" 
48               eg-accesskey-desc="[% l('Item Status') %]">
49               <span class="glyphicon glyphicon-barcode"></span>
50               <span>[% l('Search for Items by Barcode') %]</span>
51             </a>
52           </li>
53           <li>
54             <a href="./cat/catalog/index" target="_self"
55               eg-accesskey="[% l('f3') %]" 
56               eg-accesskey-desc="[% l('OPAC') %]">
57               <span class="glyphicon glyphicon-search"></span>
58               <span>[% l('Search the Catalog') %]</span>
59             </a>
60           </li>
61         </ul>
62       </li>
63
64
65       <!-- circulation -->
66       <li class="dropdown" uib-dropdown>
67         <a href uib-dropdown-toggle>[% l('Circulation') %]<b class="caret"></b>
68         </a>
69
70         <ul uib-dropdown-menu>
71           <li ng-if="username">
72             <a href="./circ/patron/bcsearch" target="_self"
73               eg-accesskey="[% l('f1') %]" 
74               eg-accesskey-desc="[% l('Check Out') %]">
75               <span class="glyphicon glyphicon-export"></span>
76               [% l('Check Out') %]
77             </a>
78           </li>
79           <li ng-if="!username">
80             <a href="" ng-click="rs.active_tab('checkout')" target="_self"
81               eg-accesskey="[% l('f1') %]" 
82               eg-accesskey-desc="[% l('Check Out') %]">
83               <span class="glyphicon glyphicon-export"></span>
84               [% l('Check Out') %]
85             </a>
86           </li>
87           <li ng-if="username">
88             <a href="./circ/checkin/checkin" target="_self"
89               eg-accesskey="[% l('f2') %]" 
90               eg-accesskey-desc="[% l('Check In') %]">
91               <span class="glyphicon glyphicon-import"></span>
92               [% l('Check In') %]
93             </a>
94           </li>
95           <li ng-if="!username">
96             <a href="" ng-click="rs.active_tab('checkin')" target="_self"
97               eg-accesskey="[% l('f2') %]" 
98               eg-accesskey-desc="[% l('Check In') %]">
99               <span class="glyphicon glyphicon-import"></span>
100               [% l('Check In') %]
101             </a>
102           </li>
103           <li>
104             <a href="./circ/checkin/capture" target="_self"
105               eg-accesskey="[% l('shift+f2') %]" 
106               eg-accesskey-desc="[% l('Capture Holds') %]">
107               <span class="glyphicon glyphicon-pushpin"></span>
108               [% l('Capture Holds') %]
109             </a>
110           </li>
111           <li>
112             <a href="./circ/holds/pull" target="_self">
113               <span class="glyphicon glyphicon-th-list"></span>
114               [% l('Pull List for Hold Requests') %]
115             </a>
116           </li>
117           <li ng-if="username">
118             <a href="./circ/renew/renew" target="_self"
119               eg-accesskey="[% l('ctrl+f2') %]" 
120               eg-accesskey-desc="[% l('Renew items') %]">
121               <span class="glyphicon glyphicon-refresh"></span>
122               [% l('Renew Items') %]
123             </a>
124           </li>
125           <li ng-if="!username">
126             <a href="" ng-click="rs.active_tab('renew')" target="_self"
127               eg-accesskey="[% l('ctrl+f2') %]" 
128               eg-accesskey-desc="[% l('Renew items') %]">
129               <span class="glyphicon glyphicon-refresh"></span>
130               [% l('Renew Items') %]
131             </a>
132           </li>
133           <li ng-if="username">
134             <a href="./circ/patron/register" target="_self"
135               eg-accesskey="[% l('shift+f1') %]" 
136               eg-accesskey-desc="[% l('Register Patron') %]">
137               <span class="glyphicon glyphicon-user"></span>
138               [% l('Register Patron') %]
139             </a>
140           </li>
141           <li ng-if="!username">
142             <a href="" ng-click="rs.active_tab('register')" target="_self"
143               eg-accesskey="[% l('shift+f1') %]" 
144               eg-accesskey-desc="[% l('Register Patron') %]">
145               <span class="glyphicon glyphicon-user"></span>
146               [% l('Register Patron') %]
147             </a>
148           </li>
149           <li ng-if="showRecentPatron">
150             <a href="./circ/patron/last" target="_self"
151               eg-accesskey="[% l('f8') %]" 
152               eg-accesskey-desc="[% l('Retrieve Last Patron') %]">
153               <span class="glyphicon glyphicon-share-alt"></span>
154               [% l('Retrieve Last Patron') %]
155             </a>
156           </li>
157           <li ng-if="showRecentPatrons">
158             <a href="./circ/patron/search?show_recent=1" target="_self"
159               eg-accesskey-desc="[% l('Retrieve Recent Patrons') %]">
160               <span class="glyphicon glyphicon-share-alt"></span>
161               [% l('Retrieve Recent Patrons') %]
162             </a>
163           </li>
164           <li>
165             <a href="./circ/patron/pending/list" target="_self">
166               <span class="glyphicon glyphicon-thumbs-up"></span>
167               [% l('Pending Patrons') %]
168             </a>
169           </li>
170           <li>
171             <a href="./circ/patron/bucket/view" target="_self">
172               <span class="glyphicon glyphicon-list-alt"></span>
173               [% l('User Buckets') %]
174             </a>
175           </li>
176           <li class="divider"></li>
177           <li>
178             <a href="./circ/patron/credentials" target="_self">
179               <span class="glyphicon glyphicon-ok"></span>
180               <span>[% l('Verify Credentials') %]</span>
181             </a>
182           </li>
183           <li ng-if="username">
184             <a href="./circ/in_house_use/index" target="_self"
185               eg-accesskey="[% l('f6') %]" 
186               eg-accesskey-desc="[% l('Record In-House Use') %]">
187               <span class="glyphicon glyphicon-pencil"></span>
188               <span>[% l('Record In-House Use') %]</span>
189             </a>
190           </li>
191           <li ng-if="!username">
192             <a href="" ng-click="rs.active_tab('in_house_use')" target="_self"
193               eg-accesskey="[% l('f6') %]" 
194               eg-accesskey-desc="[% l('Record In-House Use') %]">
195               <span class="glyphicon glyphicon-pencil"></span>
196               <span>[% l('Record In-House Use') %]</span>
197             </a>
198           </li>
199           <li>
200             <a href="./circ/holds/shelf" target="_self">
201               <span class="glyphicon glyphicon-tasks"></span>
202               <span>[% l('Holds Shelf') %]</span>
203             </a>
204           </li>
205           <li class="divider"></li>
206           <li>
207             <a href="./cat/item/replace_barcode/index" target="_self">
208               <span class="glyphicon glyphicon-barcode"></span>
209               <span>[% l('Replace Barcode') %]</span>
210             </a>
211           </li>
212           <li>
213             <a href="./cat/item/search" target="_self">
214               <span class="glyphicon glyphicon-saved"></span>
215               <span>[% l('Item Status') %]</span>
216             </a>
217           </li>
218           <li>
219             <a href="./cat/item/missing_pieces" target="_self">
220               <span class="glyphicon glyphicon-th"></span>
221               <span>[% l('Scan Item as Missing Pieces') %]</span>
222             </a>
223           </li>
224           <li class="divider"></li>
225           <li>
226             <a href="" ng-click="reprintLast($event)"
227               eg-accesskey="[% l('f9') %]" 
228               eg-accesskey-desc="[% l('Reprint Last Receipt') %]">
229               <span class="glyphicon glyphicon-print"></span>
230               <span>[% l('Reprint Last Receipt') %]</span>
231             </a>
232           </li>
233           <li class="divider"></li>
234           <li ng-class="{disabled : offlineDisabled()}">
235             <a href="./offline-interface" target="_self" ng-class="{disabled : offlineDisabled()}">
236               <span class="glyphicon glyphicon-alert"></span>
237               <span>[% l('Offline Circulation') %]</span>
238             </a>
239           </li>
240         </ul>
241       </li><!-- circ -->
242
243       <!-- cataloging -->
244       <li class="dropdown" uib-dropdown>
245         <a href uib-dropdown-toggle>[% l('Cataloging') %]<b class="caret"></b>
246         </a>
247         <ul uib-dropdown-menu>
248           <li>
249             <a href="./cat/catalog/index" target="_self">
250               <span class="glyphicon glyphicon-search"></span>
251               [% l('Search the Catalog') %]
252             </a>
253           </li>
254           <!--
255             Link to experimental Angular staff catalog.
256           -->
257           <li ng-if="showAngularCatalog">
258             <a href="/eg2/staff/catalog/search">
259               <span class="glyphicon glyphicon-search"></span>
260               <span>[% l('Staff Catalog (Experimental)') %]</span>
261             </a>
262           </li>
263           <li>
264             <a href="./cat/item/search" target="_self">
265               <span class="glyphicon glyphicon-saved"></span>
266               <span>[% l('Item Status') %]</span>
267             </a>
268           </li>
269           <li class="divider"></li>
270           <li>
271             <a href="./cat/bucket/record/view" target="_self">
272               <span class="glyphicon glyphicon-list-alt"></span>
273               [% l('Record Buckets') %]
274             </a>
275           </li>
276           <li>
277             <a href="./cat/bucket/copy/view" target="_self">
278               <span class="glyphicon glyphicon-list-alt"></span>
279               [% l('Item Buckets') %]
280             </a>
281           </li>
282           <li class="divider"></li>
283           <li>
284             <a href="./cat/catalog/retrieve_by_id" target="_self">
285               <span class="glyphicon glyphicon-file"></span>
286               [% l('Retrieve Bib Record by ID') %]
287             </a>
288           </li>
289           <li>
290             <a href="./cat/catalog/retrieve_by_tcn" target="_self"
291               eg-accesskey="[% l('shift+f3') %]" 
292               eg-accesskey-desc="[% l('Retrieve Last Bib Record') %]">
293               <span class="glyphicon glyphicon-tag"></span>
294               [% l('Retrieve Bib Record by TCN') %]
295             </a>
296           </li>
297           <li>
298             <a href="" ng-click="retrieveLastRecord()" target="_self"
299               eg-accesskey="[% l('shift+f8') %]" 
300               eg-accesskey-desc="[% l('Retrieve Last Bib Record') %]">
301               <span class="glyphicon glyphicon-share-alt"></span>
302               [% l('Retrieve Last Bib Record') %]
303             </a>
304           </li>
305           <li class="divider"></li>
306           <li>
307             <a href="./cat/catalog/new_bib" target="_self">
308               <span class="glyphicon glyphicon-plus"></span>
309               [% l('Create New MARC Record') %]
310             </a>
311           </li>
312           <li>
313             <a href="./cat/z3950/index" target="_self">
314               <span class="glyphicon glyphicon-cloud-download"></span>
315               [% l('Import Record from Z39.50') %]
316             </a>
317           </li>
318           <li>
319             <a href="/eg2/staff/cat/vandelay/import">
320               <span class="glyphicon glyphicon-transfer"></span>
321               [% l('MARC Batch Import/Export') %]
322             </a>
323           </li>
324           <li>
325             <a href="./cat/catalog/batchEdit" target="_self">
326               <span class="glyphicon glyphicon-edit"></span>
327               [% l('MARC Batch Edit') %]
328             </a>
329           </li>
330           <li class="divider"></li>
331           <li>
332             <a href="./cat/catalog/verifyURLs" target="_self">
333               <span class="glyphicon glyphicon-link"></span>
334               [% l('Link Checker') %]
335             </a>
336           </li>
337           <li class="divider"></li>
338           <li>
339             <a href="./cat/catalog/manageAuthorities" target="_self">
340               <span class="glyphicon glyphicon-lock"></span>
341               [% l('Manage Authorities') %]
342             </a>
343           </li>
344           <li>
345             <a href="./cat/catalog/retrieve_by_authority_id" target="_self">
346               <span class="glyphicon glyphicon-file"></span>
347               [% l('Retrieve Authority Record by ID') %]
348             </a>
349           </li>
350        </ul>
351       </li>
352
353       <!-- acquisitions -->
354       <li class="dropdown" uib-dropdown>
355         <a href uib-dropdown-toggle>[% l('Acquisitions') %]<b class="caret"></b>
356         </a>
357         <ul uib-dropdown-menu>
358           <li>
359             <a href="./acq/legacy/search/unified" target="_self">
360               <span class="glyphicon glyphicon-search"></span>
361               [% l('General Search') %]
362             </a>
363           </li>
364           <li class="divider"></li>
365           <li>
366             <a href="./acq/legacy/search/unified?ca=pl" target="_self">
367               <span class="glyphicon glyphicon-list"></span>
368               [% l('My Selection Lists') %]
369             </a>
370           </li>
371           <li>
372             <a href="./acq/legacy/picklist/brief_record" target="_self">
373               <span class="glyphicon glyphicon-pencil"></span>
374               [% l('New Brief Record') %]
375             </a>
376           </li>
377           <li>
378             <a href="./acq/requests/list" target="_self">
379               <span class="glyphicon glyphicon-thumbs-up"></span>
380               [% l('Patron Requests') %]
381             </a>
382           </li>
383           <li>
384             <a href="./acq/legacy/picklist/bib_search" target="_self">
385               <span class="glyphicon glyphicon-cloud-download"></span>
386               [% l('MARC Federated Search') %]
387             </a>
388           </li>
389           <li>
390             <a href="./acq/legacy/picklist/from_bib" target="_self">
391               <span class="glyphicon glyphicon-import"></span>
392               [% l('Load Catalog Record IDs') %]
393             </a>
394           </li>
395           <li class="divider"></li>
396           <li>
397             <a href="./acq/legacy/picklist/upload" target="_self">
398               <span class="glyphicon glyphicon-cloud-upload"></span>
399               [% l('Load MARC Order Records') %]
400             </a>
401           </li>
402           <li>
403             <a href="./acq/legacy/search/unified?ca=po" target="_self">
404               <span class="glyphicon glyphicon-shopping-cart"></span>
405               [% l('Purchase Orders') %]
406             </a>
407           </li>
408           <li>
409             <a href="./acq/legacy/po/create" target="_self">
410               <span class="glyphicon glyphicon-plus"></span>
411               [% l('Create Purchase Order') %]
412             </a>
413           </li>
414           <li class="divider"></li>
415           <li>
416             <a href="./acq/legacy/financial/claim_eligible" target="_self">
417               <span class="glyphicon glyphicon-question-sign"></span>
418               [% l('Claim-Ready Items') %]
419             </a>
420           </li>
421           <li>
422             <a href="./acq/legacy/search/unified?ca=inv" target="_self">
423               <span class="glyphicon glyphicon-usd"></span>
424               [% l('Open Invoices') %]
425             </a>
426           </li>
427           <li>
428             <a href="./acq/legacy/invoice/view?create=1" target="_self">
429               <span class="glyphicon glyphicon-credit-card"></span>
430               [% l('Create Invoice') %]
431             </a>
432           </li>
433        </ul>
434       </li>
435
436       <!-- booking -->
437       <li class="dropdown" uib-dropdown>
438         <a href uib-dropdown-toggle>[% l('Booking') %]<b class="caret"></b>
439         </a>
440         <ul uib-dropdown-menu>
441           <li>
442             <a href="./booking/legacy/booking/reservation" target="_self">
443               <span class="glyphicon glyphicon-plus"></span>
444               [% l('Create Reservations') %]
445             </a>
446           </li>
447           <li>
448             <a href="./booking/legacy/booking/pull_list" target="_self">
449               <span class="glyphicon glyphicon-th-list"></span>
450               [% l('Pull List') %]
451             </a>
452           </li>
453           <li>
454             <a href="./booking/legacy/booking/capture" target="_self">
455               <span class="glyphicon glyphicon-pushpin"></span>
456               [% l('Capture Resources') %]
457             </a>
458           </li>
459           <li>
460             <a href="./booking/legacy/booking/pickup" target="_self">
461               <span class="glyphicon glyphicon-export"></span>
462               [% l('Pick Up Reservations') %]
463             </a>
464           </li>
465           <li>
466             <a href="./booking/legacy/booking/return" target="_self">
467               <span class="glyphicon glyphicon-import"></span>
468               [% l('Return Reservations') %]
469             </a>
470           </li>
471         </ul>
472       </li>
473
474       <!-- admin -->
475       <li class="dropdown" uib-dropdown>
476         <a href uib-dropdown-toggle>[% l('Administration') %]<b class="caret"></b></a>
477         <ul uib-dropdown-menu>
478           <li>
479             <a href="./admin/workstation/index" target="_self">
480               <span class="glyphicon glyphicon-hdd"></span>
481               [% l('Workstation') %]
482             </a>
483           </li>
484           <li>
485             <a href="./admin/user_perms" target="_self">
486               <span class="glyphicon glyphicon-user"></span>
487               [% l('User Permission Editor') %]
488             </a>
489           </li>
490           <li>
491             <a href="/eg2/staff/admin/server/splash">
492               <span class="glyphicon glyphicon-briefcase"></span>
493               [% l('Server Administration') %]
494             </a>
495           </li>
496           <li>
497             <a href="/eg2/staff/admin/local/splash">
498               <span class="glyphicon glyphicon-picture"></span>
499               [% l('Local Administration') %]
500             </a>
501           </li>
502           <li>
503             <a href="/eg2/staff/admin/acq/splash">
504               <span class="glyphicon glyphicon-usd"></span>
505               [% l('Acquisitions Administration') %]
506             </a>
507           </li>
508           <li>
509             <a href="./admin/serials/index" target="_self">
510               <span class="glyphicon glyphicon-paperclip"></span>
511               [% l('Serials Administration') %]
512             </a>
513           </li>
514           <li>
515             <a href="/eg2/staff/admin/booking/splash" target="_self">
516               <span class="glyphicon glyphicon-calendar"></span>
517               [% l('Booking Administration') %]
518             </a>
519           </li>
520           <li>
521             <a href="./reporter/legacy/main" target="_self">
522               <span class="glyphicon glyphicon-object-align-bottom"></span>
523               [% l('Reports') %]
524             </a>
525           </li>
526         </ul> <!-- admin dropdown -->
527       </li>
528     </ul> <!-- end left side entries -->
529
530     <!-- entries along the right side of the navbar -->
531     <ul class="nav navbar-nav navbar-right" style='margin-right: 6px;'>
532       <li>
533         <a ng-cloak ng-show="username" title="{{currentToken()}}"
534           ng-init="workstation = '[% l('<no workstation>') %]'">
535             {{username}} @ {{workstation}}
536         </a>
537       </li>
538
539       <!-- locale selector.  
540         only shown if multiple locales are registered -->
541       [% IF ctx.locales.keys.size > 1 %]
542       <li class="dropdown" uib-dropdown>
543         <a href uib-dropdown-toggle>
544           [% lcl = ctx.locale;  ctx.locales.$lcl %]
545           <span class="glyphicon glyphicon-flag"></span>
546         </a>
547         <ul uib-dropdown-menu>
548         [% FOR locale IN ctx.locales.keys.sort %]
549           <!-- disable the selected locale -->
550           <li ng-class="{disabled : '[% ctx.locale %]'=='[% locale %]'}">
551             <a href="" ng-click="applyLocale('[% locale %]')">
552                 [% ctx.locales.$locale %]
553             </a>
554           </li>
555         [% END %]
556         </ul>
557       </li>
558       [% END %]
559
560       <li class="dropdown" ng-show="username" uib-dropdown title="Logout and more...">
561         <a href class="glyphicon glyphicon-list" 
562           uib-dropdown-toggle></a>
563         <ul uib-dropdown-menu>
564           <li ng-if="!op_changed">
565             <a href="" ng-click="changeOperator()">
566               <span class="glyphicon glyphicon-random"></span>
567               [% l('Change Operator') %]
568             </a>
569           </li>
570           <li ng-if="op_changed">
571             <a href="" ng-click="changeOperatorUndo()">
572               <span class="glyphicon glyphicon-random"></span>
573               [% l('Restore Operator') %]
574             </a>
575           </li>
576           <li>
577             <a href="./login" ng-click="logout()" target="_self">
578               <span class="glyphicon glyphicon-log-out"></span>
579               [% l('Log Out') %]
580             </a>
581           </li>
582           <li>
583             <a href="./about" target="_self">
584               <span class="glyphicon glyphicon-question-sign"></span>
585               [% l('About') %]
586             </a>
587           </li>
588           <li class="divider"></li>
589           <li class="disabled">
590             <a href disabled="disabled">
591               <span
592                 title="[% l('Hatch Connection Status') %]"
593                 class="glyphicon glyphicon-transfer"
594                 ng-class="{'connect-status-ok' : hatchConnected()}">
595               </span>
596               [% l('Hatch') %]
597             </a>
598           </li>
599         </ul>
600       </li>
601     </ul>
602   </div>
603 </div>
604
605