+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml' lang='[% ctx.locale %]' xml:lang='[% ctx.locale %]'>
- <head>
- <title>[% ctx.page_title %]</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
- [% BLOCK html_head; END; # provide a default that can be overridden %]
- [% PROCESS html_head %]
- </head>
- <body>
- [% content %]
- </body>
-</html>
+++ /dev/null
-[%
- # Org Unit Selector Widget :
- # PROCESS build_org_selector id='selector-id' name='selector-name'
- BLOCK build_org_selector;
- first_run = 0;
- IF !org_unit;
- org_unit = ctx.aou_tree;
- first_run = 1;
-%]
- <select id='[% id %]' name='[% name %]'>
- [% END %]
- <option value='[% org_unit.id %]' [% IF org_unit.id == value %] selected='selected' [% END %]>
- [%
- pad = org_unit.ou_type.depth * 2;
- FOR idx IN [0..pad]; ' '; END;
- org_unit.name;
- %]
- </option>
- [% FOR child IN org_unit.children; PROCESS build_org_selector org_unit = child; END %]
- [% IF first_run %]
- </select>
- [% END %]
-[% END %]
-
-[% PROCESS 'default/opac/marc_attrs.tt2' %]
-[% USE date;
- USE money = format('$%.2f');
- icon_by_mattype = { # XXX KCLS-specific
- "a" => "media_book.jpg",
- "b" => "media_magazines.jpg",
- "c" => "media_printedmusic.jpg",
- "d" => "media_microform.jpg",
- "e" => "media_equipment.jpg",
- "f" => "media_films.jpg",
- "g" => "",
- "h" => "media_dvd.jpg",
- "i" => "media_bookoncassette.jpg",
- "j" => "media_musiccd.jpg",
- "k" => "media_musiccassette.jpg",
- "l" => "media_musicrecord.jpg",
- "m" => "media_software.jpg",
- "n" => "media_bookoncd.jpg",
- "o" => "media_kit.jpg",
- "p" => "media_newspaper.jpg",
- "q" => "media_largeprint.jpg",
- "r" => "media_3dobject.jpg",
- "s" => "media_slide.jpg",
- "t" => "media_online.jpg",
- "u" => "media_eaudio.jpg",
- "v" => "media_ebooktext.jpg",
- "w" => "media_eaudio.jpg",
- "x" => "media_downloadmusic.jpg",
- "y" => "media_downloadvideo.jpg",
- "z" => "media_map.jpg",
- "2" => "media_cassettewithbook.jpg",
- "5" => "media_cdwithbook.jpg"
- };
-%]
+++ /dev/null
-[% ctx.page_title = "Home" %]
-
-[% BLOCK html_head %]
-<style>
- #home_div { text-align: center; width: 100%; margin-top: 30px;}
-</style>
-[% END %]
-
-[% WRAPPER "default/opac/base.tt2" %]
-[% PROCESS "default/opac/common.tt2" %]
-
-<div id='home_div'>
- <img src='/images/eg_logo.jpg'/>
- <br/><br/>
- <form action='./results' method='GET'>
- <input type='text' name='query' size='50' value='[% query %]'/>
- [% PROCESS build_org_selector name='loc' %]
- <input type='submit' value='[% l('Go!') %]'/>
- <input type='hidden' name='page' value='0'/>
- </form>
-</div>
-
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
-</style>
-[% END %]
-
-[%
- USE CGI;
- WRAPPER "default/opac/base.tt2";
- ctx.page_title = "Login";
-%]
-
-<div style='width:400px; text-align:center; border: 1px solid #888'>
- <form method='POST'>
- <table>
- <tr>
- <td>Username or Barcode</td>
- <td><input name='username' type='text'/></td>
- </tr>
- <tr>
- <td>Password</td>
- <td><input name='password' type='password'/></td>
- </tr>
- <tr>
- <td colspan='2' style='text-align:center'>
- <input type='submit'/>
- </td>
- </tr>
- </table>
- <input type='hidden' name='redirect_to' value='[% CGI.param('redirect_to') || ctx.referer | replace('^http:', 'https:') %]'/>
- </form>
-</div>
-[% END %]
+++ /dev/null
-[%
- # Extract MARC fields from XML
- # get_marc_attrs( { marc_xml => doc } )
- BLOCK get_marc_attrs;
- xml = args.marc_xml;
- args.isbn = xml.findnodes('//*[@tag="020"]/*[@code="a"]').textContent;
- args.upc = xml.findnodes('//*[@tag="024"]/*[@code="a"]').textContent;
- args.issn = xml.findnodes('//*[@tag="022"]/*[@code="a"]').textContent;
- args.title = xml.findnodes('//*[@tag="245"]/*[@code="a"]').textContent;
- args.author = xml.findnodes('//*[@tag="100"]/*[@code="a"]').textContent;
- args.publisher = xml.findnodes('//*[@tag="260"]/*[@code="b"]').textContent;
- args.pubdate = xml.findnodes('//*[@tag="260"]/*[@code="c"]').textContent;
- args.mattype = xml.findnodes('//*[@tag="998"]/*[@code="d"]').textContent; # XXX this is KCLS-specific and will need to change
-
- # clean up the ISBN
- args.isbn_clean = args.isbn.replace('\ .*', '');
- END;
-%]
+++ /dev/null
-<div>[%
-pages = [
- {url => "main", name => "My Account"},
- {url => "circs", name => "Items Out"},
- {url => "holds", name => "Items on Hold"},
- {url => "fines", name => "Fines"},
- {url => "prefs", name => "Account Preferences"},
- {url => "bookbags", name => "My Bookbags"}
-];
-FOREACH page IN pages %]
- <span style="margin: 0 0.5em;">
- [% IF page.url != myopac_page %]<a href="[% page.url %]">[% END;
- page.name;
- IF page.url != myopac_page %]</a>
- [% ELSE; ctx.page_title = page.name; END %]</span>
-[% END %]</div>
-<ul>
- <li><a href="../home">Home</a></li>
- <li><a href="../logout">Logout</a></li>
-</ul>
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; text-align: center; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
- #action_div { width: 95%; }
- #action-buttons { float:right; }
-</style>
-[% END %]
-
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "bookbags" %]
-
-[% IF ctx.bookbags.size == 0 %]
-<b>No Bookbags</b>
-[% STOP; END %]
-
-<form method='POST' id='bbag-form'>
- <div id='action_div'>
- <div id='action-buttons'>
- <select name='action'>
- <option value='delete'>Delete Selected</option>
- <option value='delete_all'>Delete All</option>
- </select>
- <input type='submit' value='Go'/>
- </div>
- </div>
- <table>
- <thead>
- <tr>
- <th>Name</th>
- <th>Public</th>
- <th>Created On</th>
- <th>Items</th>
- </tr>
- </thead>
- <tbody>
- [% FOR bbag IN ctx.bookbags %]
- <tr [% IF loop.count % 2 == 1 %] class='bbag-table-odd' [% END %]>
- <td>[% bbag.name %]</td>
- <td>[% bbag.pub == 't' ? 'Yes' : 'No' %]</td>
- <td>[% date.format(ctx.parse_datetime(bbag.create_time),'%Y-%m-%d') %]</td>
- <td>XXX</td>
- </tr>
- [% END %]
- </tbody>
- </table>
-</form>
-
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; text-align: center; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- #action_div { width: 95%; }
- .renew-summary { float:left; padding-right: 10px;}
- #action-buttons { float:right; }
- .circ-table-odd { background-color:#ded; }
- .failure-text { font-weight: bold; color: red; }
- #circ-form { margin-top: 20px; }
-</style>
-[% END %]
-
-[% PROCESS "default/opac/common.tt2" %]
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "circs" %]
-
-[% IF ctx.circs.size == 0 %]
-<b>No Items Checked Out</b>
-[% STOP; END %]
-
-<form method='POST' id='circ-form'>
- <div id='action_div'>
- [% IF ctx.success_renewals > 0 %]
- <div class='renew-summary'><b>Successfully renewed [% ctx.success_renewals %] items.</b></div>
- [% END %]
- [% IF ctx.failed_renewals > 0 %]
- <div class='renew-summary'><b>Failed to renew [% ctx.failed_renewals %] items.</b></div>
- [% END %]
- <div id='action-buttons'>
- <button type='submit' value='renew' name='action'>Renew Selected</button>
- <button type='submit' value='renew_all' name='action'>Renew All</button>
- </div>
- </div>
- <table>
- <thead>
- <tr>
- <th>Title</th>
- <th>Author</th>
- <th>Due Date</th>
- <th>Renewals Remaining</th>
- <th>Select</th>
- </tr>
- </thead>
- <tbody>
- [% FOR circ IN ctx.circs %]
- [% attrs = {marc_xml => circ.marc_xml}; %]
- [% PROCESS get_marc_attrs args=attrs; %]
-
- <tr [% IF loop.count % 2 == 1 %] class='circ-table-odd' [% END %]>
- <td><a href='../record/[% circ.circ.target_copy.call_number.record.id %]'>[% attrs.title %]</a></td>
- <td><a href='../results?query=au:[% attrs.author | url %]'>[% attrs.author %]</a></td>
- <td>[% date.format(ctx.parse_datetime(circ.circ.due_date),'%Y-%m-%d') %]</td>
- <td><em>[% circ.circ.renewal_remaining %]</em></td>
- <td><input name='circ' value='[% circ.circ.id %]' type='checkbox'
- [% IF circ.circ.renewal_remaining < 1 %] disabled='disabled' [% END %]/></td>
- </tr>
-
- [% IF circ.renewal_response and circ.renewal_response.textcode != 'SUCCESS' %]
- <tr [% IF loop.count % 2 == 1 %] class='circ-table-odd' [% END %]>
- <td colspan='0'>
- <div class='failure-text'>
- [% circ.renewal_response.textcode %]
- [% IF circ.renewal_response.payload.fail_part and circ.renewal_response.payload.fail_part != circ.renewal_response.textcode %]
- [% circ.renewal_response.payload.fail_part %]
- [% END %]
- </div>
- </td>
- </tr>
- [% END %]
- [% END %]
- </tbody>
- </table>
-</form>
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; text-align: center; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
- h2 { margin-bottom: 0; }
-</style>
-[% END %]
-
-[% PROCESS "default/opac/common.tt2" %]
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "fines" %]
-<h2>Summary</h2>
-<table>
- <thead>
- <tr>
- <th>Total Owed</th>
- <th>Total Paid</th>
- <th>Balance Owed</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>[% money(ctx.fines.total_owed) %]</td>
- <td>[% money(ctx.fines.total_paid) %]</td>
- <td>[% money(ctx.fines.balance_owed) %]</td>
- </tr>
- </tbody>
-</table>
-
-[% IF ctx.fines.circulation.size > 0 %]
-<h2>Overdue materials</h2>
-<table>
- <thead>
- <tr>
- <th>Title</th>
- <th>Author</th>
- <th>Checkout Date</th>
- <th>Due Date</th>
- <th>Date Returned</th>
- <th>Balance Owed</th>
- </tr>
- </thead>
- <tbody>
- [% FOR f IN ctx.fines.circulation %]
- [% attrs = {marc_xml => f.marc_xml}; %]
- [% PROCESS get_marc_attrs args=attrs; %]
- <tr>
- <td>[% attrs.title %]</td>
- <td>[% attrs.author %]</td>
- <td>[% date.format(
- ctx.parse_datetime(f.xact.circulation.xact_start), "%Y-%m-%d"
- ) %]</td>
- <td>[% date.format(
- ctx.parse_datetime(f.xact.circulation.due_date), "%Y-%m-%d"
- ) %]</td>
- <td>[%
- IF f.xact.circulation.checkin_time;
- date.format(
- ctx.parse_datetime(f.xact.circulation.checkin_time),
- "%Y-%m-%d"
- );
- END %]</td><!-- XXX TODO display stop_fines_time if set? Display something instead of blank like "fines accruing" ? -->
- <td>[% money(f.xact.balance_owed) %]</td>
- </tr>
- [% END %]
- </tbody>
-</table>
-[% END %]
-
-[% IF ctx.fines.grocery.size > 0 %]
-<h2>Other Fees</h2>
-<table>
- <thead>
- <tr>
- <th>Transaction Start Time</th>
- <th>Last Payment Time</th>
- <th>Initial Amount Owed</th>
- <th>Total Amount Paid</th>
- <th>Balance Owed</th>
- <th>Billing Type</th>
- </tr>
- </thead>
- <tbody>
- [% FOR f IN ctx.fines.grocery %]
- <tr>
- <td>[%
- date.format(
- ctx.parse_datetime(f.xact.xact_start), "%Y-%m-%d"
- ) %]</td>
- <td>[% IF f.xact.last_payment_ts;
- date.format(
- ctx.parse_datetime(f.xact.last_payment_ts), "%Y-%m-%d"
- );
- END %]</td>
- <td>[% money(f.xact.total_owed) %]</td>
- <td>[% money(f.xact.total_paid) %]</td>
- <td>[% money(f.xact.balance_owed) %]</td>
- <td>[% f.xact.last_billing_type %]</td>
- </tr>
- [% END %]
- </tbody>
-</table>
-[% END %]
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; text-align: center; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
- #action_div { width: 95%; }
- #action-buttons { float:right; }
-</style>
-[% END %]
-
-[% PROCESS "default/opac/common.tt2";
- WRAPPER "default/opac/base.tt2";
- INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "holds" %]
-
-[% IF ctx.holds.size == 0 %]
-<b>No Items On Hold</b>
-[% STOP; END %]
-
-<form method='POST'>
-
- <div id='action_div'>
- <div id='action-buttons'>
- <select name='action'>
- <option value='cancel'>Cancel Selected</option>
- <option value='cancel_all'>Cancel All</option>
- <option value='suspend'>Suspend Selected</option>
- <option value='suspend_all'>Suspend All</option>
- <option value='activate'>Activate Selected</option>
- <option value='activate_all'>Activate All</option>
- </select>
- <input type='Submit' value='Go'/>
- </div>
- </div>
- <table>
- <thead>
- <tr>
- <th>Title</th>
- <th>Author</th>
- <th>Formats</th>
- <th>Pickup Location</th>
- <th>Status</th>
- <th>Active</th>
- <th>Activate on...</th>
- <th>Expiration Date</th>
- <th>Select</th>
- </tr>
- </thead>
- <tbody>
- [% FOR hold IN ctx.holds %]
- [% attrs = {marc_xml => hold.marc_xml}; %]
- [% PROCESS get_marc_attrs args=attrs; %]
- <tr>
- <td><a href='../record/[% hold.hold.bre.id %]'>[% attrs.title %]</a></td>
- <td><a href='../results?query=au:[% attrs.author | url %]'>[% attrs.author %]</a></td>
- <td>
- [%
- key = attrs.mattype;
- format_desc = ctx.find_citm(key).value;
- icon_filename = icon_by_mattype.$key;
- IF icon_filename;
- %]<!-- XXX in situations where we might show M-type holds, this won't be good enough -->
- <img alt="[% format_desc %]" title="[% format_desc %]"
- src="/images/mattype/[% icon_filename %]" />
- [% END %]
- </td>
- <td>[% ctx.find_aou(hold.hold.hold.pickup_lib).name %]</td>
- <td>[%
- IF hold.hold.status == 4;
- "Available";
- ELSIF hold.hold.estimated_wait;
- "Estimated wait (days): "; hold.hold.estimated_wait;
- ELSIF hold.hold.status == 3;
- "In Transit";
- ELSIF hold.hold.status < 3;
- "Waiting for copy";
- END;
- %]</td>
- <td>[% IF hold.hold.hold.frozen == 't' %] No [% ELSE %] Yes [% END %]</td>
- <td>[%
- IF hold.hold.hold.frozen == 't' AND hold.hold.hold.thaw_date;
- date.format(ctx.parse_datetime(hold.hold.hold.thaw_date),'%Y-%m-%d');
- ELSE;
- '-';
- END
- %]</td>
- <td>[% hold.hold.hold.expire_time ? hold.hold.hold.expire_time : '-' %]</td>
- <td><input type='checkbox' name='hold_id' value='[% hold.hold.hold.id %]'/></td>
- </tr>
- [% END %]
- </tbody>
- </table>
-</form>
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { text-align: center; padding: 20px; margin-top: 30px; border-collapse: collapse; }
- table td { padding: 5px 15px 5px 15px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
-</style>
-[% END %]
-
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "main" %]
-<table>
- <tr>
- <td>First Name</td>
- <td>[% ctx.user.first_given_name %]</td>
- </tr>
- <tr>
- <td>Middle Name</td>
- <td>[% ctx.user.second_given_name %]</td>
- </tr>
- <tr>
- <td>Last Name</td>
- <td>[% ctx.user.family_name %]</td>
- </tr>
- <tr>
- <td>Library Card</td>
- <td>[% ctx.user.card.barcode %]</td>
- </tr>
- <tr>
- <td>Email Address</td>
- <td>[% ctx.user.email %]</td>
- <td><a href='update_email'>Change</a></td>
- </tr>
- <tr>
- <td>Phone</td>
- <td>[% ctx.user.day_phone %]</td>
- </tr>
-</table>
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; text-align: center; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
-</style>
-[% END %]
-
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" myopac_page = "prefs" %]
-<p><em>XXX TODO Need to find out whether the list of pref fields can/should be generated
- from db entries or something.</em></p>
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { text-align: center; padding: 20px; margin-top: 30px; border-collapse: collapse; }
- table td { padding: 5px 15px 5px 15px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(odd) { background-color:#ded; }
-</style>
-[% END %]
-
-[% WRAPPER "default/opac/base.tt2" %]
-[% INCLUDE "default/opac/myopac/_links.tt2" %]
-
-<form method='POST'>
- <table>
- <tr><td>Current Email</td><td>[% ctx.user.email %]</td></tr>
- <tr><td>New Email</td><td><input type='text' name='email'/></td></tr>
- </table>
- <input type='submit'/>
-</form>
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
-</style>
-[% END %]
-
-[%
- USE CGI;
- PROCESS "default/opac/common.tt2";
- WRAPPER "default/opac/base.tt2";
- ctx.page_title = "Place Hold";
- attrs = {marc_xml => ctx.marc_xml};
- PROCESS get_marc_attrs args=attrs;
-%]
-
-
-<div>
- <div>Placing hold on [% attrs.title %], by [% attrs.author %]</div>
- [% IF ctx.hold_success %]
- <div>Succeeded</div>
- [% ELSIF ctx.hold_failed %]
- <div>Failed...</div>
- [% ELSE %]
- <form action='place_hold' method='POST'>
- Choose a pickup Library [% PROCESS build_org_selector name='pickup_lib' value=ctx.default_pickup_lib %]
- <input type='Submit'/>
- <input type='hidden' name='hold_target' value='[% CGI.param('hold_target') | html %]'/>
- <input type='hidden' name='hold_type' value='[% CGI.param('hold_type') | html %]'/>
- <input type='hidden' name='redirect_to' value='[% ctx.referer | html %]'/>
- </form>
- [% END %]
-</div>
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- table { width: 100%; padding: 20px; margin-top: 30px; }
- table { border-collapse: collapse; }
- table td { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table th { padding: 3px; border-bottom: 1px solid #ddd; text-align: left;}
- table tr:nth-child(even) { background-color:#ded; }
- #record_table td { padding-left: 15px; padding-right: 15px; }
-</style>
-[% END %]
-
-[%
- WRAPPER "default/opac/base.tt2";
- PROCESS "default/opac/common.tt2";
- ctx.page_title = "Details";
- record = ctx.record;
- attrs = {marc_xml => ctx.marc_xml};
- PROCESS get_marc_attrs args=attrs;
-%]
-
-<div id='detail_div'>
- <table id='record_table' style='width:auto'>
- <tr>
- <td rowspan='10' style='width:55px; vertical-align:top; padding-right:4px;'>
- [% IF attrs.isbn_clean || attrs.upc %]
- <img width='50' height='70' src='[% ctx.media_prefix %]/opac/extras/ac/jacket/small/[% attrs.isbn_clean || attrs.upc %]'/>
- [% END %]
- </td>
- </tr>
- [% IF attrs.title %]<tr><td>Title</td><td>[% attrs.title %]</td></tr>[% END %]
- [% IF attrs.author %]<tr><td>Author</td><td><a href='../results?query=au:[% attrs.author | uri %]'>[% attrs.author %]</a></td></tr>[% END %]
- [% IF attrs.isbn %]<tr><td>ISBN</td><td>[% attrs.isbn %]</td></tr>[% END %]
- [% IF attrs.issn %]<tr><td>ISSN</td><td>[% attrs.issn %]</td></tr>[% END %]
- [% IF attrs.upc %]<tr><td>UPC</td><td>[% attrs.upc %]</td></tr>[% END %]
- [% IF attrs.pubdate %]<tr><td>Publication Date</td><td>[% attrs.pubdate %]</td></tr>[% END %]
- [% IF attrs.publisher %]<tr><td>Publishere</td><td>[% attrs.publisher %]</td></tr>[% END %]
- <tr>
- <td>Subjects</td>
- <td>
- [% FOR node IN ctx.marc_xml.findnodes('//*[@tag="650"]') %]
- [%
- s0 = node.childNodes.0.textContent;
- s1 = node.childNodes.1.textContent;
- %]
- [% IF s0 %]
- <a href='../results?query=su:[% s0 | url %]'>[% s0 %]</a>
- [% IF s1 %]
- <span>--</span>
- <a href='../results?query=su:[% s1 | url %]'>[% s1 %]</a>
- [% END %]
- <br/>
- [% END %]
- [% END %]
- </td>
- </tr>
- </table>
- <table id='copy_table'>
- <thead>
- <tr>
- <th>Owning Lib</th>
- <th>Call Number</th>
- <th>Barcode</th>
- <th>Status</th>
- </tr>
- </thead>
- <tbody>
- [% FOR acn IN record.call_numbers %]
- [% FOR acp IN acn.copies %]
- <tr>
- <td>[% ctx.find_aou(acn.owning_lib).shortname %]</td>
- <td>[% acn.label %]</td>
- <td>[% acp.barcode %]</td>
- <td>[% ctx.find_ccs(acp.status).name %]</td>
- </tr>
- [% END %]
- [% END %]
- </tbody>
- </table>
-</div>
-
-
-[% END %]
+++ /dev/null
-[% BLOCK html_head %]
-<style>
- #body_table { width: 100%; margin-top: 20px; }
- #left_block { width: 15%; vertical-align: top; }
- #right_block { width: auto; vertical-align: top;}
- #record_table { border-collapse: collapse; width:100%; }
- #record_table td { padding: 3px; border-bottom: 1px solid #ddd; }
- #record_table tr:nth-child(odd) { background-color:#ded; }
- .record-table-odd { background-color:#ded; }
- #form_div { text-align: center; width: 100%; margin-top: 10px;}
- #links_div { margin-bottom: 10px; padding: 5px;}
-</style>
-[% END %]
-
-[%
- USE CGI;
- USE POSIX;
- WRAPPER "default/opac/base.tt2";
- PROCESS "default/opac/common.tt2";
- ctx.page_title = "Results";
- page = CGI.param('page') || 0;
- query = CGI.param('query');
- page_count = POSIX.ceil(ctx.hit_count / ctx.page_size);
- loc = CGI.param('loc');
-%]
-
-<div id='form_div'>
- <form action='./results' method='GET'>
- <input type='text' name='query' size='50' value='[% query %]'/>
- [% PROCESS build_org_selector name='loc' value=loc %]
- <input type='submit'/>
- <input type='hidden' name='page' value='0'/>
- </form>
-</div>
-
-<table id='body_table'>
- <tr>
- <td id='left_block'>
- [% IF ctx.user; %]
- <div id='links_div'>
- <div><a href='home'>Home</a></div>
- <div><a href='myopac/main'>Account</a></div>
- <div><a href='logout'>Logout</a></div>
- </div>
- <hr/>
- <table>
- <tr><td colspan='2' style='border-bottom:1px solid #9A9'>Signed in as [% ctx.user.usrname %]</td></tr>
- <tr><td>Total Holds</td><td>[% ctx.user_stats.holds.total %]</td></tr>
- <tr><td>Ready Holds</td><td>[% ctx.user_stats.holds.ready %]</td></tr>
- <tr><td>Items Out</td><td>[% ctx.user_stats.checkouts.out %]</td></tr>
- <tr><td>Fines</td><td>$[% ctx.user_stats.fines.balance_owed %]</td></tr>
- </table>
- [% ELSE %]
- [%
- login = CGI.url("-path" => 1).replace('^http:', 'https:').replace('/results','/login');
- %]
- <a href='[% login %]'>Login</a>
- [% END %]
- </div>
- <div>
- [% FOR facet_type IN ctx.search_facets.keys %]
- [% cmf = ctx.search_facets.$facet_type.cmf %]
- <b>[% cmf.label %]</b>
- <ul>
- [% FOR facet IN ctx.search_facets.$facet_type.data.keys %]
- [% facet_count = ctx.search_facets.$facet_type.data.$facet %]
- <li><a href='results?query=[% query | url %]&facet=[% cmf.field_class %]|[% cmf.name %][[% facet | url %]]'>[% facet_count %] / [% facet %]</a></li>
- [% END %]
- </ul>
- [% END %]
- </div>
- </td>
- <td id='right_block'>
- <div>
- <span>[% l('Hits: [_1] / Page [_2] of [_3]', ctx.hit_count, page + 1, page_count) %]</span>
- [%
- q = query | url;
- np_link = '?query=' _ q;
- IF loc; np_link = np_link _ "&loc=" _ loc; END;
- IF depth or depth == 0; np_link = np_link _ "&depth=" _ depth; END;
- %]
- <a [% IF page > 0 %] href='[% np_link %]&page=[% page - 1 %]' [% END %]>Prev</a>
- <a [% IF (page + 1) < page_count %] href='[% np_link %]&page=[% page + 1 %]' [% END %]>Next</a>
- </div>
- <table id='record_table'>
- [%
- FOR rec IN ctx.records;
- attrs = {marc_xml => rec.marc_xml};
- PROCESS get_marc_attrs args=attrs;
- %]
- <tr [% IF loop.count % 2 == 1 %] class='record-table-odd' [% END %]>
- <td style='width:52px;height:72px'>
- [% IF attrs.isbn %]
- <img width='50' height='70' src='[% ctx.media_prefix %]/opac/extras/ac/jacket/small/[% attrs.isbn_clean || attrs.upc %]'/>
- [% END %]
- </td>
- <td width='auto'>
- <div width='99%'>
- <div style='float:left'>
- <a href='record/[% rec.bre.id %]'>[% attrs.title %]</a>
- </div>
- <div style='float:right'>
- <span>[% rec.copy_counts.available %] / [% rec.copy_counts.visible %]</span>
- <span style='padding-left:10px;'><a href='place_hold?hold_target=[% rec.bre.id %]&hold_type=T'>Hold</a></span>
- </div>
- </div><br/>
- <div>[% attrs.author %]</div>
- <div>[% attrs.isbn || attrs.issn || attrs.upc %] [% attrs.publisher %] [% attrs.pubdate %]</div>
- </td>
- </tr>
- [% END %]
- </table>
- </td>
- </tr>
-
-</table>
-[% END %]