From: Bill Erickson Date: Mon, 5 Jul 2021 20:04:56 +0000 (-0400) Subject: LP1910808 Staff catalog show call number X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=b24ff8036eb9cdd90cf0e100c3523c2e540f6b05;p=Evergreen.git LP1910808 Staff catalog show call number In the search results page, show the first call number for each record (sorting by label sortkey) that is owned either by the user's preferred library or the search library. Signed-off-by: Bill Erickson Signed-off-by: Galen Charlton --- diff --git a/Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts b/Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts index 999ce372ee..f7e54d3f3a 100644 --- a/Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts +++ b/Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts @@ -35,6 +35,7 @@ export class BibRecordSummary { holdingsSummary: any; holdCount: number; bibCallNumber: string; + firstCallNumber: string; net: NetService; displayHighlights: {[name: string]: string | string[]} = {}; eResourceUrls: EResourceUrl[] = []; @@ -115,6 +116,7 @@ export class BibRecordService { summary.holdingsSummary = bibSummary.copy_counts; summary.eResourceUrls = bibSummary.urls; summary.copies = bibSummary.copies; + summary.firstCallNumber = bibSummary.first_call_number; return summary; })); @@ -140,6 +142,7 @@ export class BibRecordService { summary.holdCount = metabibSummary.hold_count; summary.holdingsSummary = metabibSummary.copy_counts; summary.copies = metabibSummary.copies; + summary.firstCallNumber = metabibSummary.first_call_number; return summary; })); diff --git a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts index d2e3044136..798f5491ed 100644 --- a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts +++ b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts @@ -212,7 +212,8 @@ export class CatalogService { let observable: Observable; - const options: any = {}; + const options: any = {pref_ou: ctx.prefOu}; + if (ctx.showResultExtras) { options.flesh_copies = true; options.copy_depth = depth; diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html index a48f33ce3b..4bd0fe13d6 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html @@ -79,6 +79,13 @@
+ +
Call Number: + {{summary.firstCallNumber.call_number_prefix_label}} + {{summary.firstCallNumber.call_number_label}} + {{summary.firstCallNumber.call_number_suffix_label}} +
+
Phys. Desc.: diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm index 1bdb62ffcd..384677e0e6 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -3095,6 +3095,9 @@ sub catalog_record_summary { ($response->{copy_counts}) = $copy_method->run($org_id, $rec_id); + $response->{first_call_number} = get_first_call_number( + $e, $rec_id, $org_id, $is_staff, $is_meta, $options); + $response->{hold_count} = $U->simplereq('open-ils.circ', $holds_method, $rec_id); @@ -3175,6 +3178,20 @@ sub get_representative_copies { return $copies; } +sub get_first_call_number { + my ($e, $rec_id, $org_id, $is_staff, $is_meta, $options) = @_; + + my $limit = $options->{copy_limit}; + $options->{copy_limit} = 1; + + my $copies = get_representative_copies( + $e, $rec_id, $org_id, $is_staff, $is_meta, $options); + + $options->{copy_limit} = $limit; + + return $copies->[0]; +} + sub get_one_rec_urls { my ($self, $e, $org_id, $bib_id) = @_;