Bug 9214 - Show damaged status in the OPAC for items which are not for loan

Item statuses in the OPAC displayed according to a cascading hierarchy:
If something is lost it will appear as lost, "else if" it is checked out
it will appear as checked out, etc. I don't think there is a logical
reason why statuses should appear this way.

This patch modifies the logic in the template so that multiple statuses
can be displayed at the same time. The patch also wraps each status in
its own class so that libraries can apply custom CSS if they wish.

Some tweaks have been made to the LESS file adding some style to the
common "item-status" class for display of item statuses.

To test, apply the patch and view one or more titles in the OPAC which
have items with the following statuses: lost, checked out, damaged, not
for loan, waiting, on order, in transit, withdrawn, and available.

Modify items to have more that one status simultaneously, in particular
not for loan and damaged.

Also test the display of item statuses in the OPAC cart and the OPAC's
course details page (Course reserves -> [Course name]) since these pages
use the same include file.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Owen Leonard 2014-10-07 14:08:02 -04:00 committed by Tomas Cohen Arazi
parent 8176c2f390
commit b197d8bf90
3 changed files with 70 additions and 33 deletions

View file

@ -1,4 +1,5 @@
[% USE AuthorisedValues %]
[% SET itemavailable = 1 %]
[%#-
This include takes two parameters: an item structure
@ -8,54 +9,79 @@ not use an API to fetch items that populates item.datedue.
-%]
[% IF ( item.itemlost ) %]
[% SET itemavailable = 0 %]
[% av_lib_include = AuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %]
[% IF ( av_lib_include ) %]
[% av_lib_include %]
<span class="item-status lost">[% av_lib_include %]</span>
[% ELSE %]
[% IF ( item.lostimageurl ) %]
<img src="[% item.lostimageurl %]" alt="[% item.lostimagelabel %]" title="[% item.lostimagelabel %]" />
[% ELSE %]
Item lost
<span class="item-status lost">Item lost</span>
[% END %]
[% END %]
[% ELSIF ( item.datedue || issue.date_due ) %]
[% IF item.onsite_checkout %]
[% IF ( OPACShowCheckoutName ) %]
Currently in local use by [% item.cardnumber %] [% item.firstname %] [% item.surname %]
[% END %]
[% IF ( item.datedue || issue.date_due ) %]
[% SET itemavailable = 0 %]
[% IF item.onsite_checkout %]
[% IF ( OPACShowCheckoutName ) %]
<span class="item-status checkedout">Currently in local use by [% item.firstname %] [% item.surname %] [% IF ( item.cardnumber ) %]([% item.cardnumber %])[% END %]</span>
[% ELSE %]
<span class="item-status checkedout">Currently in local use</span>
[% END %]
[% ELSE %]
Currently in local use
[% IF ( OPACShowCheckoutName ) %]
<span class="item-status checkedout">Checked out to [% item.firstname %] [% item.surname %] [% IF ( item.cardnumber ) %]([% item.cardnumber %])[% END %]</span>
[% ELSE %]
<span class="item-status checkedout">Checked out</span>
[% END %]
[% END %]
[% ELSE %]
[% IF ( OPACShowCheckoutName ) %]
Checked out to [% item.cardnumber %] [% item.firstname %] [% item.surname %]
[% ELSE %]
Checked out
[% END %]
[% END %]
[% ELSIF ( item.transfertwhen ) %]
In transit from [% item.transfertfrom %]
to [% item.transfertto %] since [% item.transfertwhen %]
[% ELSIF ( item.waiting ) %]
On hold
[% ELSIF ( item.withdrawn ) %]
Item withdrawn
[% ELSIF ( item.itemnotforloan ) %]
[% END %]
[% IF ( item.transfertwhen ) %]
[% SET itemavailable = 0 %]
<span class="item-status intransit">In transit from [% item.transfertfrom %]
to [% item.transfertto %] since [% item.transfertwhen | $KohaDates %]</span>
[% END %]
[% IF ( item.waiting ) %]
[% SET itemavailable = 0 %]
<span class="item-status onhold">On hold</span>
[% END %]
[% IF ( item.withdrawn ) %]
[% SET itemavailable = 0 %]
<span class="item-status withdrawn">Item withdrawn</span>
[% END %]
[% IF ( item.itemnotforloan ) %]
[% SET itemavailable = 0 %]
[% IF ( item.notforloanvalueopac ) %]
[% item.notforloanvalueopac %] [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
<span class="item-status notforloan">[% item.notforloanvalueopac %] [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]</span>
[% ELSE %]
Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
<span class="item-status notforloan">Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]</span>
[% END %]
[% ELSIF ( item.notforloan_per_itemtype ) %]
Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
[% ELSIF ( item.damaged ) %]
[% SET itemavailable = 0 %]
<span class="item-status notforloan">Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]</span>
[% END %]
[% IF ( item.damaged ) %]
[% SET itemavailable = 0 %]
[% av_lib_include = AuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %]
[% IF av_lib_include %]
[% av_lib_include %]
<span class="item-status damaged">[% av_lib_include %]</span>
[% ELSE %]
Item damaged
<span class="item-status damaged">Item damaged</span>
[% END %]
[% ELSIF item.on_order %]
On order
[% ELSE %]
Available [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
[% END %]
[% IF item.on_order %]
[% SET itemavailable = 0 %]
<span class="item-status onorder">On order</span>
[% END %]
[% IF ( itemavailable ) %]
<span class="item-status available">Available [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]</span>
[% END %]

View file

@ -1,10 +1,11 @@
[% USE Koha %]
[% USE KohaDates %]
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && TagsEnabled && TagsInputOnList ) %]
[% INCLUDE 'doc-head-open.inc' %]
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo; Your cart
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
[% BLOCK cssinclude %]<style type="text/css">.item-status { display: inline; }</style>[% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='basket' %]
<div class="main">

View file

@ -2054,6 +2054,12 @@ button.closebtn{padding:0;cursor:pointer;background:transparent;border:0;-webkit
margin-bottom : .5em;
}
.item-status {
display: block;
font-size: 95%;
margin-bottom: .5em;
}
.available {
color : #006600;
}
@ -2195,6 +2201,10 @@ td img {
padding-right: 19px;
background: #ECEDE6 none;
}
th,
td {
line-height: 135%;
}
}
.tags {
ul {