Bug 9573: Lost items report - Add items.notforloan as a filter
This patch adds a new "Not for loan" status filter to the lost items report. Test plan: 0/ Apply all patches from this patch set 1/ Use the new "Not for loan" filter to search lost items 2/ The table result must be consistent and a new "Not for loan" column should be there 3/ Confirm that you are able to hide/show this column with the column settings tool. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
f6378a8fb3
commit
61c832a507
4 changed files with 71 additions and 14 deletions
|
@ -68,6 +68,28 @@ sub GetCategories {
|
|||
];
|
||||
}
|
||||
|
||||
sub GetDescriptionsByKohaField {
|
||||
my ( $self, $params ) = @_;
|
||||
return Koha::AuthorisedValues->get_descriptions_by_koha_field(
|
||||
{ kohafield => $params->{kohafield} } );
|
||||
}
|
||||
|
||||
sub GetDescriptionByKohaField {
|
||||
my ( $self, $params ) = @_;
|
||||
my $av = Koha::AuthorisedValues->get_description_by_koha_field(
|
||||
{
|
||||
kohafield => $params->{kohafield},
|
||||
authorised_value => $params->{authorised_value},
|
||||
}
|
||||
);
|
||||
return %$av
|
||||
? $params->{opac}
|
||||
? $av->{opac_description}
|
||||
: $av->{lib}
|
||||
: ''; # Maybe we should return $params->{authorised_value}?
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
@ -93,6 +115,14 @@ the following TT code: [% AuthorisedValues.GetByCode( 'CATEGORY', 'AUTHORISED_VA
|
|||
|
||||
The parameters are identical to those used by the subroutine C4::Koha::GetAuthValueDropbox
|
||||
|
||||
=head2 GetDescriptionsByKohaField
|
||||
|
||||
The parameters are identical to those used by the subroutine Koha::AuthorisedValues->get_descriptions_by_koha_field
|
||||
|
||||
=head2 GetDescriptionByKohaField
|
||||
|
||||
The parameters are identical to those used by the subroutine Koha::AuthorisedValues->get_description_by_koha_field
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Kyle M Hall <kyle@bywatersolutions.com>
|
||||
|
|
|
@ -309,6 +309,8 @@ modules:
|
|||
columnname: current_location
|
||||
-
|
||||
columnname: location
|
||||
-
|
||||
columnname: notforloan
|
||||
-
|
||||
columnname: notes
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
<th>Item type</th>
|
||||
<th>Current location</th>
|
||||
<th>Location</th>
|
||||
<th>Not for loan status</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -59,7 +60,7 @@
|
|||
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]" title="[% item.itemnotes %]">[% item.biblio.title |html %]</a>
|
||||
</td>
|
||||
<td>[% item.biblio.author %]</td>
|
||||
<td>[% AuthorisedValues.GetByCode( 'LOST', item.itemlost ) %]</td>
|
||||
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) %]
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% item.biblionumber %]" title="[% item.itemnotes %]">[% item.barcode %]</a>
|
||||
</td>
|
||||
|
@ -71,6 +72,7 @@
|
|||
<td>[% item.effective_itemtype %]</td>
|
||||
<td>[% Branches.GetName(item.holdingbranch) %]</td>
|
||||
<td>[% item.location %]</td>
|
||||
<td>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %]
|
||||
<td>[% item.itemnotes %]</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
@ -95,15 +97,34 @@
|
|||
[% END %]
|
||||
</select></li>
|
||||
|
||||
<li><label for="loststatusfilter">Lost status: </label><select name="loststatusfilter" id="loststatusfilter">
|
||||
<option value="">All</option>
|
||||
[% FOREACH loststatusloo IN loststatusloop %]
|
||||
[% IF ( loststatusloo.selected ) %]<option value="[% loststatusloo.authorised_value %]" selected="selected">[% loststatusloo.lib %]</option>
|
||||
[% ELSE %]
|
||||
<option value="[% loststatusloo.authorised_value %]">[% loststatusloo.lib %]</option>
|
||||
[% END %]
|
||||
<li>
|
||||
<label for="loststatusfilter">Lost status: </label>
|
||||
<select name="loststatusfilter" id="loststatusfilter">
|
||||
<option value="">All</option>
|
||||
[% FOREACH l IN AuthorisedValues.GetDescriptionsByKohaField( kohafield => 'items.itemlost') %]
|
||||
[% IF l.authorised_value == lostfilter %]
|
||||
<option value="[% l.authorised_value %]" selected="selected">[% l.lib %]</option>
|
||||
[% ELSE %]
|
||||
<option value="[% l.authorised_value %]">[% l.lib %]</option>
|
||||
[% END %]
|
||||
</select></li>
|
||||
[% END %]
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="notforloanfilter">Not for loan: </label>
|
||||
<select name="notforloanfilter" id="notforloanfilter">
|
||||
<option value="">All</option>
|
||||
[% FOREACH n IN AuthorisedValues.GetDescriptionsByKohaField( kohafield => 'items.notforloan') %]
|
||||
[% IF n.authorised_value == notforloanfilter %]
|
||||
<option value="[% n.authorised_value %]" selected="selected">[% n.lib %]</option>
|
||||
[% ELSE %]
|
||||
<option value="[% n.authorised_value %]">[% n.lib %]</option>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ol></fieldset>
|
||||
<fieldset class="action"> <input type="submit" value="Submit" />
|
||||
<input type="hidden" name="get_items" value="1" /></fieldset>
|
||||
|
|
|
@ -32,6 +32,8 @@ use C4::Auth;
|
|||
use C4::Output;
|
||||
use C4::Biblio;
|
||||
use C4::Items;
|
||||
|
||||
use Koha::AuthorisedValues;
|
||||
use Koha::DateUtils;
|
||||
|
||||
my $query = new CGI;
|
||||
|
@ -54,6 +56,7 @@ if ($get_items) {
|
|||
my $barcodefilter = $params->{'barcodefilter'} || undef;
|
||||
my $itemtypesfilter = $params->{'itemtypesfilter'} || undef;
|
||||
my $loststatusfilter = $params->{'loststatusfilter'} || undef;
|
||||
my $notforloanfilter = $params->{'notforloanfilter'} || undef;
|
||||
|
||||
my $params = {
|
||||
( $branchfilter ? ( homebranch => $branchfilter ) : () ),
|
||||
|
@ -62,6 +65,11 @@ if ($get_items) {
|
|||
? ( itemlost => $loststatusfilter )
|
||||
: ( itemlost => { '!=' => 0 } )
|
||||
),
|
||||
(
|
||||
$notforloanfilter
|
||||
? ( notforloan => $notforloanfilter )
|
||||
: ()
|
||||
),
|
||||
( $barcodefilter ? ( barcode => { like => "%$barcodefilter%" } ) : () ),
|
||||
};
|
||||
|
||||
|
@ -88,12 +96,8 @@ if ($get_items) {
|
|||
# getting all itemtypes
|
||||
my $itemtypes = Koha::ItemTypes->search_with_localization;
|
||||
|
||||
# get lost statuses
|
||||
my $lost_status_loop = C4::Koha::GetAuthorisedValues( 'LOST' );
|
||||
|
||||
$template->param(
|
||||
itemtypes => $itemtypes,
|
||||
loststatusloop => $lost_status_loop,
|
||||
itemtypes => $itemtypes,
|
||||
);
|
||||
|
||||
# writing the template
|
||||
|
|
Loading…
Reference in a new issue