Bugzilla – Attachment 2959 Details for
Bug 4950
checkbox should be removed when can't place a hold
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed fix for 3.2.x
0001-3.2.x-Fix-for-Bug-4950-checkbox-should-be-removed-wh.patch (text/plain), 28.90 KB, created by
Owen Leonard
on 2011-01-06 18:49:11 UTC
(
hide
)
Description:
Proposed fix for 3.2.x
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2011-01-06 18:49:11 UTC
Size:
28.90 KB
patch
obsolete
>From 36693ea9d89f55f3e1b3d94d1d4bc294014ea0b6 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Fri, 9 Jul 2010 09:52:46 -0400 >Subject: [PATCH] [3.2.x] Fix for Bug 4950 - checkbox should be removed when can't place a hold >Content-Type: text/plain; charset="utf-8" > >- Hiding form controls for titles which can't be placed on hold >- Highlighting hold blocked message for better visibility >- Showing table of blocked holds even if none can be placed on > hold: hiding the table hides the messages explaining why > titles can't be placed on hold >- Removing an unused line from the script which was leaving errors > in the error log >- Consolidating error messages into one box which were displaying > in two. >- Correcting link to unused opac-userdetails.pl >--- > koha-tmpl/opac-tmpl/prog/en/css/opac.css | 1 + > .../opac-tmpl/prog/en/modules/opac-reserve.tmpl | 366 ++++++++++---------- > opac/opac-reserve.pl | 10 +- > 3 files changed, 185 insertions(+), 192 deletions(-) > >diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css >index 2c456cd..1d598f5 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css >+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css >@@ -1424,6 +1424,7 @@ div#changelanguage{ > color : #666; > font-size : 85%; > padding : 1em; >+ margin-top : 2em; > } > > div#changelanguage a { >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl >index 52ff4cd..b496e81 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl >@@ -160,27 +160,23 @@ > <div id="bd"> > <div id="yui-g"> > <div id="holds" class="container"> >- >- <!-- TMPL_IF NAME="message" --> >+ <!-- TMPL_IF NAME="message" --> > <!-- TMPL_IF NAME="GNA" --> >- <div class="dialog alert"> >- <strong>Sorry</strong>, you cannot place holds because the library doesn't have up-to-date <a href="/cgi-bin/koha/opac-userdetails.pl">contact information</a> on file. >- </div> >- <div class="dialog alert">Please contact your librarian, or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online) >+ <div id="gna" class="dialog alert"> >+ <p><strong>Sorry</strong>, you cannot place holds because the library doesn't have up-to-date <a href="/cgi-bin/koha/opac-userupdate.pl">contact information</a> on file.</p> >+ <p>Please contact your librarian, or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online)</p> > </div> > <!-- /TMPL_IF --> > <!-- TMPL_IF NAME="lost" --> >- <div class="dialog alert"> >- <strong>Sorry</strong>, you cannot place holds because your library card has been marked as lost or stolen. >- </div> >- <div class="dialog alert">If this is an error, please take your card to the circulation desk at your local library and the error will be corrected. >+ <div id="lost" class="dialog alert"> >+ <p><strong>Sorry</strong>, you cannot place holds because your library card has been marked as lost or stolen.</p> >+ <p>If this is an error, please take your card to the circulation desk at your local library and the error will be corrected.</p> > </div> > <!-- /TMPL_IF --> > <!-- TMPL_IF NAME="debarred" --> >- <div class="dialog alert"> >- <strong>Sorry</strong>, you cannot place holds because your account has been frozen. >- </div> >- <div class="dialog alert">Usually the reason for freezing an account is old overdues or damage fees. If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please consult a librarian. >+ <div id="debarred" class="dialog alert"> >+ <p><strong>Sorry</strong>, you cannot place holds because your account has been frozen.</p> >+ <p>Usually the reason for freezing an account is old overdues or damage fees. If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please consult a librarian.</p> > </div> > <!-- /TMPL_IF --> > <!-- TMPL_IF NAME="too_much_oweing" --> >@@ -211,18 +207,18 @@ > <!-- TMPL_IF NAME="bad_data" --> > <div class="dialog alert">ERROR: Internal error: incomplete hold request.</div> > <!-- /TMPL_IF --> >+ <!-- TMPL_ELSE --> > <!-- TMPL_IF NAME="none_available" --> >- <div class="dialog alert"><strong>Sorry</strong>, none of these items can be placed on hold. >- </div> >- <!-- /TMPL_IF --> >+ <div class="dialog alert"><strong>Sorry</strong>, none of these items can be placed on hold. >+ </div> >+ <!-- /TMPL_IF --> > <!-- /TMPL_IF --><!-- NAME="message" --> > >- <!-- TMPL_UNLESS NAME="message" --> >- <h3>Confirm holds for: >- <!-- TMPL_LOOP NAME="USER_INFO" --> >- <!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="cardnumber" -->) >- <!-- /TMPL_LOOP --> >- </h3> >+ <!-- TMPL_UNLESS NAME="message" --><!-- TMPL_UNLESS NAME="none_available" --><h3>Confirm holds for: >+ <!-- TMPL_LOOP NAME="USER_INFO" --> >+ <!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="cardnumber" -->) >+ <!-- /TMPL_LOOP --> >+ </h3><!-- /TMPL_UNLESS --> > > <form action="/cgi-bin/koha/opac-reserve.pl" method="post"> > <input type="hidden" name="place_reserve" value="1"/> >@@ -232,8 +228,8 @@ > <input type="hidden" name="selecteditems" id="selections"/> > <div id="bigloop"> > <table id="bibitemloop"> >- <tr> >- <th colspan="2">Hold</th> >+ <!-- TMPL_UNLESS NAME="none_available" --><tr> >+ <th>Hold</th> > <th>Title</th> > <!-- TMPL_UNLESS NAME="item-level_itypes" --> > <th>Item Type</th> >@@ -251,12 +247,12 @@ > <!-- TMPL_UNLESS NAME="singleBranchMode" --> > <th>Pickup Location</th> > <!-- /TMPL_UNLESS --> >- </tr> >+ </tr><!-- TMPL_ELSE --><tr><th colspan="5">Title</th></tr><!-- /TMPL_UNLESS --> > > <!-- TMPL_LOOP name="bibitemloop" --> > <tr> > <!-- TMPL_IF NAME="holdable" --> >- <td colspan="2"> >+ <td> > <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> > <input class="single_bib" name="single_bib" type="hidden" value="<!-- TMPL_VAR NAME="biblionumber" -->"/> > <span class="confirmjs_hold" title="<!-- TMPL_VAR NAME="biblionumber" -->"></span> >@@ -269,175 +265,170 @@ > </span> > </td> > <!-- TMPL_ELSE --> >- <td> >- <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> >- <input class="single_bib" name="single_bib" type="hidden" value="<!-- TMPL_VAR NAME="biblionumber" -->"/> >- <span class="confirmjs_nohold" title="<!-- TMPL_VAR NAME="biblionumber" -->"></span> >- <span class="confirm_nonjs"> >- <input type="radio" class="confirmbox checkitem <!-- TMPL_VAR NAME="checkitem_bib" -->" >- name="<!-- TMPL_VAR NAME="checkitem_bib" -->" disabled="disabled" >- id="<!-- TMPL_VAR NAME="checkitem_bib" -->" >- value="any" /> >- </span> >- </td><td> >+ <!-- TMPL_UNLESS NAME="none_available" --><td> </td><!-- /TMPL_UNLESS --> >+ <!-- /TMPL_IF --> >+ <!-- TMPL_IF NAME="holdable" --><td><!-- TMPL_ELSE --><td colspan="5"><!-- /TMPL_IF --> >+ <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --><!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!--TMPL VAR Name="subfield"--><!--/TMPL_LOOP--><!-- /TMPL_IF --></a> >+ <!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --> >+ >+ <!-- TMPL_UNLESS NAME="holdable" --> >+ > <!-- TMPL_IF NAME="already_reserved" --> > <div class="bibmessage">You have already requested this title.</div> >- <!-- /TMPL_IF --> >- <!-- TMPL_UNLESS NAME="bib_available" --> >- <div class="bibmessage">No available items.</div> > <!-- TMPL_ELSE --> >- <div class="bibmessage">This title cannot be requested.</div> >+ <!-- TMPL_UNLESS NAME="bib_available" --> >+ <div class="bibmessage">No available items.</div> >+ <!-- TMPL_ELSE --> >+ <div class="bibmessage">This title cannot be requested.</div> >+ <!-- /TMPL_UNLESS --> >+ <!-- /TMPL_IF --> >+ >+ > <!-- /TMPL_UNLESS --> >+ > </td> >- <!-- /TMPL_IF --> >- <td> >- <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --><!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!--TMPL VAR Name="subfield"--><!--/TMPL_LOOP--><!-- /TMPL_IF --></a> >- <!-- TMPL_IF NAME="author" -->, by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --> >- </td> >- <!-- TMPL_UNLESS NAME="item-level_itypes" --> >- <td> >- <!-- TMPL_UNLESS NAME="noItemTypeImages" --> >- <!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF --> >- <!-- /TMPL_UNLESS --> >- <!-- TMPL_VAR NAME="description" --> >- </td> >- <!-- /TMPL_UNLESS --> >- <!-- TMPL_IF NAME="showpriority" --><td><!-- TMPL_VAR name="rank" --> out of <!-- TMPL_VAR NAME="reservecount" --></td><!-- /TMPL_IF --> >+ <!-- TMPL_IF NAME="holdable" --><!-- TMPL_UNLESS NAME="item-level_itypes" --> >+ <td> >+ <!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF --> >+ <!-- TMPL_VAR NAME="description" --> >+ </td> >+ <!-- /TMPL_UNLESS --><!-- /TMPL_IF --> >+ <!-- TMPL_IF NAME="holdable" --><!-- TMPL_IF NAME="showpriority" --><td><!-- TMPL_VAR name="rank" --> out of <!-- TMPL_VAR NAME="reservecount" --></td><!-- /TMPL_IF --><!-- /TMPL_IF --> > <!-- TMPL_IF NAME="reserve_in_future" --> >- <td> >- <input name="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10"> >- <script language="JavaScript" type="text/javascript"> >- //<![CDATA[ >- $("#reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").attr( 'readonly', 'readonly' ); >- >- var cal_img = document.createElement('img'); >- cal_img.src = "<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif"; >- cal_img.alt = "Show Calendar"; >- cal_img.border = "0"; >- cal_img.id = "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->"; >- cal_img.style.cursor = "pointer"; >- document.getElementById("reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").parentNode.appendChild( cal_img ); >- >- function validate<!-- TMPL_VAR NAME="biblionumber" -->(date) { >- var today = new Date(); >- if ( (date > today) || >- ( date.getDate() == today.getDate() && >- date.getMonth() == today.getMonth() && >- date.getFullYear() == today.getFullYear() ) ) { >- return false; >- } else { >- return true; >- } >- }; >- Calendar.setup( >- { >- inputField : "reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->", >- ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->", >- button : "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->", >- disableFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->, >- dateStatusFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->, >- } >- ); >- //]]> >- </script> >- </td> >+ <!-- TMPL_IF NAME="holdable" --><td> >+ <input name="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10"> >+ <script language="JavaScript" type="text/javascript"> >+ //<![CDATA[ >+ $("#reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").attr( 'readonly', 'readonly' ); >+ >+ var cal_img = document.createElement('img'); >+ cal_img.src = "<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif"; >+ cal_img.alt = "Show Calendar"; >+ cal_img.border = "0"; >+ cal_img.id = "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->"; >+ cal_img.style.cursor = "pointer"; >+ document.getElementById("reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").parentNode.appendChild( cal_img ); >+ >+ function validate<!-- TMPL_VAR NAME="biblionumber" -->(date) { >+ var today = new Date(); >+ if ( (date > today) || >+ ( date.getDate() == today.getDate() && >+ date.getMonth() == today.getMonth() && >+ date.getFullYear() == today.getFullYear() ) ) { >+ return false; >+ } else { >+ return true; >+ } >+ }; >+ Calendar.setup( >+ { >+ inputField : "reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->", >+ ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->", >+ button : "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->", >+ disableFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->, >+ dateStatusFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->, >+ } >+ ); >+ //]]> >+ </script> >+ </td><!-- /TMPL_IF --> > > <!-- /TMPL_IF --> >- <td> >- <input name="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10" readonly="readonly" /> >- <img src="<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->" style="cursor: pointer;" /> >- <script language="JavaScript" type="text/javascript"> >- //<![CDATA[ >- function validate1(date) { >- var today = new Date(); >- if ( (date > today) || >- ( date.getDate() == today.getDate() && >- date.getMonth() == today.getMonth() && >- date.getFullYear() == today.getFullYear() ) ) { >- return false; >- } else { >- return true; >- } >- }; >- Calendar.setup( >- { >- inputField : "expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->", >- ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->", >- button : "CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->", >- disableFunc : validate1, >- dateStatusFunc : validate1, >- } >- ); >- //]]> >- </script> >- <p style="margin:.3em 2em;"> >- <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->').value='';return false;">Clear Date</a></p> >- </td> >- >- <!-- TMPL_IF NAME="OPACItemHolds" --> >- <td class="place_on_type" style="display:none"> >- <table> >- <tr> >- <td> >- <!-- TMPL_UNLESS NAME="holdable" --> >- <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >- id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->" >- class="selectany" >- value="Any" >- disabled="disabled" >- /> >- <!-- TMPL_ELSE --> >- <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >- id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->" >- class="selectany" >- value="Any" >- checked="checked" >- /> >- <!-- /TMPL_UNLESS --> >- <label for="reqany_<!-- TMPL_VAR NAME="biblionumber" -->">Next available copy</label> >- </td> >- </tr> >- <tr> >- <td> >- <!-- TMPL_UNLESS NAME="holdable" --> >- <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >- id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->" >- class="selectspecific" >- disabled="disabled" >- value="Specific" >- /> >- <!-- TMPL_ELSE --> >- <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >- id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->" >- class="selectspecific" >- value="Specific" >- /> >- <!-- /TMPL_UNLESS --> >- <label for="reqspecific_<!-- TMPL_VAR NAME="biblionumber"-->">A specific copy</label> >- </td> >- </tr> >- </table> >- </td> >- <!-- /TMPL_IF --> >+ <!-- TMPL_IF NAME="holdable" --><td> >+ <input name="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10" readonly="readonly" /> >+ <img src="<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->" style="cursor: pointer;" /> >+ <script language="JavaScript" type="text/javascript"> >+ //<![CDATA[ >+ function validate1(date) { >+ var today = new Date(); >+ if ( (date > today) || >+ ( date.getDate() == today.getDate() && >+ date.getMonth() == today.getMonth() && >+ date.getFullYear() == today.getFullYear() ) ) { >+ return false; >+ } else { >+ return true; >+ } >+ }; >+ Calendar.setup( >+ { >+ inputField : "expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->", >+ ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->", >+ button : "CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->", >+ disableFunc : validate1, >+ dateStatusFunc : validate1, >+ } >+ ); >+ //]]> >+ </script> >+ <p style="margin:.3em 2em;"> >+ <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->').value='';return false;">Clear Date</a></p> >+ </td><!-- /TMPL_IF --> >+ >+ <!-- TMPL_IF NAME="holdable" --><!-- TMPL_IF NAME="OPACItemHolds" --> >+ <td class="place_on_type" style="display:none"> >+ <table> >+ <tr> >+ <td> >+ <!-- TMPL_UNLESS NAME="holdable" --> >+ <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >+ id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->" >+ class="selectany" >+ value="Any" >+ disabled="disabled" >+ /> >+ <!-- TMPL_ELSE --> >+ <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >+ id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->" >+ class="selectany" >+ value="Any" >+ checked="checked" >+ /> >+ <!-- /TMPL_UNLESS --> >+ <label for="reqany_<!-- TMPL_VAR NAME="biblionumber" -->">Next available copy</label> >+ </td> >+ </tr> >+ <tr> >+ <td> >+ <!-- TMPL_UNLESS NAME="holdable" --> >+ <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >+ id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->" >+ class="selectspecific" >+ disabled="disabled" >+ value="Specific" >+ /> >+ <!-- TMPL_ELSE --> >+ <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->" >+ id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->" >+ class="selectspecific" >+ value="Specific" >+ /> >+ <!-- /TMPL_UNLESS --> >+ <label for="reqspecific_<!-- TMPL_VAR NAME="biblionumber"-->">A specific copy</label> >+ </td> >+ </tr> >+ </table> >+ </td> >+ <!-- /TMPL_IF --><!-- /TMPL_IF --> > > <!-- TMPL_UNLESS NAME="singleBranchMode" --> >- <td> >- <select name="branch" id="branch_<!-- TMPL_VAR NAME="biblionumber" -->" >- <!-- TMPL_UNLESS NAME="holdable" -->disabled="disabled"<!-- /TMPL_UNLESS --> > >- <!-- TMPL_LOOP NAME="branchChoicesLoop" --> >- <!-- TMPL_IF name="selected" --> >- <option value="<!-- TMPL_VAR NAME="value" -->" selected="selected"><!-- TMPL_VAR NAME="branchname" --></option> >- <!-- TMPL_ELSE --> >- <option value="<!-- TMPL_VAR NAME="value" -->"><!-- TMPL_VAR NAME="branchname" --></option> >- <!-- /TMPL_IF --> >- <!-- /TMPL_LOOP --> >- </select> >- </td> >+ <!-- TMPL_IF NAME="holdable" --><td> >+ <select name="branch" id="branch_<!-- TMPL_VAR NAME="biblionumber" -->" >+ <!-- TMPL_UNLESS NAME="holdable" -->disabled="disabled"<!-- /TMPL_UNLESS --> > >+ <!-- TMPL_LOOP NAME="branchChoicesLoop" --> >+ <!-- TMPL_IF name="selected" --> >+ <option value="<!-- TMPL_VAR NAME="value" -->" selected="selected"><!-- TMPL_VAR NAME="branchname" --></option> >+ <!-- TMPL_ELSE --> >+ <option value="<!-- TMPL_VAR NAME="value" -->"><!-- TMPL_VAR NAME="branchname" --></option> >+ <!-- /TMPL_IF --> >+ <!-- /TMPL_LOOP --> >+ </select> >+ </td><!-- /TMPL_IF --> > <!-- /TMPL_UNLESS --> > </tr> > > <!-- TMPL_IF NAME="OPACItemHolds" --> >- <!-- TMPL_IF NAME="bib_available" --> >+ <!-- TMPL_IF NAME="holdable" --> > <tr class="copiesrow" id="copiesrow_<!-- TMPL_VAR NAME="biblionumber"-->"> > <td colspan="1"> > </td> >@@ -521,18 +512,17 @@ > <!-- /TMPL_IF --><!-- OPACItemHolds --> > <!-- /TMPL_LOOP --> > </table><!-- bibitemloop --> >+ <!-- /TMPL_UNLESS --> <!-- if message --> > </div><!-- bigloop --> > >- <!-- TMPL_IF NAME="none_available" --> >- <input type="submit" disabled="disabled" value="Place Hold" /> >- <!-- TMPL_ELSE --> >+ <!-- TMPL_UNLESS NAME="message" --> >+ <!-- TMPL_UNLESS NAME="none_available" --> > <input type="submit" value="Place Hold" class="placehold" /> >- <!-- /TMPL_IF --> >+ <!-- /TMPL_UNLESS --> >+ <!-- /TMPL_UNLESS --> > > </form> > >- <!-- /TMPL_UNLESS --><!-- message --> >- > </div><!-- holds --> > </div><!-- yui-g --> > </div><!-- bd --> >diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl >index 699179b..fca1e0b 100755 >--- a/opac/opac-reserve.pl >+++ b/opac/opac-reserve.pl >@@ -289,6 +289,7 @@ my $notforloan_label_of = get_notforloan_label_of(); > my $biblioLoop = []; > my $numBibsAvailable = 0; > my $itemdata_enumchron = 0; >+my $anyholdable; > my $itemLevelTypes = C4::Context->preference('item-level_itypes'); > $template->param('item-level_itypes' => $itemLevelTypes); > >@@ -336,8 +337,6 @@ foreach my $biblioNum (@biblionumbers) { > } > } > >- $biblioLoopIter{itemTypeDescription} = $itemTypes->{$biblioData->{itemtype}}{description}; >- > $biblioLoopIter{itemLoop} = []; > my $numCopiesAvailable = 0; > foreach my $itemInfo (@{$biblioData->{itemInfos}}) { >@@ -455,19 +454,22 @@ foreach my $biblioNum (@biblionumbers) { > $numBibsAvailable++; > $biblioLoopIter{bib_available} = 1; > $biblioLoopIter{holdable} = 1; >+ $anyholdable = 1; > } > if ($biblioLoopIter{already_reserved}) { > $biblioLoopIter{holdable} = undef; >+ $anyholdable = undef; > } > if(not CanBookBeReserved($borrowernumber,$biblioNum)){ > $biblioLoopIter{holdable} = undef; >+ $anyholdable = undef; > } > > push @$biblioLoop, \%biblioLoopIter; > } > >-if ( $numBibsAvailable == 0 ) { >- $template->param( none_available => 1, message => 1 ); >+if ( $numBibsAvailable == 0 || !$anyholdable) { >+ $template->param( none_available => 1 ); > } > > my $itemTableColspan = 5; >-- >1.7.0.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 4950
:
2315
|
2342
|
2343
|
2344
|
2947
| 2959