Bugzilla – Attachment 22474 Details for
Bug 11142
Update Bootstrap theme's place hold form to match the new version in prog
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] Bug 11142 - Update Bootstrap theme's place hold form to match the new version in prog
0001-Bug-11142-Update-Bootstrap-theme-s-place-hold-form-t.patch (text/plain), 55.95 KB, created by
Owen Leonard
on 2013-10-28 17:11:47 UTC
(
hide
)
Description:
[PATCH] Bug 11142 - Update Bootstrap theme's place hold form to match the new version in prog
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2013-10-28 17:11:47 UTC
Size:
55.95 KB
patch
obsolete
>From 028ef749f0e8fdc06bcc89e837c0f0a5e293c188 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Fri, 25 Oct 2013 15:31:51 -0400 >Subject: [PATCH] Bug 11142 - Update Bootstrap theme's place hold form to > match the new version in prog >Content-Type: text/plain; charset="utf-8" > >The update to the prog theme's place hold page (Bug 10836) happened >after the Bootstrap theme's place hold form had already been converted, >so it lags behind. This patch applies the changes made to prog to Bootstrap. > >To test, switch to the Bootstrap theme and follow the test plan from Bug >10836: > >Place single and multiple holds under various conditions: > >- Items which are not available to be place on hold >- With OpacHoldNotes on and off >- With OPACItemHolds on and off >- With OPACAllowHoldDateInFuture on and off >- With IndependentBranches on and off >- With JavaScript disabled > >Test setting hold notes, holding specific copies, and setting hold start >dates. When setting a hold start date and hold expiration date, the two >datepickers should work together to prevent invalid date combinations >(dates after today, expiration dates which precede the start date). >--- > koha-tmpl/opac-tmpl/bootstrap/css/opac.css | 43 ++ > .../bootstrap/en/includes/date-format.inc | 1 + > .../opac-tmpl/bootstrap/en/modules/opac-reserve.tt | 547 ++++++++++---------- > koha-tmpl/opac-tmpl/bootstrap/less/opac.less | 39 ++ > 4 files changed, 360 insertions(+), 270 deletions(-) > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/includes/date-format.inc > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/css/opac.css b/koha-tmpl/opac-tmpl/bootstrap/css/opac.css >index a97158f..d9a22de 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/css/opac.css >+++ b/koha-tmpl/opac-tmpl/bootstrap/css/opac.css >@@ -755,6 +755,9 @@ fieldset.action { > fieldset.action p { > margin-bottom: 1em; > } >+fieldset table { >+ font-size: 100%; >+} > div.rows + div.rows { > margin-top: .6em; > } >@@ -2194,6 +2197,46 @@ td img { > #shelfbrowser #browser_next { > background-position: -9px -1057px; > } >+#holds { >+ margin: 0 auto; >+ max-width: 800px; >+} >+.holdrow { >+ clear: both; >+ padding: 0 1em 1em 1em; >+ border-bottom: 1px solid #CCC; >+ margin-bottom: .5em; >+} >+.holdrow fieldset { >+ border: 0; >+ margin: 0; >+ float: none; >+} >+.holdrow fieldset .label { >+ font-size: 14px; >+} >+.holdrow label { >+ display: inline; >+} >+.hold-options { >+ clear: both; >+} >+.toggle-hold-options { >+ background-color: #eee; >+ clear: both; >+ display: block; >+ font-weight: bold; >+ margin: 1em 0; >+ padding: .5em; >+} >+.copiesrow { >+ clear: both; >+} >+.shadowed { >+ -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2); >+ -moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2); >+ box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2); >+} > @media only screen and (min-width: 0px) and (max-width: 304px) { > /* Screens bewteen 0 and 304 pixels wide */ > #oh:after { >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/date-format.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/date-format.inc >new file mode 100644 >index 0000000..53dae71 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/date-format.inc >@@ -0,0 +1 @@ >+[% IF ( dateformat == "us" ) %](MM/DD/YYYY)[% ELSIF ( dateformat == "metric" ) %](DD/MM/YYYY)[% ELSE %](YYYY-MM-DD)[% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >index 1038595..ecccb6e 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >@@ -13,9 +13,8 @@ > <li><a href="#">Placing a hold</a></li> > </ul> > >- <div class="container-fluid"> >- <div class="row-fluid"> >- <div class="span12"> >+ <div class="container"> >+ > <div id="holds"> > [% IF ( message ) %] > [% IF ( GNA ) %] >@@ -93,6 +92,7 @@ > [% END %] > </h3> > [% END # / UNLESS none_available %] >+ > [% IF (RESERVE_CHARGE) %] > <div class="alert" id="reserve_fee"> > There is a charge of [% RESERVE_CHARGE %] for placing this hold >@@ -104,295 +104,265 @@ > <!-- These values are set dynamically by js --> > <input type="hidden" name="biblionumbers" id="biblionumbers"/> > <input type="hidden" name="selecteditems" id="selections"/> >- > <div id="bigloop"> >- <table id="bibitemloop" class="table table-bordered table-striped"> >- [% UNLESS ( none_available ) %] >- <tr> >- <th>Hold</th> >- <th>Title</th> >- [% UNLESS ( item_level_itypes ) %] >- <th>Item type</th> >- [% END %] >- >- [% IF showholds && showpriority %] >- <th>Holds and priority</th> >- [% ELSIF showholds %] >- <th>Holds</th> >- [% ELSIF showpriority %] >- <th>Priority</th> >- [% END %] >- >- [% IF ( reserve_in_future ) %] >- <th>Hold starts on date</th> >- [% END %] >- >- [% IF ( OpacHoldNotes ) %] >- <th>Notes</th> >- [% END %] >- >- <th>Hold not needed after</th> >- [% IF ( OPACItemHolds ) %] >- <th id="place_on_hdr" style="display:none">Place on</th> >- [% END %] >- >- [% UNLESS ( singleBranchMode ) %] >- [% IF ( choose_branch ) %] >- <th>Pickup location</th> >- [% END %] >- [% END %] >- </tr> >- [% ELSE %] >- <tr><th colspan="[% itemtable_colspan + 1 %]">Title</th></tr> >- [% END # / UNLESS none_available%] >- >- [% FOREACH bibitemloo IN bibitemloop %] >- <tr> >+ >+ [% FOREACH bibitemloo IN bibitemloop %] >+ <div class="holdrow"> >+ <p> > [% IF ( bibitemloo.holdable ) %] >- <td class="hold"> >- <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> >- <input class="single_bib" name="single_bib" type="hidden" value="[% bibitemloo.biblionumber %]"/> >- <span class="confirmjs_hold" title="[% bibitemloo.biblionumber %]"></span> >- <span class="confirm_nonjs"> >- <input type="radio" class="confirmbox checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" checked="checked" id="checkitem_[% bibitemloo.biblionumber %]" value="any" /> >- <label class="confirm_label" for="checkitem_[% bibitemloo.biblionumber %]">Next available copy</label> >- </span> >- </td> >- [% ELSE %] >- [% UNLESS ( none_available ) %] >- <td class="hold"> </td> >+ <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> >+ <input class="single_bib" name="single_bib" type="hidden" value="[% bibitemloo.biblionumber %]"/> >+ <span class="confirmjs_hold" title="[% bibitemloo.biblionumber %]" style="padding:.3em"></span> >+ <span class="confirm_nonjs"> >+ <input type="radio" class="confirmbox checkitem [% bibitemloo.biblionumber %]" name="[% bibitemloo.biblionumber %]" checked="checked" id="single_[% bibitemloo.biblionumber %]" value="any" /> >+ <label class="confirm_label" for="single_[% bibitemloo.biblionumber %]">Place a hold on </label> >+ </span> >+ [% END # / bibitemloo.holdable %] >+ >+ <a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% bibitemloo.biblionumber %]"> >+ [% bibitemloo.title |html %] >+ [% IF ( bibitemloo.subtitle ) %] >+ [% FOREACH subtitl IN bibitemloo.subtitle %] >+ [% subtitl.subfield %] >+ [% END %] > [% END %] >- [% END # / IF biblioloo.holdable %] >+ </a> >+ [% IF ( bibitemloo.author ) %], by [% bibitemloo.author %][% END %] >+ </p> > >- [% IF ( bibitemloo.holdable ) %] >- <td class="title"> >+ [% UNLESS ( bibitemloo.holdable ) %] >+ [% IF ( bibitemloo.already_reserved ) %] >+ <div class="alert">You have already requested this title.</div> > [% ELSE %] >- <td class="title" colspan="[% itemtable_colspan + 1 %]"> >- [% END %] >- <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% bibitemloo.biblionumber %]">[% bibitemloo.title |html %][% IF ( bibitemloo.subtitle ) %] [% FOREACH subtitl IN bibitemloo.subtitle %][% subtitl.subfield %][% END %][% END %]</a> >- [% IF ( bibitemloo.author ) %], by [% bibitemloo.author %][% END %] >- [% UNLESS ( bibitemloo.holdable ) %] >- [% IF ( bibitemloo.already_reserved ) %] >- <div class="hold-message">You have already requested this title.</div> >+ [% UNLESS ( bibitemloo.bib_available ) %] >+ <div class="alert">No available items.</div> >+ [% ELSE %] >+ [% IF ( bibitemloo.already_patron_possession ) %] >+ <div class="alert">This title cannot be requested because it's already in your possession.</div> > [% ELSE %] >- [% UNLESS ( bibitemloo.bib_available ) %] >- <div class="hold-message">No available items.</div> >- [% ELSE %] >- [% IF ( bibitemloo.already_patron_possession ) %] >- <div class="hold-message">This title cannot be requested because it's already in your possession.</div> >- [% ELSE %] >- <div class="hold-message">This title cannot be requested.</div> >- [% END %] >- [% END # / UNLESS biblioitemloo.bib_available %] >- [% END # / IF bibitemloo.already_reserved %] >- [% END # / UNLESS bibitemloo.holdable %] >- </td> >- [% IF ( bibitemloo.holdable ) %] >+ <div class="alert">This title cannot be requested.</div> >+ [% END %] >+ [% END # / UNLESS bibitemloo.bib_available %] >+ [% END # / IF bibitemloo.already_reserved %] >+ [% END # / UNLESS bibitemloo.holdable %] >+ >+ [% IF ( bibitemloo.holdable ) %] >+ <fieldset class="rows"> >+ <ul> > <!-- HOLDABLE --> > [% UNLESS ( item_level_itypes ) %] >- <td class="itype"> >+ <li class="itype"> >+ <span class="label">Item type: </span> > [% IF ( bibitemloo.imageurl ) %]<img src="[% bibitemloo.imageurl %]" alt="" />[% END %] > [% bibitemloo.description %] >- </td> >+ </li> > [% END %] >+ > [% IF showholds || showpriority %] >- <td class="priority"> >+ <li class="priority"> >+ <span class="label">Holds and priority: </span> > [% IF showpriority %] [% bibitemloo.rank %] [% END %] > [% IF showholds && showpriority %] out of [% END %] > [% IF showholds %] [% bibitemloo.reservecount %] [% END %] >- </td> >- [% END %] >- [% IF ( reserve_in_future ) %] >- <td class="reserve_date"> >- <input name="reserve_date_[% bibitemloo.biblionumber %]" id="from" size="10" class="datepickerfrom"/> >- <p><a href="#" class="clearfield">Clear date</a></p> >- </td> >- [% END # / IF reserve_in_future %] >- >- [% IF ( OpacHoldNotes && bibitemloo.holdable ) %] >- <td><input type="button" id="shownotes_[% bibitemloo.biblionumber %]" class="btn shownotes" value="Show notes"/></td> >+ </li> > [% END %] > >- <td class="expiration_date"> >- <input name="expiration_date_[% bibitemloo.biblionumber %]" id="to" size="10" class="datepickerto" /> >- <p><a href="#" class="clearfield">Clear date</a></p> >- </td> > >- [% IF ( OPACItemHolds ) %] >- <!-- ITEM HOLDS --> >- <td class="place_on_type" style="display:none"> >- <label for="reqany_[% bibitemloo.biblionumber %]"> >- [% UNLESS ( bibitemloo.holdable ) %] >- <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" disabled="disabled" /> >- [% ELSE %] >- <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" checked="checked" /> >- [% END %] >- Next available copy >- </label> >- <label for="reqspecific_[% bibitemloo.biblionumber %]"> >- [% UNLESS ( bibitemloo.holdable ) %] >- <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" disabled="disabled" value="Specific" /> >- [% ELSE %] >- <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" value="Specific" /> >- [% END %] >- A specific copy >- </label> >- </td> >- [% END # / IF OPACItemHolds %] >- [% END # / IF bibitemloo.holdable %] >- >- [% UNLESS ( singleBranchMode ) %] >- [% IF ( bibitemloo.holdable && choose_branch ) %] >- <td class="branch"> >- [% UNLESS ( bibitemloo.holdable ) %] >- <select name="branch" id="branch_[% bibitemloo.biblionumber %]" disabled="disabled"> >- [% FOREACH branchloo IN bibitemloo.branchloop %] >- [% IF ( branchloo.selected ) %] >- <option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> >- [% ELSE %] >- <option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> >- [% END %] >+ [% UNLESS ( singleBranchMode ) %] >+ [% IF ( bibitemloo.holdable && choose_branch ) %] >+ <li class="branch"> >+ <label for="branch_[% bibitemloo.biblionumber %]">Pick up location:</label> >+ [% UNLESS ( bibitemloo.holdable ) %] >+ <select name="branch" id="branch_[% bibitemloo.biblionumber %]" disabled="disabled"> >+ [% FOREACH branchloo IN bibitemloo.branchloop %] >+ [% IF ( branchloo.selected ) %] >+ <option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> >+ [% ELSE %] >+ <option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> >+ [% END %] >+ [% END %] >+ </select> >+ [% ELSE %] >+ <select name="branch" id="branch_[% bibitemloo.biblionumber %]"> >+ [% FOREACH branchloo IN bibitemloo.branchloop %] >+ [% IF ( branchloo.selected ) %] >+ <option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> >+ [% ELSE %] >+ <option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> >+ [% END %] >+ [% END %] >+ </select> >+ [% END # / UNLESS bibitemloo.holdable %] >+ </li> >+ [% END # / IF bibitemloo.holdable && choose_branch %] >+ [% END # / UNLESS singleBranchMode %] >+ </ul> >+ >+ <a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber %]" style="display:none;" href="#">Show more options</a> >+ >+ <div id="hold-options-[% bibitemloo.biblionumber %]" class="hold-options"> >+ >+ <ul> >+ [% IF ( reserve_in_future ) %] >+ <li> >+ <label for="from[% bibitemloo.biblionumber %]">Hold starts on date:</label> >+ <input name="reserve_date_[% bibitemloo.biblionumber %]" id="from[% bibitemloo.biblionumber %]" size="10" class="holddatefrom"/> >+ <span class="date-format from" data-biblionumber="[% bibitemloo.biblionumber %]">[% INCLUDE 'date-format.inc' %]</span> >+ </li> >+ [% END %] >+ >+ <li> >+ <label for="to[% bibitemloo.biblionumber %]">Hold not needed after:</label> >+ <input name="expiration_date_[% bibitemloo.biblionumber %]" id="to[% bibitemloo.biblionumber %]" size="10" class="holddateto" /> >+ <span class="date-format to" data-biblionumber="[% bibitemloo.biblionumber %]">[% INCLUDE 'date-format.inc' %]</span> >+ </li> >+ >+ [% IF ( OpacHoldNotes ) %] >+ <li> >+ <div class="notesrow" id="notesrow_[% bibitemloo.biblionumber %]"> >+ <label for="holdnotes[% bibitemloo.biblionumber %]">Hold notes:</label> >+ <span id="forcenotesreason_[% bibitemloo.biblionumber %]" class="forcenotesreason"></span> >+ <textarea id="holdnotes[% bibitemloo.biblionumber %]" rows="2" cols="30" name="notes_[% bibitemloo.biblionumber %]">[% bibitemloo.holdnotes %]</textarea> >+ <input type="hidden" id="notesmandatory_[% bibitemloo.biblionumber %]" value="[% bibitemloo.mandatorynotes %]"/> >+ </div> >+ </li> >+ [% END # / IF OpacHoldNotes %] >+ >+ [% IF ( OPACItemHolds ) %] >+ <!-- ITEM HOLDS --> >+ <li class="lradio"> >+ <label class="radio inline" for="reqany_[% bibitemloo.biblionumber %]">Next available copy</label> >+ [% UNLESS ( bibitemloo.holdable ) %] >+ <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" disabled="disabled" /> >+ [% ELSE %] >+ <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" checked="checked" /> > [% END %] >- </select> >- [% ELSE %] >- <select name="branch" id="branch_[% bibitemloo.biblionumber %]"> >- [% FOREACH branchloo IN bibitemloo.branchloop %] >- [% IF ( branchloo.selected ) %] >- <option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> >- [% ELSE %] >- <option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> >- [% END %] >+ >+ <label class="radio inline" for="reqspecific_[% bibitemloo.biblionumber %]">A specific copy</label> >+ [% UNLESS ( bibitemloo.holdable ) %] >+ <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" disabled="disabled" value="Specific" /> >+ [% ELSE %] >+ <input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" value="Specific" /> > [% END %] >- </select> >- [% END # / UNLESS bibitemloo.holdable %] >- </td> >- [% END %] >- [% END # / UNLESS singleBranchMode %] >- </tr> >- >- [% IF ( OpacHoldNotes && bibitemloo.holdable ) %] >- <tr class="notesrow" id="notesrow_[% bibitemloo.biblionumber %]"> >- <td> </td> >- <td colspan="[% itemtable_colspan - 2 %]"> >- <label for="notes_[% bibitemloo.biblionumber %]">Hold notes:</label> >- <span id="forcenotesreason_[% bibitemloo.biblionumber %]" class="forcenotesreason"></span> >- <textarea id="notes_[% bibitemloo.biblionumber %]" name="notes_[% bibitemloo.biblionumber %]">[% bibitemloo.holdnotes %]</textarea> >- <input type="hidden" id="notesmandatory_[% bibitemloo.biblionumber %]" value="[% bibitemloo.mandatorynotes %]"/> >- </td> >- </tr> >- [% END %] >- >- [% IF ( OPACItemHolds && bibitemloo.holdable ) %] >- <tr class="copiesrow" id="copiesrow_[% bibitemloo.biblionumber %]"> >- <td> </td> >- <td colspan="[% itemtable_colspan - 2 %]"> >- <table class="table table-bordered table-striped"> >- <caption>Select a specific copy:</caption> >- <tr> >- <th>Copy</th> >- [% IF ( item_level_itypes ) %] >- <th>Item type</th> >- [% END %] >- <th>Barcode</th> >- [% UNLESS ( singleBranchMode ) %] >- <th>Home library</th> >- <th>Last location</th> >- [% END %] >- <th>Call number</th> >- [% IF ( itemdata_enumchron ) %] >- <th>Vol info</th> >- [% END %] >- <th>Information</th> >- </tr> >- >- [% FOREACH itemLoo IN bibitemloo.itemLoop %] >- <tr class="[% itemLoo.backgroundcolor %]"> >- <td class="copy"> >- [% IF ( itemLoo.available ) %] >- <input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" value="[% itemLoo.itemnumber %]" /> >- [% ELSE %] >- <input disabled="disabled" type="radio" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber %]" /> >- <img src="/opac-tmpl/lib/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" /> >- [% END %] >- [% IF ( itemLoo.copynumber ) %] >- [% itemLoo.copynumber %] >- [% END %] >- </td> >+ </li> >+ [% END # / IF OPACItemHolds %] >+ </ul> >+ >+ [% IF ( OPACItemHolds ) %] >+ <table class="copiesrow table table-bordered table-striped" id="copiesrow_[% bibitemloo.biblionumber %]"> >+ <caption>Select a specific copy:</caption> >+ <tr> >+ <th>Copy</th> > [% IF ( item_level_itypes ) %] >- <td class="itype"> >- [% UNLESS ( noItemTypeImages ) %] >- [% IF ( itemLoo.imageurl ) %] >- <img src="[% itemLoo.imageurl %]" alt="" /> >- [% END %] >- [% END %] >- [% itemLoo.description %] >- </td> >+ <th>Item type</th> > [% END %] >- <td class="barcode">[% itemLoo.barcode %]</td> >+ <th>Barcode</th> > [% UNLESS ( singleBranchMode ) %] >- <td class="homebranch">[% itemLoo.homeBranchName %]</td> >- <td class="holdingbranch">[% itemLoo.holdingBranchName %]</td> >+ <th>Home library</th> >+ <th>Last location</th> > [% END %] >- <td class="call_no">[% itemLoo.callNumber %]</td> >+ <th>Call number</th> > [% IF ( itemdata_enumchron ) %] >- <td class="vol_info">[% itemLoo.enumchron %]</td> >+ <th>Vol info</th> > [% END %] >- <td class="information"> >- [% IF ( itemLoo.dateDue ) %] >- <span class="checkedout">Due [% itemLoo.dateDue %]</span> >- [% ELSIF ( itemLoo.transfertwhen ) %] >- <span class="intransit">In transit from [% itemLoo.transfertfrom %] to [% itemLoo.transfertto %] since [% itemLoo.transfertwhen %]</span> >+ <th>Information</th> >+ </tr> >+ >+ [% FOREACH itemLoo IN bibitemloo.itemLoop %] >+ <tr class="[% itemLoo.backgroundcolor %]"> >+ <td class="copy"> >+ [% IF ( itemLoo.available ) %] >+ <input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" value="[% itemLoo.itemnumber %]" /> >+ [% ELSE %] >+ <input disabled="disabled" type="radio" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber %]" /> >+ <img src="[% interface %]/lib/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" /> >+ [% END %] >+ >+ [% IF ( itemLoo.copynumber ) %] >+ [% itemLoo.copynumber %] >+ [% END %] >+ </td> >+ >+ [% IF ( item_level_itypes ) %] >+ <td class="itype"> >+ [% UNLESS ( noItemTypeImages ) %] >+ [% IF ( itemLoo.imageurl ) %] >+ <img src="[% itemLoo.imageurl %]" alt="" /> >+ [% END %] >+ [% END %] >+ [% itemLoo.description %] >+ </td> > [% END %] >- [% IF ( itemLoo.message ) %] >- <span class="lost">Unavailable (lost or missing)</span> >+ >+ <td class="barcode">[% itemLoo.barcode %]</td> >+ [% UNLESS ( singleBranchMode ) %] >+ <td class="homebranch">[% itemLoo.homeBranchName %]</td> >+ <td class="holdingbranch">[% itemLoo.holdingBranchName %]</td> > [% END %] >- [% IF ( itemLoo.notforloan ) %] >- <span class="notforloan">Not for loan ([% itemLoo.notforloanvalue %])</span> >+ <td class="call_no">[% itemLoo.callNumber %]</td> >+ [% IF ( itemdata_enumchron ) %] >+ <td class="vol_info">[% itemLoo.enumchron %]</td> > [% END %] >- [% IF ( itemLoo.reservedate ) %] >- <span class="waiting"> >- [% IF ( itemLoo.waitingdate ) %] >- Waiting >- [% ELSE %] >- On hold >- [% END %] >- for patron >- [% IF ( itemLoo.waitingdate ) %] >- at >- [% ELSE %] >- expected at >- [% END %] >- [% itemLoo.ExpectedAtLibrary %] since >- [% IF ( itemLoo.waitingdate ) %] >- [% itemLoo.waitingdate %] >- [% ELSE %] >- [% IF ( itemLoo.reservedate ) %] >- [% itemLoo.reservedate %] >+ <td class="information"> >+ [% IF ( itemLoo.dateDue ) %] >+ <span class="checkedout">Due [% itemLoo.dateDue %]</span> >+ [% ELSIF ( itemLoo.transfertwhen ) %] >+ <span class="intransit">In transit from [% itemLoo.transfertfrom %] to [% itemLoo.transfertto %] since [% itemLoo.transfertwhen %]</span> >+ [% END %] >+ >+ [% IF ( itemLoo.message ) %] >+ <span class="lost">Unavailable (lost or missing)</span> >+ [% END %] >+ >+ [% IF ( itemLoo.notforloan ) %] >+ <span class="notforloan">Not for loan ([% itemLoo.notforloanvalue %])</span> >+ [% END %] >+ >+ [% IF ( itemLoo.reservedate ) %] >+ <span class="waiting"> >+ [% IF ( itemLoo.waitingdate ) %] >+ Waiting >+ [% ELSE %] >+ On hold > [% END %] >- [% END %]. >- </span> >- [% ELSE %] >- <span class="notonhold">Not on hold</span> >- [% END # / IF itemLoo.reservedate %] >- </td> >- </tr> >- [% END # / FOREACH itemLoo %] >- </table> >- </td> >- </tr> >- [% END # / IF OPACItemHolds && bibitemloo.holdable %] >- [% END # / FOREACH bibitemloo %] >- </table> <!-- / #bibitemloop --> >- </div><!-- / #bigloop --> >+ for patron >+ [% IF ( itemLoo.waitingdate ) %] >+ at >+ [% ELSE %] >+ expected at >+ [% END %] >+ [% itemLoo.ExpectedAtLibrary %] since >+ [% IF ( itemLoo.waitingdate ) %] >+ [% itemLoo.waitingdate %] >+ [% ELSE %] >+ [% IF ( itemLoo.reservedate ) %] >+ [% itemLoo.reservedate %] >+ [% END %] >+ [% END %]. >+ </span> >+ [% ELSE %] >+ <span class="notonhold">Not on hold</span> >+ [% END # / IF ( itemLoo.reservedate )%] >+ </td> >+ </tr> >+ [% END # / FOREACH itemLoo IN bibitemloo.itemLoop%] >+ </table> <!-- / #copiesrow_[% bibitemloo.biblionumber %] --> >+ [% END # / IF ( OPACItemHolds )%] >+ </div> <!-- / #hold-options-[% bibitemloo.biblionumber %] --> >+ </fieldset> >+ [% END # / IF ( bibitemloo.holdable ) %] >+ </div> <!-- / .holdrow --> >+ [% END # / FOREACH bibitemloo IN bibitemloop %] >+ </div><!-- #bigloop --> >+ > [% UNLESS ( none_available ) %] > <input type="submit" value="Place hold" class="btn placehold" /> > [% END %] >+ > </form> > [% END # / UNLESS message %] > </div> <!-- / #holds --> >- </div> <!-- / .span12 --> >- </div> <!-- / .row-fluid --> >- </div> <!-- / .container-fluid --> >+ </div> <!-- / .container --> > </div> <!-- / .main --> > [% INCLUDE 'opac-bottom.inc' %] > [% BLOCK jsinclude %] >@@ -424,7 +394,6 @@ > }); > // Hides all 'specific copy' table rows on load. > $(".copiesrow").hide(); >- $(".notesrow").hide(); > > // Insert reasons for forced hold notes > $(".forcenotesreason").each(function(){ >@@ -437,20 +406,37 @@ > > $("#place_on_hdr").show(); > $(".place_on_type").show(); >+ $("#place_on_hdr,.place_on_type,.toggle-hold-options").show(); >+ $(".hold-options").hide(); >+ $(".holddatefrom,.holddateto").prop("readOnly", true); >+ >+ $(".date-format").each(function(){ >+ if($(this).hasClass("to")){ var op = "to"; } >+ if($(this).hasClass("from")){ var op = "from"; } >+ var bibNum = $(this).data("biblionumber"); >+ $(this).html("<a href=\"#\" class=\"clear-date\" data-op=\"" + op + "\" id=\"clear" + bibNum + "\">" + _("Clear date") + "</a>"); >+ }); >+ >+ $(".clear-date").on("click",function(e){ >+ e.preventDefault(); >+ var fieldID = this.id.replace("clear",""); >+ var op = $(this).data("op"); >+ $("#" + op + fieldID).val(""); >+ }); > > // Replace non-JS single-selection with multi-selection capability. > $(".reserve_mode").val("multi"); > $(".confirm_nonjs").remove(); > $(".confirmjs_hold").each(function(){ > var bib = $(this).attr("title"); >- var html = "<input type =\"checkbox\" class=\"confirmjs\" checked=\"checked\""; >- html += "value=\"" + bib + "\"/>"; >+ var html = "<label><input type =\"checkbox\" class=\"confirmjs\" checked=\"checked\""; >+ html += "value=\"" + bib + "\"/> " + _("Place a hold on") + " </label> "; > $(this).html(html); > }); > $(".confirmjs_nohold").each(function(){ > var bib = $(this).attr("title"); >- var html = "<input type =\"checkbox\" class=\"confirmjs\" disabled=\"disabled\""; >- html += "value=\"" + bib + "\"/>"; >+ var html = "<label><input type =\"checkbox\" class=\"confirmjs\" disabled=\"disabled\""; >+ html += "value=\"" + bib + "\"/>" + _("Place a hold on: ") + "</label>"; > $(this).html(html); > }); > >@@ -485,7 +471,6 @@ > if (!changeSelection(newCopiesRowId, true)) { > return false; > } >- $(".copiesrow:not(" + newCopiesRowId + ")").hide(); > > // Show the specific copy table for this radio button. > $(newCopiesRowId).show(); >@@ -502,16 +487,9 @@ > } > > // Hide the copies table row >- $(".copiesrow").hide(); >- }); >- >- // Show or hide holds notes >- $(".shownotes").click(function(){ >- biblioNum = suffixOf($(this).attr("id"), "_"); >- $("#notesrow_"+biblioNum).toggle(); >+ $(newCopiesRowId).hide(); > }); > >- > // When 'Place Hold' button is clicked > $(".placehold").click(function(){ > var biblionumbers = ""; >@@ -562,6 +540,35 @@ > return true; > }); > >+ $(".toggle-hold-options").on("click",function(e){ >+ e.preventDefault(); >+ toggleLink = $(this); >+ var optionsID = this.id.replace("toggle-hold-options-",""); >+ $("#hold-options-"+optionsID).toggle(0, function() { >+ toggleLink.text($(this).is(':visible') ? _("Hide options") : _("Show more options")); >+ }); >+ }); >+ >+ [% FOREACH bibitemloo IN bibitemloop %] >+ [% IF ( bibitemloo.holdable ) %] >+ // http://jqueryui.com/demos/datepicker/#date-range >+ var dates[% bibitemloo.biblionumber %] = $( "#from[% bibitemloo.biblionumber %], #to[% bibitemloo.biblionumber %]" ).datepicker({ >+ minDate: 1, >+ changeMonth: true, >+ numberOfMonths: 1, >+ onSelect: function( selectedDate ) { >+ var option = this.id == "from[% bibitemloo.biblionumber %]" ? "minDate" : "maxDate", >+ instance = $( this ).data( "datepicker" ); >+ date = $.datepicker.parseDate( >+ instance.settings.dateFormat || >+ $.datepicker._defaults.dateFormat, >+ selectedDate, instance.settings ); >+ dates[% bibitemloo.biblionumber %].not( this ).datepicker( "option", option, date ); >+ } >+ }); >+ [% END %] >+ [% END %] >+ > }); > // ]]> > </script> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/less/opac.less b/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >index c95d82a..8fb8bf2 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >+++ b/koha-tmpl/opac-tmpl/bootstrap/less/opac.less >@@ -745,6 +745,9 @@ fieldset { > margin-bottom : 1em; > } > } >+ table { >+ font-size: 100%; >+ } > } > > div.rows+div.rows { >@@ -2226,4 +2229,40 @@ td img { > } > } > >+#holds { >+ margin : 0 auto; >+ max-width: 800px; >+} >+.holdrow { >+ clear : both; >+ padding: 0 1em 1em 1em; >+ border-bottom:1px solid #CCC; >+ margin-bottom:.5em; >+ fieldset { >+ border : 0; >+ margin : 0; >+ float: none; >+ .label { >+ font-size: 14px; >+ } >+ } >+ label { >+ display: inline; >+ } >+} >+.hold-options { >+ clear : both; >+} >+.toggle-hold-options { >+ background-color: #eee; >+ clear : both; >+ display : block; >+ font-weight : bold; >+ margin: 1em 0; >+ padding: .5em; >+} >+.copiesrow { >+ clear : both; >+} >+ > @import "responsive.less"; >-- >1.7.9.5 >
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 11142
:
22474
|
22531