Merge commit 'origin/master' into sopac

This commit is contained in:
Galen Charlton 2009-09-08 17:16:22 -04:00
commit 2f99d99991
21 changed files with 509 additions and 126 deletions

View file

@ -351,6 +351,8 @@ sub get_template_and_user {
OpacMainUserBlock => "" . C4::Context->preference("OpacMainUserBlock"),
OpacNav => "" . C4::Context->preference("OpacNav"),
OpacPasswordChange => C4::Context->preference("OpacPasswordChange"),
OPACPatronDetails => C4::Context->preference("OPACPatronDetails"),
OPACFinesTab => C4::Context->preference("OPACFinesTab"),
OpacTopissue => C4::Context->preference("OpacTopissue"),
RequestOnOpac => C4::Context->preference("RequestOnOpac"),
TemplateEncoding => "". C4::Context->preference("TemplateEncoding"),

View file

@ -318,6 +318,8 @@ $tabsysprefs{OPACSearchForTitleIn} = "OPAC";
$tabsysprefs{OPACShelfBrowser} = "OPAC";
$tabsysprefs{OPACDisplayRequestPriority} = "OPAC";
$tabsysprefs{OPACAllowHoldDateInFuture} = "OPAC";
$tabsysprefs{OPACPatronDetails} = "OPAC";
$tabsysprefs{OPACFinesTab} = "OPAC";
# OPAC
$tabsysprefs{SearchMyLibraryFirst} = "OPAC";

View file

@ -425,13 +425,14 @@ my @previousissues;
## ADDED BY JF: new itemtype issuingrules counter stuff
my $issued_itemtypes_count;
my @issued_itemtypes_count_loop;
my $totalprice = 0;
if ($borrower) {
# get each issue of the borrower & separate them in todayissues & previous issues
my ($issueslist) = GetPendingIssues($borrower->{'borrowernumber'});
# split in 2 arrays for today & previous
foreach my $it ( @$issueslist ) {
my $itemtypeinfo = getitemtypeinfo( (C4::Context->preference('item-level_itypes')) ? $it->{'itype'} : $it->{'itemtype'} );
# set itemtype per item-level_itype syspref - FIXME this is an ugly hack
$it->{'itemtype'} = ( C4::Context->preference( 'item-level_itypes' ) ) ? $it->{'itype'} : $it->{'itemtype'};
@ -447,8 +448,13 @@ if ($borrower) {
$it->{'can_renew'} = $can_renew;
$it->{'can_confirm'} = !$can_renew && !$restype;
$it->{'renew_error'} = $restype;
$it->{'checkoutdate'} = C4::Dates->new($it->{'issuedate'},'iso')->output('syspref');
$totalprice += $it->{'replacementprice'};
$it->{'itemtype'} = $itemtypeinfo->{'description'};
$it->{'itemtype_image'} = $itemtypeinfo->{'imageurl'};
$it->{'dd'} = format_date($it->{'date_due'});
$it->{'issuedate'} = format_date($it->{'issuedate'});
$it->{'od'} = ( $it->{'date_due'} lt $todaysdate ) ? 1 : 0 ;
($it->{'author'} eq '') and $it->{'author'} = ' ';
$it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}};
@ -619,6 +625,8 @@ foreach my $flag ( sort keys %$flags ) {
my $amountold = $borrower->{flags}->{'CHARGES'}->{'message'} || 0;
$amountold =~ s/^.*\$//; # remove upto the $, if any
my ( $total, $accts, $numaccts) = GetMemberAccountRecords( $borrowernumber );
if ( $borrower->{'category_type'} eq 'C') {
my ( $catcodes, $labels ) = GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
my $cnt = scalar(@$catcodes);
@ -676,6 +684,8 @@ $template->param(
duedatespec => $duedatespec,
message => $message,
CGIselectborrower => $CGIselectborrower,
totalprice => sprintf("%.2f", $totalprice),
totaldue => sprintf("%.2f", $total),
todayissues => \@todaysissues,
previssues => \@previousissues,
inprocess => $inprocess,

View file

@ -440,3 +440,5 @@ August 1 2009 Sébastien Hinderer becomes the 96th committer to have a patched a
August 30 2009 John A. Graziano Memorial Library contributes a icon for Bridge Icon set
September 5 2009 UNIMARC XSLT cleanup and new features Sponsored by BULAC, www.bulac.fr
September 5 2009 Labels rewrite committed, sponsored by Foundations Bible College & Seminary, Dunn, NC USA
September 6 2009 Katrin Fischer becomes the 97th committer to have a patch accepted developer
September 6 2009 Wolfgang Heymans becomes the 98th committer to have a patch accepted developer

View file

@ -256,4 +256,6 @@ INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanatio
INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'ReturnToShelvingCart', '0', '', 'If set, when any item is ''checked in'', it''s location code will be changed to CART.', 'YesNo');
INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'DisplayClearScreenButton', '0', '', 'If set to ON, a clear screen button will appear on the circulation page.', 'YesNo');
INSERT INTO systempreferences (variable,value,options,explanation,type)VALUES('HidePatronName', '0', '', 'If this is switched on, patron''s cardnumber will be shown instead of their name on the holds and catalog screens', 'YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACSearchForTitleIn','<li class="yuimenuitem"><a target="_blank" class="yuimenuitemlabel" href="http://worldcat.org/search?q=TITLE"">Other Libraries (WorldCat)</a></li>\n<li class="yuimenuitem"><a class="yuimenuitemlabel" href="http://www.scholar.google.com/scholar?q=TITLE" target="_blank">Other Databases (Google Scholar)</a></li>\n<li class="yuimenuitem"><a class="yuimenuitemlabel" href="http://www.bookfinder.com/search/?author=AUTHOR&amp;title=TITLE&amp;st=xl&amp;ac=qr" target="_blank">Online Stores (Bookfinder.com)</a></li>','Enter the HTML that will appear in the \'Search for this title in\' box on the detail page in the OPAC. Enter TITLE, AUTHOR, or ISBN in place of their respective variables in the URL. Leave blank to disable \'More Searches\' menu.','70|10','Textarea')
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACSearchForTitleIn','<li><a href="http://worldcat.org/search?q={TITLE}" target="_blank">Other Libraries (WorldCat)</a></li>\n<li><a href="http://www.scholar.google.com/scholar?q={TITLE}" target="_blank">Other Databases (Google Scholar)</a></li>\n<li><a href="http://www.bookfinder.com/search/?author={AUTHOR}&amp;title={TITLE}&amp;st=xl&amp;ac=qr" target="_blank">Online Stores (Bookfinder.com)</a></li>','Enter the HTML that will appear in the \'Search for this title in\' box on the detail page in the OPAC. Enter {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the URL. Leave blank to disable \'More Searches\' menu.','70|10','Textarea');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACPatronDetails','1','If OFF the patron details tab in the OPAC is disabled.','','YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACFinesTab','1','If OFF the patron fines tab in the OPAC is disabled.','','YesNo');

View file

@ -2138,6 +2138,8 @@ CREATE TABLE language_subtag_registry (
type varchar(25), -- language-script-region-variant-extension-privateuse
description varchar(25), -- only one of the possible descriptions for ease of reference, see language_descriptions for the complete list
added date,
id int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`),
KEY `subtag` (`subtag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -2148,6 +2150,8 @@ DROP TABLE IF EXISTS language_rfc4646_to_iso639;
CREATE TABLE language_rfc4646_to_iso639 (
rfc4646_subtag varchar(25),
iso639_2_code varchar(25),
id int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`),
KEY `rfc4646_subtag` (`rfc4646_subtag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -2157,6 +2161,8 @@ CREATE TABLE language_descriptions (
type varchar(25),
lang varchar(25),
description varchar(255),
id int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`),
KEY `lang` (`lang`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View file

@ -2614,6 +2614,36 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
print "Upgrade to $DBversion done (bug 1600, bug 3454: add altcontactcountry and B_address2 to borrowers and deletedborrowers)\n";
}
$DBversion = '3.01.00.055';
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do(qq|UPDATE systempreferences set explanation='Enter the HTML that will appear in the ''Search for this title in'' box on the detail page in the OPAC. Enter {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the URL. Leave blank to disable ''More Searches'' menu.', value='<li><a href="http://worldcat.org/search?q={TITLE}" target="_blank">Other Libraries (WorldCat)</a></li>\n<li><a href="http://www.scholar.google.com/scholar?q={TITLE}" target="_blank">Other Databases (Google Scholar)</a></li>\n<li><a href="http://www.bookfinder.com/search/?author={AUTHOR}&amp;title={TITLE}&amp;st=xl&amp;ac=qr" target="_blank">Online Stores (Bookfinder.com)</a></li>' WHERE variable='OPACSearchForTitleIn'|);
SetVersion ($DBversion);
print "Upgrade to $DBversion done (changed OPACSearchForTitleIn per requests in bug 1934)\n";
}
$DBversion = '3.01.00.056';
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACPatronDetails','1','If OFF the patron details tab in the OPAC is disabled.','','YesNo');");
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Bug 1172 : Add OPACPatronDetails syspref)\n";
}
$DBversion = '3.01.00.057';
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACFinesTab','1','If OFF the patron fines tab in the OPAC is disabled.','','YesNo');");
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Bug 2576 : Add OPACFinesTab syspref)\n";
}
$DBversion = '3.01.00.058';
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("ALTER TABLE `language_subtag_registry` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY;");
$dbh->do("ALTER TABLE `language_rfc4646_to_iso639` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY;");
$dbh->do("ALTER TABLE `language_descriptions` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY;");
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Added primary keys to language tables)\n";
}
=item DropAllForeignKeys($table)
Drop all foreign keys of the table $table

View file

@ -21,7 +21,7 @@ $.tablesorter.addParser({
$.tablesorter.defaults.widgets = ['zebra'];
$("#issuest").tablesorter({<!-- TMPL_IF EXPR="dateformat eq 'metric'" -->
dateFormat: 'uk',<!-- /TMPL_IF -->
headers: { 1: { sorter: 'articles' },5: { sorter: false },6:{sorter:false}}
headers: { 1: { sorter: 'articles' },5: { sorter: false },6:{sorter:false},7:{sorter:false},8:{sorter:false}}
});
$("#issuest").bind("sortEnd",function() {
$("#previous").parents("tr").remove(); // 'previous checkouts' header chokes table sorter
@ -41,14 +41,91 @@ $.tablesorter.addParser({
}
} ).attr( 'checked', false );
<!-- /TMPL_IF -->
$("td").click(function(e){
if(e.target.tagName.toLowerCase() == 'td'){
$(this).find("input:checkbox").each( function() {
$(this).attr('checked', !$(this).attr('checked'));
});
}
});
var allcheckboxes = $(".checkboxed");
$("#renew_all").click(function(){
$(allcheckboxes).checkCheckboxes(":input[name*=items]");
$(allcheckboxes).unCheckCheckboxes(":input[name*=barcodes]");
});
$("#return_all").click(function(){
$(allcheckboxes).checkCheckboxes(":input[name*=barcodes]");
$(allcheckboxes).unCheckCheckboxes(":input[name*=items]");
});
$("#CheckAllitems").click(function(){
$(allcheckboxes).checkCheckboxes(":input[name*=items]");
$(allcheckboxes).unCheckCheckboxes(":input[name*=barcodes]"); return false;
});
$("#CheckNoitems").click(function(){
$(allcheckboxes).unCheckCheckboxes(":input[name*=items]"); return false;
});
$("#CheckAllreturns").click(function(){
$(allcheckboxes).checkCheckboxes(":input[name*=barcodes]");
$(allcheckboxes).unCheckCheckboxes(":input[name*=items]"); return false;
});
$("#CheckNoreturns" ).click(function(){
$(allcheckboxes).unCheckCheckboxes(":input[name*=barcodes]"); return false;
});
<!-- TMPL_IF NAME="CAN_user_circulate_override_renewals" -->
<!-- TMPL_IF NAME="AllowRenewalLimitOverride" -->
$( '#override_limit' ).click( function () {
if ( this.checked ) {
$( '.renewals-allowed' ).show(); $( '.renewals-disabled' ).hide();
} else {
$( '.renewals-allowed' ).hide(); $( '.renewals-disabled' ).show();
}
} ).attr( 'checked', false );
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
$("td").click(function(e){
if(e.target.tagName.toLowerCase() == 'td'){
$(this).find("input:checkbox").each( function() {
$(this).attr('checked', !$(this).attr('checked'));
if($(this).attr('checked')){
$(this).parent().siblings().find("input:checkbox").each(function(){
if($(this).attr('checked')){ $(this).attr('checked',''); }
});
}
});
}
});
});
function uncheck_sibling(me){
nodename=me.getAttribute("name");
if (nodename =="barcodes[]"){
var Node=me.parentNode.previousSibling;
while (Node.nodeName!="TD"){Node=Node.previousSibling}
var Nodes=Node.childNodes;
for (var i=0;i<Nodes.length;i++){
if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
Nodes[i].checked=false;
}
}
}else {
var Node=me.parentNode.nextSibling;
while (Node.nodeName!="TD"){Node=Node.nextSibling}
var Nodes=Node.childNodes;
for (var i=0;i<Nodes.length;i++){
if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
Nodes[i].checked=false;
}
}
}
}
function validate1(date) {
var today = new Date();
if ( date < today ) {
return true;
} else {
return false;
}
};
function refocus(calendar) {
document.getElementById('barcode').focus();
calendar.hide();
};
//]]>
</script>
<!-- TMPL_INCLUDE NAME="calendar.inc" -->
@ -428,7 +505,7 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<a href="/cgi-bin/koha/circ/circulation.pl#checkouts">0 Checkouts</a>
<!-- /TMPL_IF --></li>
<li><!-- TMPL_IF NAME="countreserv"-->
<a href="/cgi-bin/koha/circ/circulation.pl#reserves"><!--TMPL_VAR NAME="countreserv"--> Holds(s)</a>
<a href="/cgi-bin/koha/circ/circulation.pl#reserves"><!--TMPL_VAR NAME="countreserv"--> Hold(s)</a>
<!-- TMPL_ELSE -->
<a href="/cgi-bin/koha/circ/circulation.pl#reserves">0 Holds</a>
<!-- /TMPL_IF --></li>
@ -438,23 +515,54 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- SUMMARY : TODAY & PREVIOUS ISSUES -->
<div id="checkouts">
<!--TMPL_IF NAME="issuecount"-->
<form action="/cgi-bin/koha/reserve/renewscript.pl" method="post">
<form action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed">
<input type="hidden" value="circ" name="destination" />
<input type="hidden" name="cardnumber" value="<!-- TMPL_VAR NAME="cardnumber" -->" />
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->" />
<input type="hidden" name="branch" value="<!-- TMPL_VAR NAME="branch" -->" />
<table id="issuest">
<thead><tr>
<th>Due date</th>
<th>Title</th>
<th>Item Type</th>
<th>Call no</th>
<th>Barcode</th>
<th>Renewals</th>
<th>Renew?</th>
<th>Check In?</th>
<th scope="col">Due date</th>
<th scope="col">Title</th>
<th scope="col">Item Type</th>
<th scope="col">Checked out on</th>
<th scope="col">Call no</th>
<th scope="col">Charge</th>
<th scope="col">Price</th>
<th scope="col">Renew <p class="column-tool"><a href="#" id="CheckAllitems">select all</a> | <a href="#" id="CheckNoitems">none</a></p></th>
<th scope="col">Check in <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th>
</tr>
<!-- TMPL_IF NAME="todayissues" --></thead>
<tfoot>
<tr>
<td colspan="5" style="text-align: right; font-weight:bold;">Totals:</td>
<td><!-- TMPL_VAR NAME="totaldue" --></td>
<td><!-- TMPL_VAR NAME="totalprice" --></td>
<td colspan="2">
<p>
Renewal due date: <input type="text" size="8" id="newduedate" name="newduedate" value="<!-- TMPL_VAR Name="newduedate" -->" />
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="newduedate_button" alt="Show Calendar" />
<script type="text/javascript"> //<![CDATA[
//#TODO - ADD syspref (AllowPostDatedCheckouts).
Calendar.setup(
{
inputField : "newduedate",
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
button : "newduedate_button",
disableFunc : validate1,
dateStatusFunc : validate1,
onClose : refocus
}
);
//]]>
</script>
</p>
<p>
<label>Forgive fines on return: <input type="checkbox" name="exemptfine" value="1" /></label>
</p>
</td>
</tr>
</tfoot>
<tbody>
<!-- TMPL_LOOP NAME="todayissues" -->
@ -464,17 +572,13 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<tr class="highlight">
<!-- /TMPL_IF -->
<td><!-- TMPL_VAR NAME="dd" --></td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;type=intra"><!-- TMPL_VAR NAME="title" escape="html" --></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="itemnotes" -->- <span class="circ-hlt"><!-- TMPL_VAR name="itemnotes" --></span><!-- /TMPL_IF --></td>
<td>
<!-- TMPL_VAR NAME="itemtype" -->
<!-- TMPL_UNLESS NAME="noItemTypeImages" --> <!-- TMPL_IF NAME="itemtype_image" -->
<img src="<!-- TMPL_VAR NAME="itemtype_image" -->" />
<!-- /TMPL_IF --><!-- /TMPL_UNLESS -->
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;type=intra"><strong><!-- TMPL_VAR NAME="title" escape="html" --></strong></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="itemnotes" -->- <span class="circ-hlt"><!-- TMPL_VAR name="itemnotes" --></span><!-- /TMPL_IF --> <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td><!-- TMPL_UNLESS NAME="noItemTypeImages" --> <!-- TMPL_IF NAME="itemtype_image" --><img src="<!-- TMPL_VAR NAME="itemtype_image" -->" alt="" /><!-- /TMPL_IF --><!-- /TMPL_UNLESS --><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="checkoutdate" --></td>
<td><!-- TMPL_VAR NAME="itemcallnumber" --></td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td><!-- TMPL_VAR NAME="renewals" --></td>
<td>
<td><!-- TMPL_VAR NAME="charge" --></td>
<td><!-- TMPL_VAR NAME="replacementprice" --></td>
<td><span style="padding: 0 1em;"><!-- TMPL_VAR NAME="renewals" --></span>
<!-- TMPL_IF NAME="can_renew" -->
<input type="checkbox" name="all_items[]" value="<!-- TMPL_VAR NAME="itemnumber" -->" checked="checked" style="display: none;" />
<!-- TMPL_IF NAME="od" -->
@ -504,7 +608,13 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</td>
<td><a href="/cgi-bin/koha/circ/returns.pl?barcode=<!-- TMPL_VAR NAME="barcode" -->">Check In</a></td>
<!-- TMPL_IF NAME="return_failed" -->
<td class="problem">Checkin Failed</td>
<!--TMPL_ELSE-->
<td><input type="checkbox" name="barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" onclick="uncheck_sibling(this);" />
<input type="checkbox" name="all_barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" checked="checked" style="display: none;" />
</td>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="renew_failed" -->
<td>Renewal Failed</td>
<!-- /TMPL_IF -->
@ -512,8 +622,8 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- /TMPL_LOOP --> <!-- /loop todayissues -->
<!-- /if todayissues --><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="previssues" -->
<!-- TMPL_IF NAME="todayissues" --><tr><th colspan="8"><a name="previous" id="previous"></a>Previous checkouts</th></tr><!-- TMPL_ELSE -->
<tr><th class="{sorter: false}" colspan="8"><a name="previous" id="previous"></a>Previous checkouts</th></tr></thead>
<!-- TMPL_IF NAME="todayissues" --><tr><th colspan="10"><a name="previous" id="previous"></a>Previous checkouts</th></tr><!-- TMPL_ELSE -->
<tr><th class="{sorter: false}" colspan="10"><a name="previous" id="previous"></a>Previous checkouts</th></tr></thead>
<tbody>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP NAME="previssues" -->
@ -525,17 +635,15 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- TMPL_IF NAME="od" --><td class="od"><!-- TMPL_ELSE --><td><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="dd" -->
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;type=intra"><!-- TMPL_VAR NAME="title" escape="html" --></a><br /><!-- TMPL_IF NAME="author" --><!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --> <!-- TMPL_IF NAME="itemnotes" -->- <!-- TMPL_VAR name="itemnotes" --><!-- /TMPL_IF --></td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;type=intra"><strong><!-- TMPL_VAR NAME="title" escape="html" --></strong></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --> <!-- TMPL_IF NAME="itemnotes" -->- <!-- TMPL_VAR name="itemnotes" --><!-- /TMPL_IF --> <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td>
<!-- TMPL_VAR NAME="itemtype" -->
<!-- TMPL_IF NAME="itemtype_image" -->
<img src="<!-- TMPL_VAR NAME="itemtype_image" -->" />
<!-- /TMPL_IF -->
</td>
<td><!-- TMPL_VAR NAME="issuedate" --></td>
<td><!-- TMPL_VAR NAME="itemcallnumber" --></td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td><!-- TMPL_VAR NAME="renewals" --></td>
<td>
<td><!-- TMPL_VAR NAME="charge" --></td>
<td><!-- TMPL_VAR NAME="replacementprice" --></td>
<td><span style="padding: 0 1em;"><!-- TMPL_IF NAME="renewals" --><!-- TMPL_VAR NAME="renewals" --><!-- TMPL_ELSE -->0<!-- /TMPL_IF --></span>
<!-- TMPL_IF NAME="can_renew" -->
<input type="checkbox" name="all_items[]" value="<!-- TMPL_VAR NAME="itemnumber" -->" checked="checked" style="display: none;" />
<!-- TMPL_IF NAME="od" -->
@ -565,7 +673,13 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</td>
<td><a href="/cgi-bin/koha/circ/returns.pl?barcode=<!-- TMPL_VAR NAME="barcode" -->">Check In</a></td>
<!-- TMPL_IF NAME="return_failed" -->
<td class="problem">Checkin Failed</td>
<!--TMPL_ELSE-->
<td><input type="checkbox" name="barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" onclick="uncheck_sibling(this);" />
<input type="checkbox" name="all_barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" checked="checked" style="display: none;" />
</td>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="renew_failed" -->
<td>Renewal Failed</td>
<!-- /TMPL_IF -->
@ -577,15 +691,16 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
</table>
<!--TMPL_IF NAME="issuecount"-->
<fieldset class="action">
<!-- TMPL_IF NAME="CAN_user_circulate_override_renewals" -->
<!-- TMPL_IF NAME="CAN_user_circulate_override_renewals" -->
<!-- TMPL_IF NAME="AllowRenewalLimitOverride" -->
<label for="override_limit">Override Renewal Limit:</label>
<input type="checkbox" name="override_limit" id="override_limit" value="1" />
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<input type="submit" name="renew_checked" value="Renew Checked Items" />
<input type="submit" name="renew_all" value="Renew All" />
</fieldset>
<!-- /TMPL_IF -->
<input type="submit" name="renew_checked" value="Renew or Return checked items" />
<input type="submit" id="renew_all" name="renew_all" value="Renew all" />
<input type="submit" id="return_all" name="return_all" value="Return all" />
</fieldset>
<!-- /TMPL_IF -->
</form>
<!-- TMPL_ELSE -->
@ -596,21 +711,22 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<div id="reserves">
<!-- TMPL_IF NAME="reservloop" -->
<form action="/cgi-bin/koha/reserve/modrequest.pl" method="post">
<input type="hidden" name="from" value="circ" />
<table id="holdst">
<thead><tr>
<th>Hold date</th>
<th>Title</th>
<th>Item Type</th>
<th>Call Number</th>
<th>Barcode</th>
<th>Priority</th>
<th>Delete?</th>
</tr></thead>
<tbody>
<!-- TMPL_LOOP NAME="reservloop" -->
<tr class="<!-- TMPL_VAR NAME="color" -->">
<td><!-- TMPL_VAR NAME="reservedate" --></td>
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --></td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><strong><!-- TMPL_VAR NAME="title" escape="html" --></strong></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --></td>
<td><!-- TMPL_VAR NAME="itemcallnumber" --></td>
<td><em><!-- TMPL_IF name="barcodereserv" -->Item <!-- TMPL_VAR NAME="barcodereserv" -->
<!-- /TMPL_IF --><!-- TMPL_IF name="waiting" --> <strong>waiting at <!-- TMPL_VAR NAME="waitingat" --></strong>
@ -621,15 +737,22 @@ No patron matched <span class="ex"><!-- TMPL_VAR name="message" --></span>
<!-- TMPL_IF name="nottransfered" --> hasn't been transfered yet from <!-- TMPL_VAR NAME="nottransferedby" --></i>
<!-- /TMPL_IF --></em></td>
<td>
<!-- TMPL_IF NAME="waitingposition" -->
Hold priority
<b> <!-- TMPL_VAR NAME="waitingposition" --> </b><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="waitingposition" --><b> <!-- TMPL_VAR NAME="waitingposition" --> </b><!-- /TMPL_IF -->
</td>
<td><select name="rank-request">
<option value="n">No</option>
<option value="del">Yes</option>
</select>
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="biblionumber" -->" />
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR name="borrowernumber" -->" />
</td>
</tr>
<!-- /TMPL_LOOP --></tbody>
</table>
<fieldset class="action"><input type="submit" class="cancel" name="submit" value="Cancel Marked Requests" /></fieldset>
</form>
<!-- TMPL_ELSE -->
<p>Patron has no pending holds.</p>
<p>Patron has nothing on hold.</p>
<!-- /TMPL_IF -->
</div> <!-- reservesloop -->

View file

@ -14,10 +14,10 @@ $.tablesorter.addParser({
});
$(document).ready(function() {
$('#finesholdsissues > ul').tabs();
$.tablesorter.defaults.widgets = ['zebra'];
$("#issuest").tablesorter({<!-- TMPL_IF NAME="dateformat_metric" -->
dateFormat: 'uk',<!-- /TMPL_IF -->
sortList: [[1,0]],
headers: { 1: { sorter: 'articles' },4:{sorter:false},5: { sorter: false },6:{sorter:false},7:{sorter:false}}
headers: { 1: { sorter: 'articles' },5: { sorter: false },6:{sorter:false},7:{sorter:false},8:{sorter:false}}
});
$("#holdst").tablesorter({<!-- TMPL_IF NAME="dateformat_metric" -->
dateFormat: 'uk',<!-- /TMPL_IF -->
@ -368,13 +368,16 @@ if (nodename =="barcodes[]"){
<div id="finesholdsissues" class="toptabs">
<ul>
<li><a href="#checkedout">Checked Out</a></li>
<li><a href="#finesandcharges">Fines &amp; Charges</a></li>
<li><a href="#onhold">On Hold</a></li>
<li><a href="/cgi-bin/koha/members/moremember.pl#checkedout"><!-- TMPL_VAR NAME="issuecount"--> Checkout(s)</a></li>
<li><a href="/cgi-bin/koha/members/moremember.pl#finesandcharges">Fines &amp; Charges</a></li>
<li><!-- TMPL_IF NAME="countreserv"-->
<a href="/cgi-bin/koha/members/moremember.pl#onhold"><!--TMPL_VAR NAME="countreserv"--> Hold(s)</a>
<!-- TMPL_ELSE -->
<a href="/cgi-bin/koha/members/moremember.pl#onhold">0 Holds</a>
<!-- /TMPL_IF --></li>
</ul>
<div id="finesandcharges">
<h2>Fines and Charges</h2>
<!-- TMPL_IF NAME="totaldue_raw" -->
<p>Total due: <!-- TMPL_VAR NAME="totaldue" --></p>
<!-- TMPL_ELSE -->
@ -383,7 +386,6 @@ if (nodename =="barcodes[]"){
</div>
<div id="checkedout">
<h2>Checked Out</h2>
<!-- TMPL_IF NAME="issueloop" -->
<form action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed">
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->" />
@ -391,18 +393,19 @@ if (nodename =="barcodes[]"){
<table id="issuest">
<thead>
<tr>
<th scope="col">Item Type</th>
<th scope="col">Due date</th>
<th scope="col">Title</th>
<th scope="col">Item Type</th>
<th scope="col">Checked out on</th>
<th scope="col">Date due</th>
<th scope="col">Call no</th>
<th scope="col">Charge</th>
<th scope="col">Price</th>
<th scope="col">Renew <p class="column-tool"><a href="#" id="CheckAllitems">select all</a> | <a href="#" id="CheckNoitems">none</a></p></th>
<th scope="col">Return <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th>
<th scope="col">Check in <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th>
</tr></thead>
<tfoot>
<tr>
<td colspan="4" style="text-align: right; font-weight:bold;">Totals:</td>
<td colspan="5" style="text-align: right; font-weight:bold;">Totals:</td>
<td><!-- TMPL_VAR NAME="totaldue" --></td>
<td><!-- TMPL_VAR NAME="totalprice" --></td>
<td colspan="2">
@ -420,7 +423,7 @@ if (nodename =="barcodes[]"){
</script>
</p>
<p>
Forgive fines on return: <input type="checkbox" name="exemptfine" value="1" />
<label>Forgive fines on return: <input type="checkbox" name="exemptfine" value="1" /></label>
</p>
</td>
</tr>
@ -433,13 +436,7 @@ if (nodename =="barcodes[]"){
<!-- TMPL_ELSE -->
<tr>
<!-- /TMPL_IF -->
<td><!-- TMPL_UNLESS NAME="noItemTypeImages" --> <!-- TMPL_IF NAME="itemtype_image" -->
<img src="<!-- TMPL_VAR NAME="itemtype_image" -->" alt="" />
<!-- /TMPL_IF --><!-- /TMPL_UNLESS -->
<!-- TMPL_VAR NAME="itemtype_description" --></td>
<td><!-- TMPL_IF NAME="red" --><a class="overdue" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html"--></a><!-- TMPL_ELSE --><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a><!-- /TMPL_IF --> <!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> <!-- TMPL_IF name="publishercode" -->; <!-- TMPL_VAR name="publishercode" --> <!-- /TMPL_IF --> <!-- TMPL_IF name="publicationyear" -->, <!-- TMPL_VAR name="publicationyear" --><!-- /TMPL_IF --> <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td><!-- TMPL_VAR NAME="issuedate" --></td>
<td><!-- TMPL_IF NAME="red" --><span class="overdue"><!-- TMPL_VAR NAME="date_due" --></span><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="date_due" --><!-- /TMPL_IF -->
<td<!-- TMPL_IF NAME="red" --> class="od"<!-- /TMPL_IF -->><!-- TMPL_VAR NAME="date_due" -->
<!-- TMPL_IF NAME="itemlost" -->
<span class="lost"><!-- TMPL_VAR NAME="itemlost" --></span>
<!-- /TMPL_IF -->
@ -447,12 +444,16 @@ if (nodename =="barcodes[]"){
<span class="dmg"><!-- TMPL_VAR NAME="itemdamaged" --></span>
<!-- /TMPL_IF -->
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><strong><!-- TMPL_VAR NAME="title" escape="html" --></strong></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR name="author" --><!-- /TMPL_IF --> <!-- TMPL_IF name="publishercode" -->; <!-- TMPL_VAR name="publishercode" --> <!-- /TMPL_IF --> <!-- TMPL_IF name="publicationyear" -->, <!-- TMPL_VAR name="publicationyear" --><!-- /TMPL_IF --> <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#item<!-- TMPL_VAR NAME="itemnumber" -->"><!-- TMPL_VAR NAME="barcode" --></a></td>
<td><!-- TMPL_UNLESS NAME="noItemTypeImages" --> <!-- TMPL_IF NAME="itemtype_image" --><img src="<!-- TMPL_VAR NAME="itemtype_image" -->" alt="" /><!-- /TMPL_IF --><!-- /TMPL_UNLESS --><!-- TMPL_VAR NAME="itemtype_description" --></td>
<td><!-- TMPL_VAR NAME="issuedate" --></td>
<td><!-- TMPL_VAR NAME="itemcallnumber" --></td>
<td><!-- TMPL_VAR NAME="charge" --></td>
<td><!-- TMPL_VAR NAME="replacementprice" --></td>
<!-- TMPL_IF NAME="renew_failed" -->
<td class="problem">Renewal Failed</td>
<!-- TMPL_ELSE -->
<td>
<td><span style="padding: 0 1em;"><!-- TMPL_VAR NAME="renewals" --></span>
<!-- TMPL_IF name="norenew" -->
<!-- TMPL_IF NAME="can_confirm" --><span class="renewals-allowed" style="display: none">
<input type="checkbox" name="all_items[]" value="<!-- TMPL_VAR NAME="itemnumber" -->" checked="checked" style="display: none;" />
@ -484,7 +485,7 @@ if (nodename =="barcodes[]"){
</td>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="return_failed" -->
<td class="problem">Return Failed</td>
<td class="problem">Checkin Failed</td>
<!--TMPL_ELSE-->
<td><input type="checkbox" name="barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" onclick="uncheck_sibling(this);" />
<input type="checkbox" name="all_barcodes[]" value="<!-- TMPL_VAR NAME="barcode" -->" checked="checked" style="display: none;" />
@ -509,7 +510,6 @@ if (nodename =="barcodes[]"){
</div>
<div id="onhold">
<h2>Patron current holds</h2>
<!-- TMPL_IF NAME="reservloop" -->
<form action="/cgi-bin/koha/reserve/modrequest.pl" method="post">
<input type="hidden" name="from" value="borrower" />
@ -517,7 +517,6 @@ if (nodename =="barcodes[]"){
<thead><tr>
<th>Hold date</th>
<th>Title</th>
<th>Item Type</th>
<th>Call Number</th>
<th>Barcode</th>
<th>Priority</th>
@ -529,7 +528,6 @@ if (nodename =="barcodes[]"){
<td>
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a><!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
</td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="itemcallnumber" --></td>
<td><!-- TMPL_IF name="waiting" -->
<em>Item is <strong>waiting</strong></em>

View file

@ -1052,7 +1052,7 @@ $(document).ready(function() {
<ul>
<li>The subscription <strong>must</strong> be associated with a bibliographic record.</li>
<li>You <strong>must</strong> select a vendor if you wish to generate claims.</li>
<li>You have to select a vendor if you wish to generate claims.</li>
</ul></div>
@ -1275,15 +1275,9 @@ $(document).ready(function() {
<label for="subtype" class="required">Subscription length:</label>
<select name="subtype" id="subtype">
<!-- TMPL_LOOP NAME="subtype" -->
<!-- TMPL_IF NAME="selected" -->
<option value="<!-- TMPL_VAR NAME="name" -->" selected="selected">
<!-- TMPL_ELSE -->
<option value="<!-- TMPL_VAR NAME="name" -->">
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="name" -->
</option>
<!-- /TMPL_LOOP -->
<!--TMPL_IF Name="subtype_numberlength"--><option value="numberlength" selected="selected"><!--TMPL_ELSE--><option value="numberlength"><!--/TMPL_IF--> Number of issues</option>
<!--TMPL_IF Name="subtype_weeklength"--><option value="weeklength" selected="selected"><!--TMPL_ELSE--><option value="weeklength"><!--/TMPL_IF--> Number of weeks</option>
<!--TMPL_IF Name="subtype_monthlength"--><option value="monthlength" selected="selected"><!--TMPL_ELSE--><option value="monthlength"><!--/TMPL_IF--> Number of months</option>
</select>
<input type="text" name="sublength" value="<!-- TMPL_VAR name="sublength" -->" size="3" onkeypress="return check_input(event)" /> (enter amount in numerals)
<span class="required">Required</span>

View file

@ -2,8 +2,12 @@
<div id="menu">
<ul>
<!-- TMPL_IF NAME="userview" --><li class="active"><!-- TMPL_ELSE --><li><!-- /TMPL_IF --><a href="/cgi-bin/koha/opac-user.pl">my summary</a></li>
<!-- TMPL_IF NAME="OPACFinesTab" -->
<!-- TMPL_IF NAME="accountview" --><li class="active"><!-- TMPL_ELSE --><li><!-- /TMPL_IF --><a href="/cgi-bin/koha/opac-account.pl">my fines</a></li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="OPACPatronDetails" -->
<!-- TMPL_IF NAME="userupdateview" --><li class="active"><!-- TMPL_ELSE --><li><!-- /TMPL_IF --><a href="/cgi-bin/koha/opac-userupdate.pl">my personal details</a></li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="TagsEnabled" -->
<!-- TMPL_IF NAME="tagsview" --><li class="active"><!-- TMPL_ELSE --><li><!-- /TMPL_IF --><a href="/cgi-bin/koha/opac-tags.pl">my tags</a></li>
<!-- /TMPL_IF -->

View file

@ -17,7 +17,7 @@ if (typeof(readCookie) == "undefined") {
readCookie = function (name) { // from http://www.quirksmode.org/js/cookies.html
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
for (var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' '){ c = c.substring(1,c.length); }
if (c.indexOf(nameEQ) == 0){ return c.substring(nameEQ.length,c.length); }
@ -54,9 +54,9 @@ KOHA.Tags = {
},
common_status : function(addcount, delcount, errcount) {
var cstat = "";
if (addcount && addcount > 0) {cstat += "Added " + addcount + (addcount==1 ? " tag" : " tags") + ". " ;}
if (delcount && delcount > 0) {cstat += "Deleted " + delcount + (delcount==1 ? " tag" : " tags") + ". " ;}
if (errcount && errcount > 0) {cstat += (errcount==1 ? "ERROR" : errcount + " ERRORS") + " during operation.";}
if (addcount && addcount > 0) {cstat += _("Added ") + addcount + (addcount==1 ? _(" tag") : _(" tags")) + ". " ;}
if (delcount && delcount > 0) {cstat += _("Deleted ") + delcount + (delcount==1 ? _(" tag") : _(" tags")) + ". " ;}
if (errcount && errcount > 0) {cstat += (errcount==1 ? _("ERROR") : errcount + _(" ERRORS")) + _(" during operation.");}
return cstat;
},
set_tag_status : function(tagid, newstatus) {

View file

@ -293,9 +293,8 @@
</td>
<!-- TMPL_UNLESS NAME="item-level_itypes" -->
<td>
<img src="<!-- TMPL_VAR NAME="imageurl" -->"
alt="<!-- TMPL_VAR NAME="description" -->"
title="<!-- TMPL_VAR NAME="description" -->" />
<!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="description" -->
</td>
<!-- /TMPL_UNLESS -->
<td><!-- TMPL_VAR name="rank" --> out of <!-- TMPL_VAR NAME="reservecount" --></td>
@ -436,9 +435,8 @@
</td>
<!-- TMPL_IF NAME="item-level_itypes" -->
<td>
<img src="<!-- TMPL_VAR NAME="imageurl" -->"
alt="<!-- TMPL_VAR NAME="description" -->"
title="<!-- TMPL_VAR NAME="description" -->" />
<!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="description" -->
</td>
<!-- /TMPL_IF -->
<td><!-- TMPL_VAR NAME="barcode" --></td>

View file

@ -12,6 +12,10 @@
</xsl:template>
<xsl:template match="marc:record">
<!-- Option: Display Alternate Graphic Representation (MARC 880) -->
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/>
<xsl:variable name="leader" select="marc:leader"/>
<xsl:variable name="leader6" select="substring($leader,7,1)"/>
<xsl:variable name="leader7" select="substring($leader,8,1)"/>
@ -50,6 +54,16 @@
</xsl:variable>
<!-- Title Statement -->
<!-- Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<h1 class="title">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">245</xsl:with-param>
<xsl:with-param name="codes">abhfgknps</xsl:with-param>
</xsl:call-template>
</h1>
</xsl:if>
<xsl:if test="marc:datafield[@tag=245]">
<h1>
<xsl:for-each select="marc:datafield[@tag=245]">
@ -75,6 +89,18 @@
</h1>
</xsl:if>
<!-- Author Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<h5 class="author">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">100,110,111,700,710,711</xsl:with-param>
<xsl:with-param name="codes">abc</xsl:with-param>
<xsl:with-param name="index">au</xsl:with-param>
<!-- do not use label 'by ' here, it would be repeated for every occurence of 100,110,111,700,710,711 -->
</xsl:call-template>
</h5>
</xsl:if>
<xsl:choose>
<xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
<h5 class="author">by
@ -138,6 +164,18 @@
<xsl:value-of select="$materialTypeLabel"/>
</span>
</xsl:if>
<!--Series: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">440,490</xsl:with-param>
<xsl:with-param name="codes">av</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Series: </xsl:with-param>
<xsl:with-param name="index">se</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=440 or @tag=490]">
<span class="results_summary"><span class="label">Series: </span>
<xsl:for-each select="marc:datafield[@tag=440]">
@ -169,6 +207,17 @@
</xsl:for-each>
</span>
</xsl:if>
<!-- Publisher Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">260</xsl:with-param>
<xsl:with-param name="codes">abcg</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
@ -183,6 +232,17 @@
</xsl:for-each>
</span>
</xsl:if>
<!-- Edition Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">250</xsl:with-param>
<xsl:with-param name="codes">ab</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Edition: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=250]">
<span class="results_summary"><span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
@ -198,6 +258,16 @@
</span>
</xsl:if>
<!-- Description: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">300</xsl:with-param>
<xsl:with-param name="codes">abceg</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Description: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=300]">
<span class="results_summary"><span class="label">Description: </span>
<xsl:for-each select="marc:datafield[@tag=300]">
@ -234,6 +304,16 @@
</span>
</xsl:if>
<!-- Other Title Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">246</xsl:with-param>
<xsl:with-param name="codes">abhfgnp</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Other Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
<span class="results_summary"><span class="label">Other Title: </span>
<xsl:for-each select="marc:datafield[@tag=246]">
@ -249,6 +329,16 @@
</span>
</xsl:if>
<!-- Uniform Title Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">130,240</xsl:with-param>
<xsl:with-param name="codes">adfklmor</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Uniform Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
<span class="results_summary"><span class="label">Uniform titles: </span>
<xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">

View file

@ -14,6 +14,10 @@
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="marc:record">
<!-- Option: Display Alternate Graphic Representation (MARC 880) -->
<xsl:variable name="display880" select="boolean(marc:datafield[@tag=880])"/>
<xsl:variable name="leader" select="marc:leader"/>
<xsl:variable name="leader6" select="substring($leader,7,1)"/>
<xsl:variable name="leader7" select="substring($leader,8,1)"/>
@ -372,6 +376,16 @@
</xsl:for-each>
-->
</xsl:variable>
<!-- Title Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">245</xsl:with-param>
<xsl:with-param name="codes">abh</xsl:with-param>
<xsl:with-param name="bibno"><xsl:value-of select="$biblionumber"/></xsl:with-param>
</xsl:call-template>
</xsl:if>
<a><xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute>
<xsl:if test="marc:datafield[@tag=245]">
@ -409,6 +423,15 @@
</a>
<p>
<!-- Author Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">100,110,111,700,710,711</xsl:with-param>
<xsl:with-param name="codes">abc</xsl:with-param>
<xsl:with-param name="class">term</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:choose>
<xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
@ -797,6 +820,16 @@
</xsl:if>
</span>
<!-- Publisher Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">260</xsl:with-param>
<xsl:with-param name="codes">abcg</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary">
<span class="label">Publisher: </span>
@ -808,6 +841,16 @@
</span>
</xsl:if>
<!-- Other Title Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">246</xsl:with-param>
<xsl:with-param name="codes">ab</xsl:with-param>
<xsl:with-param name="class">results_summary</xsl:with-param>
<xsl:with-param name="label">Other Title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
<span class="results_summary">
<span class="label">Other title: </span>

View file

@ -64,7 +64,94 @@
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
<!-- Function m880Select: Display Alternate Graphic Representation (MARC 880) for selected latin "base"tags
- should be called immediately before the corresonding latin tags are processed
- tags in right-to-left languages are displayed floating right
* Parameter:
+ basetags: display these tags if found in linkage section ( subfield 6) of tag 880
+ codes: display these subfields codes
* Options:
- class: wrap output in <span class="$class">...</span>
- label: prefix each(!) tag with label $label
- bibno: link to biblionumber $bibno
- index: build a search link using index $index with subfield $a as key; if subfield $9 is present use index 'an' with key $9 instead.
* Limitations:
- displays every field on a separate line (to switch between rtl and ltr)
* Pitfalls:
(!) output might be empty
-->
<xsl:template name="m880Select">
<xsl:param name="basetags"/> <!-- e.g. 100,700,110,710 -->
<xsl:param name="codes"/> <!-- e.g. abc -->
<xsl:param name="class"/> <!-- e.g. results_summary -->
<xsl:param name="label"/> <!-- e.g. Edition -->
<xsl:param name="bibno"/>
<xsl:param name="index"/> <!-- e.g. au -->
<xsl:for-each select="marc:datafield[@tag=880]">
<xsl:variable name="code6" select="marc:subfield[@code=6]"/>
<xsl:if test="contains(string($basetags), substring($code6,1,3))">
<span>
<xsl:if test="boolean($class)">
<xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>
</xsl:if>
<xsl:choose>
<!-- display right-to-left tags floating right of their left-to-right counterparts -->
<xsl:when test="substring($code6,10,2) ='/r'">
<xsl:attribute name="style">display:block; text-align:right; float:right; width:50%; padding-left:20px</xsl:attribute>
<xsl:attribute name="dir">rtl</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style">display:block; </xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="boolean($label)">
<span class="label">
<xsl:value-of select="$label"/>
</span>
</xsl:if>
<xsl:variable name="str">
<xsl:for-each select="marc:subfield">
<xsl:if test="contains($codes, @code)">
<xsl:value-of select="text()"/>
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:choose>
<xsl:when test="boolean($bibno)">
<a>
<xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="$bibno"/></xsl:attribute>
<xsl:value-of select="$str"/>
</a>
</xsl:when>
<xsl:when test="boolean($index) and boolean(marc:subfield[@code=9])">
<a>
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
<xsl:value-of select="$str"/>
</a>
</xsl:when>
<xsl:when test="boolean($index)">
<a>
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="$index"/>:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
<xsl:value-of select="$str"/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str"/>
</xsl:otherwise>
</xsl:choose>
</span>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
<metaInformation>
<scenarios/><MapperInfo srcSchemaPath="" srcSchemaRoot="" srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/>
</metaInformation>

View file

@ -10,7 +10,7 @@
use strict;
sub kohaversion {
our $VERSION = '3.01.00.054';
our $VERSION = '3.01.00.058';
# version needs to be set this way
# so that it can be picked up by Makefile.PL
# during install

View file

@ -216,13 +216,13 @@ $template->param( lib2 => $lib2 ) if ($lib2);
# current issues
#
my $issue = GetPendingIssues($borrowernumber);
my $count = scalar(@$issue);
my $issuecount = scalar(@$issue);
my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
my $today = POSIX::strftime("%Y-%m-%d", localtime); # iso format
my @issuedata;
my $overdues_exist = 0;
my $totalprice = 0;
for ( my $i = 0 ; $i < $count ; $i++ ) {
for ( my $i = 0 ; $i < $issuecount ; $i++ ) {
my $datedue = $issue->[$i]{'date_due'};
my $issuedate = $issue->[$i]{'issuedate'};
$issue->[$i]{'date_due'} = C4::Dates->new($issue->[$i]{'date_due'}, 'iso')->output('syspref');
@ -347,7 +347,9 @@ if ($borrowernumber) {
}
# return result to the template
$template->param( reservloop => \@reservloop );
$template->param( reservloop => \@reservloop,
countreserv => scalar @reservloop,
);
}
# current alert subscriptions
@ -396,6 +398,7 @@ $template->param(
totaldue => sprintf("%.2f", $total),
totaldue_raw => $total,
issueloop => \@issuedata,
issuecount => $issuecount,
overdues_exist => $overdues_exist,
error => $error,
$error => 1,

View file

@ -552,9 +552,9 @@ if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref
#Search for title in links
if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
$search_for_title =~ s/AUTHOR/$dat->{author}/g;
$search_for_title =~ s/TITLE/$dat->{title}/g;
$search_for_title =~ s/ISBN/$isbn/g;
$search_for_title =~ s/{AUTHOR}/$dat->{author}/g;
$search_for_title =~ s/{TITLE}/$dat->{title}/g;
$search_for_title =~ s/{ISBN}/$isbn/g;
$template->param('OPACSearchForTitleIn' => $search_for_title);
}

View file

@ -72,6 +72,8 @@ else {
my $from=$query->param('from');
if ($from eq 'borrower'){
print $query->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrower[0]");
} elsif ($from eq 'circ'){
print $query->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrower[0]");
} else {
my $url = "/cgi-bin/koha/reserve/request.pl?";
if ($multi_hold) {

View file

@ -93,32 +93,19 @@ if ($op eq 'mod' || $op eq 'dup' || $op eq 'modsubscription') {
$nextexpected->{'isfirstissue'} = $nextexpected->{planneddate}->output('iso') eq $firstissuedate ;
$subs->{nextacquidate} = $nextexpected->{planneddate}->output() if($op eq 'mod');
unless($op eq 'modsubscription') {
if($subs->{numberlength} > 0){
$sublength = $subs->{numberlength};
$sub_on = $subscription_types[0];
} elsif ($subs->{weeklength}>0){
$sublength = $subs->{weeklength};
$sub_on = $subscription_types[1];
} else {
$sublength = $subs->{monthlength};
$sub_on = $subscription_types[2];
}
while (@subscription_types) {
my $sub_type = shift @subscription_types;
my %row = ( 'name' => $sub_type );
if ( $sub_on eq $sub_type ) {
$row{'selected'} = ' selected';
} else {
$row{'selected'} = '';
}
push( @sub_type_data, \%row );
}
foreach my $length_unit qw(numberlength weeklength monthlength){
if ($subs->{$length_unit}){
$sublength=$subs->{$length_unit};
$sub_on=$length_unit;
last;
}
}
$template->param($subs);
$template->param("dow".$subs->{'dow'} => 1) if defined $subs->{'dow'};
$template->param(
$op => 1,
subtype => \@sub_type_data,
"subtype_$sub_on" => 1,
sublength =>$sublength,
history => ($op eq 'mod' && $subs->{manualhistory} == 1 ),
"periodicity".$subs->{'periodicity'} => 1,