@@ -, +, @@ --- C4/Serials.pm | 12 ++++++++++-- .../prog/en/modules/serials/serials-search.tt | 16 +++++++++++++++- serials/serials-search.pl | 3 +++ 3 files changed, 28 insertions(+), 3 deletions(-) --- a/C4/Serials.pm +++ a/C4/Serials.pm @@ -549,7 +549,8 @@ The valid search fields are: ean callnumber location - publisher + publisher + barcode bookseller branch expiration_date @@ -589,6 +590,7 @@ sub SearchSubscriptions { LEFT JOIN biblio ON biblio.biblionumber = subscription.biblionumber LEFT JOIN biblioitems ON biblioitems.biblionumber = subscription.biblionumber LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id + LEFT JOIN items ON items.biblionumber = biblio.biblionumber |; $query .= q| WHERE 1|; my @where_strs; @@ -625,7 +627,13 @@ sub SearchSubscriptions { if( $args->{publisher} ){ push @where_strs, "biblioitems.publishercode LIKE ?"; push @where_args, "%$args->{publisher}%"; + } + if( $args->{barcode} ){ + push @where_strs, "items.barcode LIKE ?"; + push @where_args, "%$args->{barcode}%"; } + + if( $args->{bookseller} ){ push @where_strs, "aqbooksellers.name LIKE ?"; push @where_args, "%$args->{bookseller}%"; @@ -659,7 +667,7 @@ sub SearchSubscriptions { $query .= " ORDER BY " . $args->{orderby} if $args->{orderby}; my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare($query); + my $sth = $dbh->prepare($query); $sth->execute(@where_args); my $results = $sth->fetchall_arrayref( {} ); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt @@ -81,6 +81,13 @@ + +
  • + + +
  • + +
  • @@ -338,7 +345,7 @@ [% IF ( routing && CAN_user_serials_routing ) %] [% UNLESS ( subscription.cannotedit ) %]
  • - Reopen + Reopen
  • [% END %] [% END # IF ( routing && CAN_user_serials_routing ) %] @@ -401,6 +408,13 @@ + +
  • + + +
  • + +
  • --- a/serials/serials-search.pl +++ a/serials/serials-search.pl @@ -46,6 +46,7 @@ my $ISSN = $query->param('ISSN_filter') || ''; my $EAN = $query->param('EAN_filter') || ''; my $callnumber = $query->param('callnumber_filter') || ''; my $publisher = $query->param('publisher_filter') || ''; +my $barcode = $query->param('barcode_filter') || ''; my $bookseller = $query->param('bookseller_filter') || ''; my $biblionumber = $query->param('biblionumber') || ''; my $branch = $query->param('branch_filter') || ''; @@ -104,6 +105,7 @@ if ($searched){ ean => $EAN, callnumber => $callnumber, publisher => $publisher, + barcode => $barcode, bookseller => $bookseller, branch => $branch, additional_fields => [ map{ { name => $_, value => $additional_field_filters->{$_}{value}, authorised_value_category => $additional_field_filters->{$_}{authorised_value_category} } } keys %$additional_field_filters ], @@ -153,6 +155,7 @@ $template->param( EAN_filter => $EAN, callnumber_filter => $callnumber, publisher_filter => $publisher, + barcode_filter => $barcode, bookseller_filter => $bookseller, branch_filter => $branch, locations => C4::Koha::GetAuthorisedValues('LOC', $location), --