1 <?xml version="1.0" encoding="UTF-8"?>
4 "-//W3C//DTD XHTML 1.0 Transitional//EN"
5 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
6 <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
9 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
11 <meta name="generator" content=
12 "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" />
14 <title>&staff.client.portal.title;</title>
15 <script type="text/javascript">
18 // FIXME - some I18N love still needed in this file. See @alt on img tags, and javascript for tab names
20 function SearchOnBlur() {
21 var textbox = document.getElementById("quicksearch");
23 if(textbox && textbox.value == "")
24 textbox.style.background = "#FFFFFF url(\"skin/media/images/portal/eg_tiny_logo.jpg\") center no-repeat";
27 function SearchOnFocus() {
28 var textbox = document.getElementById("quicksearch");
31 textbox.style.background = "#FFFFFF";
36 function SearchOnSubmit() {
37 var textbox = document.getElementById("quicksearch");
39 //var home_ou_id = 1; // 1 = all org units. Should come from staff client scripts
40 // a quicksearch should probably just default to the whole system. Staff can narrow it down later if they want.
41 var search_depth = 0; // 0 = consortium, 1 = system, 2 = library, 3 = sub-library, etc.
43 if(textbox && textbox.value != "") {
44 var opac_url = xulG.url_prefix('opac_rresult') + "?rt=keyword&tp=keyword&l=" + home_ou_id + "&d=" + search_depth +"&f=&t=" + escape(textbox.value);
45 if (urls.opac_rresult.match(/\/eg\/opac\/results/)) {
46 opac_url = xulG.url_prefix('opac_rresult') + "?query=" + escape(textbox.value);
48 var params = {'tab_name':'Catalog'};
49 var content_params = { 'session' : ses(), 'authtime' : ses('authtime'), 'opac_url' : opac_url };
50 xulG.set_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
57 <script type="text/javascript" src="main/constants.js">
59 <script type="text/javascript" src="/opac/common/js/utils.js">
61 <script type="text/javascript" src="/opac/common/js/CGI.js">
63 <script type="text/javascript" src="/opac/common/js/md5.js">
65 <script type="text/javascript" src="/opac/common/js/fmall.js">
67 <script type="text/javascript" src="/opac/common/js/fmgen.js">
69 <script type="text/javascript" src="/opac/common/js/RemoteRequest.js">
71 <script type="text/javascript" src="/opac/common/js/<!--#echo var='locale'-->/OrgTree.js">
73 <script type="text/javascript" src="/opac/common/js/org_utils.js">
75 <script type="text/javascript" src="OpenILS/global_util.js">
77 <script type="text/javascript" src="OpenILS/event_util.js">
79 <script type="text/javascript" src="main/JSAN.js">
81 <script type="text/javascript">
84 //this function will allow for the "Hello, Staff Member" messages
86 document.getElementById('quicksearch').focus();
88 JSAN.use('OpenILS.data');
89 var data = new OpenILS.data();
90 data.stash_retrieve();
91 document.getElementById('staffname').innerHTML = ", " + data.list.au[0].first_given_name();
92 home_ou_id = data.list.au[0].ws_ou();
93 xulG.set_tab_name('Portal');
95 function jb_open_eg_web_page(path, label) {
96 var loc = urls.XUL_BROWSER + '?url=' + window.escape(xulG.url_prefix('EG_WEB_BASE') + '/' + path);
100 {tab_name : label, browser : false },
101 {no_xulG : false, show_print_button : false, show_nav_buttons : true }
104 function jb_open_eg_web_page_newtab(path, label) {
105 var loc = urls.XUL_BROWSER + '?url=' + window.escape(xulG.url_prefix('EG_WEB_BASE') + '/' + path);
109 {tab_name : label, browser : false },
110 {no_xulG : false, show_print_button : false, show_nav_buttons : true }
114 //Place your helpdesk link here
115 function helpdesk(newtab) {
116 xulG.open_external("http://evergreen-ils.org/communicate.php");
119 //A good place for a Google map. Evergreen Indiana uses GIS data to create a Google map to verify if a library is within district boundaries
120 //http://208.119.72.68/evergreen/evergreenmap.html
121 function address_map(newtab) {
122 loc = "http://maps.google.com";
123 var params = {'tab_name':'Locate Address In Map'};
126 xulG.new_tab(loc, params, {});
128 xulG.set_tab(loc, params, {});
130 function local_admin(newtab) {
131 var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(urls.XUL_LOCAL_ADMIN + '?ses=' + window.escape(ses()) + '&session=' + window.escape(ses()));
132 var params = {'tab_name':'Local Administration', 'browser' : true };
133 var content_params = { 'no_xulG' : false, 'show_nav_buttons' : true, 'show_print_button' : true };
136 xulG.new_tab(loc, params, content_params);
138 xulG.set_tab(loc, params, content_params);
140 function copy_status(newtab) {
142 xulG.new_tab(urls.XUL_COPY_STATUS,{},{});
144 xulG.set_tab(urls.XUL_COPY_STATUS,{},{});
146 function hold_pull_list(newtab) {
147 var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(urls.XUL_HOLD_PULL_LIST + '?ses=' + window.escape(ses()));
148 var params = {'tab_name':'On Shelf Pull List'};
151 xulG.new_tab(loc, params);
153 xulG.set_tab(loc, params);
155 function checkout(newtab) {
157 xulG.new_tab(urls.XUL_PATRON_BARCODE_ENTRY,{},{});
159 xulG.set_tab(urls.XUL_PATRON_BARCODE_ENTRY,{},{});
161 function catalog(newtab) {
162 var params = {'tab_name':'Catalog'};
163 var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
166 xulG.new_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
168 xulG.set_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
170 function z39_50(newtab) {
172 xulG.new_tab(urls.XUL_Z3950_IMPORT,{},{});
174 xulG.set_tab(urls.XUL_Z3950_IMPORT,{},{});
176 function copy_buckets(newtab) {
177 params = {'tab_name':'Copy Buckets'};
179 xulG.new_tab(urls.XUL_COPY_BUCKETS, params, {});
181 xulG.set_tab(urls.XUL_COPY_BUCKETS, params, {});
183 function record_buckets(newtab) {
184 params = {'tab_name':'Record Buckets'};
186 xulG.new_tab(urls.XUL_RECORD_BUCKETS, params, {});
188 xulG.set_tab(urls.XUL_RECORD_BUCKETS, params, {});
190 function receipt_editor(newtab) {
192 xulG.new_tab(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR, {}, {});
194 xulG.set_tab(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR, {}, {});
196 function checkin(newtab) {
198 xulG.new_tab(urls.XUL_CHECKIN,{},{});
200 xulG.set_tab(urls.XUL_CHECKIN,{},{});
202 function MARC_batch_import(newtab) {
204 jb_open_eg_web_page_newtab('vandelay/vandelay', 'Server Settings');
206 jb_open_eg_web_page('vandelay/vandelay', 'Server Settings');
208 function local_admin_reports(newtab) {
209 var loc = urls.XUL_BROWSER + '?url=' + window.escape( xulG.url_prefix('XUL_REPORTS') + '?ses=' + ses());
210 params = {'tab_name' : 'Reports', 'browser' : false }
211 content_params = {'no_xulG' : false, 'show_print_button' : false, show_nav_buttons : true }
213 xulG.new_tab(loc, params, content_params);
215 xulG.set_tab(loc, params, content_params);
217 function find_patron(newtab) {
219 xulG.new_patron_tab({},{});
221 xulG.set_patron_tab({},{});
224 function spawn_search(s) {
225 xulG.new_patron_tab( {}, { 'doit' : 1, 'query' : js2JSON(s) } );
227 function register_patron(newtab) {
228 function spawn_editor(p) {
229 var url = urls.XUL_PATRON_EDIT;
232 if (param_count++ == 0) url += '?'; else url += '&';
233 url += i + '=' + window.escape(p[i]);
235 var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape( url );
236 xulG.new_tab(loc, {}, { 'show_print_button' : true , 'tab_name' : 'Editing Related Patron' , 'passthru_content_params' : {'spawn_search' : function(s) { spawn_search(s); }, 'spawn_editor' : spawn_editor }});
239 var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape( urls.XUL_PATRON_EDIT + '?ses=' + window.escape( ses() ) );
240 var content_params = {
241 'show_print_button' : true ,
242 'tab_name' : 'Register Patron' ,
243 'passthru_content_params' : { 'spawn_search' : function(s) { spawn_search(s); },
244 'spawn_editor' : spawn_editor }
247 xulG.new_tab(loc, {}, content_params);
249 xulG.set_tab(loc, {}, content_params);
251 function toggle_tpac(mode) {
252 var use_tpac = false;
253 var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces['nsIPrefBranch']);
255 use_tpac = prefs.getBoolPref('oils.use_tpac');
257 dump('Failed to get current use_tpac setting - Assuming false: ' + E);
259 use_tpac = !use_tpac;
260 prefs.setBoolPref('oils.use_tpac', use_tpac);
261 var message = document.getElementById('tpac_toggled_on');
263 message = document.getElementById('tpac_toggled_off');
265 message = message.textContent;
270 <style type="text/css">
273 font-family: "Trebuchet MS", Helvetica, Verdana, Arial, sans-serif;
286 text-decoration: none;
290 border-collapse: collapse;
340 <style type="text/css">
342 body.c4 {margin-top: 0px; padding-top: 0px; background-image: url(skin/media/images/portal/background.png);}
343 td.c3 {border: 1px solid black; border-top: 0px; border-bottom: 0px;}
344 span.c2 {font-size:75%;}
345 div.c1 {text-align: center}
350 <body class="c4" onload="init();">
352 <img src="skin/media/images/portal/logo.png" height="121" width="396" alt="Evergreen logo" /><br />
353 &staff.client.portal.welcome;<span id="staffname"></span><br />
357 <table id="alignment">
360 <div class="functionalgroup">
361 &staff.client.portal.circpatron;
364 <table class="functionlist">
366 <td height="50"><img src="skin/media/images/portal/forward.png" height="48" width="48"
367 onclick="try { checkout(false); } catch(E) { alert(E); }" alt=
368 "&staff.client.portal.checkout.description;" /></td>
370 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
371 onclick="try { checkout(true); } catch(E) { alert(E); }" /><a href="#"
373 "try { checkout(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.checkout;</a><br />
375 "try { checkout(false); } catch(E) { alert(E); }; return false;"><span class="c2">
376 &staff.client.portal.retrievebc;</span></a></td>
380 <td height="50"><img src="skin/media/images/portal/back.png" height="48" width="48" onclick=
381 "try { checkin(false); } catch(E) { alert(E); }" alt=
382 "&staff.client.portal.checkin.description;" /></td>
384 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
385 onclick="try { checkin(true); } catch(E) { alert(E); }" /> <a href="#"
387 "try { checkin(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.checkin;</a><br /></td>
391 <td height="50"><img src="skin/media/images/portal/registerpatron.png" height="48" width="48"
392 onclick="try { register_patron(false); } catch(E) { alert(E); }" alt=
393 "&staff.client.portal.patronreg.description;" /></td>
395 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
396 onclick="try { register_patron(true); } catch(E) { alert(E); }" /> <a href=
398 "try { register_patron(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.patronreg;</a></td>
402 <td height="50"><img src="skin/media/images/portal/retreivepatron.png" height="48" width="48"
403 onclick="try { find_patron(false); } catch(E) { alert(E); }" alt=
404 "&staff.client.portal.patronsearch.description;" /></td>
406 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
407 onclick="try { find_patron(true); } catch(E) { alert(E); }" /> <a href="#"
409 "try { find_patron(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.patronsearch;</a></td>
413 <td height="50"><img class="funcimg" src="skin/media/images/portal/holds.png" height="48"
414 width="48" onclick="try { hold_pull_list(false); } catch(E) { alert(E); }"
415 alt="&staff.client.portal.holdlist.description;" /></td>
417 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
418 onclick="try { hold_pull_list(true); } catch(E) { alert(E); }" /> <a href=
420 "try { hold_pull_list(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.holdlist;</a></td>
424 <td height="50"><img src="skin/media/images/portal/map.PNG" alt="Locate Address In Map"
425 onclick="try { address_map(false); } catch(E) { alert(E); }" /></td>
427 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
428 onclick="try { address_map(true); } catch(E) { alert(E); }" /> <a href="#"
430 "try { address_map(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.addrmap;</a></td>
438 <div class="functionalgroup">
439 &staff.client.portal.itemcataloging;
442 <table class="functionlist">
444 <td colspan="2" rowspan="1">
445 <form action="#" onsubmit="return SearchOnSubmit();">
446 <input id="quicksearch" onfocus="SearchOnFocus();" onblur=
447 "SearchOnBlur();" onkeydown="SearchOnFocus();" /> <input value="&staff.client.portal.search.button;" type="submit" />
453 <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48" onclick=
454 "try { catalog(false); } catch(E) { alert(E); }" alt=
455 "&staff.client.portal.advsearch.description;" /></td>
457 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
458 onclick="try { catalog(true); } catch(E) { alert(E); }" /> <a href="#"
460 "try { catalog(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.advsearch;</a></td>
464 <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48" onclick=
465 "try { copy_status(false); } catch(E) { alert(E); }" alt=
466 "&staff.client.portal.itemstatus.description;" /></td>
468 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
469 onclick="try { copy_status(true); } catch(E) { alert(E); }" /> <a href="#"
471 "try { copy_status(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.itemstatus;</a></td>
475 <td height="50"><img src="skin/media/images/portal/batchimport.png" height="48" width="48"
476 onclick="try { MARC_batch_import(false); } catch(E) { alert(E); }" alt=
477 "&staff.client.portal.marcutil.description;" /></td>
479 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
480 onclick="try { MARC_batch_import(true); } catch(E) { alert(E); }" />
482 "try { MARC_batch_import(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.marcutil;</a></td>
486 <td height="50"><img src="skin/media/images/portal/z3950.png" height="48" width="48" onclick=
487 "try { z39_50(false); } catch(E) { alert(E); }" alt="&staff.client.portal.z3950.description;" /></td>
489 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
490 onclick="try { z39_50(true); } catch(E) { alert(E); }" /> <a href="#"
492 "try { z39_50(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.z3950;</a></td>
496 <td height="50"><img src="skin/media/images/portal/bucket.png" height="48" width="48" onclick=
497 "try { copy_buckets(false); } catch(E) { alert(E); }" alt=
498 "&staff.client.portal.copybuckets.description;" /></td>
500 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
501 onclick="try { copy_buckets(true); } catch(E) { alert(E); }" /> <a href="#"
503 "try { copy_buckets(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.copybuckets;</a></td>
507 <td height="50"><img src="skin/media/images/portal/bucket.png" height="48" width="48" onclick=
508 "try { record_buckets(false); } catch(E) { alert(E); }" alt=
509 "&staff.client.portal.recordbuckets.description;" /></td>
511 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
512 onclick="try { record_buckets(true); } catch(E) { alert(E); }" /> <a href=
513 "index.html#" onclick=
514 "try { record_buckets(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.recordbuckets;</a></td>
521 <div class="functionalgroup">
522 &staff.client.portal.admin;
525 <table class="functionlist">
527 <td height="50"><img src="skin/media/images/portal/helpdesk.png" height="48" width="48"
528 onclick="try { helpdesk(false); } catch(E) { alert(E); }" alt=
529 "&staff.client.portal.helpdesk.description;" /></td>
532 onclick="try { helpdesk(false); } catch(E) { alert(E); }">&staff.client.portal.helpdesk;</a></td>
536 <td height="50"><img src="skin/media/images/portal/reports.png" height="48" width="48"
537 onclick="try { local_admin_reports(false); } catch(E) { alert(E); }" alt=
538 "&staff.client.portal.reports.description;" /></td>
540 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
541 onclick="try { local_admin_reports(true); } catch(E) { alert(E); }" />
543 "try { local_admin_reports(false); } catch(E) { alert(E); }; return false;">
544 &staff.client.portal.reports;</a></td>
548 <td height="50"><img src="skin/media/images/portal/receipt_editor.png" height="48" width="48"
549 onclick="try { receipt_editor(false); } catch(E) { alert(E); }" alt=
550 "&staff.client.portal.receipts.description;" /></td>
552 <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="&staff.client.portal.open_new_tab.description;"
553 onclick="try { receipt_editor(true); } catch(E) { alert(E); }" /> <a href=
555 "try { receipt_editor(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.receipts;</a></td>
559 <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48"
560 onclick="try { toggle_tpac(); } catch(E) { alert(E) }; return false;" alt="&staff.client.portal.toggle_tpac;" /></td>
563 onclick="try { toggle_tpac(); } catch(E) { alert(E); }; return false;">&staff.client.portal.toggle_tpac;</a></td>
567 <span style="display:none" id="tpac_toggled_on">&staff.client.portal.toggle_tpac.message_on;</span>
568 <span style="display:none" id="tpac_toggled_off">&staff.client.portal.toggle_tpac.message_off;</span>
573 <div class="attribution c1">&staff.client.portal.copyright;<br />
574 &staff.client.portal.poweredby; <img src="skin/media/images/portal/eg_tiny_logo.jpg" alt="Evergreen logo" /></div>