@@ -, +, @@ for first hold --- Koha/Hold.pm | 13 +++++++++++++ api/v1/swagger/paths/biblios.yaml | 1 + .../prog/en/modules/catalogue/detail.tt | 5 ++--- 3 files changed, 16 insertions(+), 3 deletions(-) --- a/Koha/Hold.pm +++ a/Koha/Hold.pm @@ -1041,6 +1041,19 @@ sub can_update_pickup_location_opac { return 0; } +=head3 strings_map + +Returns a map of column name to string representations including the string. + +=cut + +sub strings_map { + my ($self) = @_; + return { + pickup_library_id => { str => $self->branch->branchname, type => 'library' }, + }; +} + =head2 Internal methods =head3 _type --- a/api/v1/swagger/paths/biblios.yaml +++ a/api/v1/swagger/paths/biblios.yaml @@ -428,6 +428,7 @@ - transfer - transfer+strings - first_hold + - first_hold+strings - first_hold.patron - recall - recall.patron --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -2173,7 +2173,7 @@ [%# In case or SeparateHoldings we may need to display the number of biblios in each tab %] [%# Do we need separate/new endpoints or do we hack the somewhere client-side? %] let item_table_url = "/api/v1/biblios/[% biblio.biblionumber | uri %]/items?"; - let embed = ["+strings,checkout,checkout.patron,transfer,transfer+strings,first_hold,first_hold.patron,item_type"]; + let embed = ["+strings,checkout,checkout.patron,transfer,transfer+strings,first_hold,first_hold+strings,first_hold.patron,item_type"]; [% IF Koha.Preference('LocalCoverImages') %] embed.push('cover_image_ids'); [% END %] @@ -2425,9 +2425,8 @@ if ( row.first_hold ) { if ( row.first_hold.waiting_date ) { - [%# FIXME Display library names instead of codes %] [%# FIXME We lost the desk name, we need an additional embed %] - nodes += '%s'.format(_("Waiting at %s since %s.".format(row.first_hold.pickup_library_id, $date(row.first_hold.waiting_date)))); + nodes += '%s'.format(_("Waiting at %s since %s.".format(row.first_hold._strings.pickup_library_id.str, $date(row.first_hold.waiting_date)))); [% IF Koha.Preference('canreservefromotherbranches') %] if ( row.first_hold.waiting_date || row.first_hold.priority == 1 ) { let patron_to_html = $patron_to_html(row.first_hold.patron); [%# FIXME What about hide_patron_infos_if_needed?? %] --