diff --git a/Koha/Template/Plugin/Biblio.pm b/Koha/Template/Plugin/Biblio.pm index f2163e41b3..c638c6e251 100644 --- a/Koha/Template/Plugin/Biblio.pm +++ b/Koha/Template/Plugin/Biblio.pm @@ -24,10 +24,13 @@ use base qw( Template::Plugin ); use Koha::Holds; use Koha::Biblios; +use Koha::Database; use Koha::Patrons; use Koha::ArticleRequests; use Koha::Recalls; +use Koha::DateUtils qw(dt_from_string); + sub HoldsCount { my ( $self, $biblionumber ) = @_; @@ -72,4 +75,18 @@ sub CanBook { return $biblio->bookable_items->count ? 1 : 0; } +sub BookingsCount { + my ( $self, $biblionumber ) = @_; + + my $biblio = Koha::Biblios->find($biblionumber); + + my $now = dt_from_string; + my $dtf = Koha::Database->new->schema->storage->datetime_parser; + return $biblio->bookings->search( + { + start_date => { '>' => $dtf->format_datetime($now) } + } + )->count; +} + 1; diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc index a03124820b..77aba3c844 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc @@ -56,7 +56,7 @@ [%- ELSE -%]
  • [%- END -%] - Bookings + Bookings ([% Biblio.BookingsCount( biblio_object_id ) | html %])
  • [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/cancel_booking_modal.js b/koha-tmpl/intranet-tmpl/prog/js/cancel_booking_modal.js index 0d70a5d1d1..4090ed853c 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/cancel_booking_modal.js +++ b/koha-tmpl/intranet-tmpl/prog/js/cancel_booking_modal.js @@ -23,6 +23,7 @@ $("#cancelBookingForm").on('submit', function(e) { if (timeline) { timeline.itemsData.remove(Number(booking_id)); } + $('.bookings_count').html(parseInt($('.bookings_count').html(), 10)-1); $('#cancelBookingModal').modal('hide'); }); diff --git a/koha-tmpl/intranet-tmpl/prog/js/place_booking_modal.js b/koha-tmpl/intranet-tmpl/prog/js/place_booking_modal.js index a67d9e4573..13f6f382c8 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/place_booking_modal.js +++ b/koha-tmpl/intranet-tmpl/prog/js/place_booking_modal.js @@ -326,6 +326,9 @@ $("#placeBookingForm").on('submit', function(e) { }); } + // Update bookings counts + $('.bookings_count').html(parseInt($('.bookings_count').html(), 10)+1); + // Close modal $('#placeBookingModal').modal('hide');