Lines 1139-1145
sub GetMarcSubfieldStructureFromKohaField {
Link Here
|
1139 |
my $record = GetMarcBiblio({ |
1139 |
my $record = GetMarcBiblio({ |
1140 |
biblionumber => $biblionumber, |
1140 |
biblionumber => $biblionumber, |
1141 |
embed_items => $embeditems, |
1141 |
embed_items => $embeditems, |
1142 |
opac => $opac }); |
1142 |
opac => $opac, |
|
|
1143 |
borcat => $patron_category }); |
1143 |
|
1144 |
|
1144 |
Returns MARC::Record representing a biblio record, or C<undef> if the |
1145 |
Returns MARC::Record representing a biblio record, or C<undef> if the |
1145 |
biblionumber doesn't exist. |
1146 |
biblionumber doesn't exist. |
Lines 1163-1168
set to true to include item information.
Link Here
|
1163 |
set to true to make the result suited for OPAC view. This causes things like |
1164 |
set to true to make the result suited for OPAC view. This causes things like |
1164 |
OpacHiddenItems to be applied. |
1165 |
OpacHiddenItems to be applied. |
1165 |
|
1166 |
|
|
|
1167 |
=item C<$borcat> |
1168 |
|
1169 |
If the OpacHiddenItemsExceptions system preference is set, this patron category |
1170 |
can be used to make visible OPAC items which would be normally hidden. |
1171 |
It only makes sense in combination both embed_items and opac values true. |
1172 |
|
1166 |
=back |
1173 |
=back |
1167 |
|
1174 |
|
1168 |
=cut |
1175 |
=cut |
Lines 1178-1183
sub GetMarcBiblio {
Link Here
|
1178 |
my $biblionumber = $params->{biblionumber}; |
1185 |
my $biblionumber = $params->{biblionumber}; |
1179 |
my $embeditems = $params->{embed_items} || 0; |
1186 |
my $embeditems = $params->{embed_items} || 0; |
1180 |
my $opac = $params->{opac} || 0; |
1187 |
my $opac = $params->{opac} || 0; |
|
|
1188 |
my $borcat = $params->{borcat} // q{}; |
1181 |
|
1189 |
|
1182 |
if (not defined $biblionumber) { |
1190 |
if (not defined $biblionumber) { |
1183 |
carp 'GetMarcBiblio called with undefined biblionumber'; |
1191 |
carp 'GetMarcBiblio called with undefined biblionumber'; |
Lines 1208-1214
sub GetMarcBiblio {
Link Here
|
1208 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
1216 |
C4::Biblio::EmbedItemsInMarcBiblio({ |
1209 |
marc_record => $record, |
1217 |
marc_record => $record, |
1210 |
biblionumber => $biblionumber, |
1218 |
biblionumber => $biblionumber, |
1211 |
opac => $opac }) |
1219 |
opac => $opac, |
|
|
1220 |
borcat => $borcat }) |
1212 |
if ($embeditems); |
1221 |
if ($embeditems); |
1213 |
|
1222 |
|
1214 |
return $record; |
1223 |
return $record; |
Lines 2891-2897
sub ModZebra {
Link Here
|
2891 |
marc_record => $marc, |
2900 |
marc_record => $marc, |
2892 |
biblionumber => $biblionumber, |
2901 |
biblionumber => $biblionumber, |
2893 |
item_numbers => $itemnumbers, |
2902 |
item_numbers => $itemnumbers, |
2894 |
opac => $opac }); |
2903 |
opac => $opac, |
|
|
2904 |
borcat => $patron_category }); |
2895 |
|
2905 |
|
2896 |
Given a MARC::Record object containing a bib record, |
2906 |
Given a MARC::Record object containing a bib record, |
2897 |
modify it to include the items attached to it as 9XX |
2907 |
modify it to include the items attached to it as 9XX |
Lines 2900-2910
if $itemnumbers is defined, only specified itemnumbers are embedded.
Link Here
|
2900 |
|
2910 |
|
2901 |
If $opac is true, then opac-relevant suppressions are included. |
2911 |
If $opac is true, then opac-relevant suppressions are included. |
2902 |
|
2912 |
|
|
|
2913 |
If opac filtering will be done, borcat should be passed to properly |
2914 |
override if necessary. |
2915 |
|
2903 |
=cut |
2916 |
=cut |
2904 |
|
2917 |
|
2905 |
sub EmbedItemsInMarcBiblio { |
2918 |
sub EmbedItemsInMarcBiblio { |
2906 |
my ($params) = @_; |
2919 |
my ($params) = @_; |
2907 |
my ($marc, $biblionumber, $itemnumbers, $opac); |
2920 |
my ($marc, $biblionumber, $itemnumbers, $opac, $borcat); |
2908 |
$marc = $params->{marc_record}; |
2921 |
$marc = $params->{marc_record}; |
2909 |
if ( !$marc ) { |
2922 |
if ( !$marc ) { |
2910 |
carp 'EmbedItemsInMarcBiblio: No MARC record passed'; |
2923 |
carp 'EmbedItemsInMarcBiblio: No MARC record passed'; |
Lines 2913-2918
sub EmbedItemsInMarcBiblio {
Link Here
|
2913 |
$biblionumber = $params->{biblionumber}; |
2926 |
$biblionumber = $params->{biblionumber}; |
2914 |
$itemnumbers = $params->{item_numbers}; |
2927 |
$itemnumbers = $params->{item_numbers}; |
2915 |
$opac = $params->{opac}; |
2928 |
$opac = $params->{opac}; |
|
|
2929 |
$borcat = $params->{borcat} // q{}; |
2916 |
|
2930 |
|
2917 |
$itemnumbers = [] unless defined $itemnumbers; |
2931 |
$itemnumbers = [] unless defined $itemnumbers; |
2918 |
|
2932 |
|
Lines 2942-2948
sub EmbedItemsInMarcBiblio {
Link Here
|
2942 |
my @items2pass = map { $_->{item} } @items; |
2956 |
my @items2pass = map { $_->{item} } @items; |
2943 |
my @hiddenitems = |
2957 |
my @hiddenitems = |
2944 |
$opachiddenitems |
2958 |
$opachiddenitems |
2945 |
? C4::Items::GetHiddenItemnumbers({ items => \@items2pass }) |
2959 |
? C4::Items::GetHiddenItemnumbers({ |
|
|
2960 |
items => \@items2pass, |
2961 |
borcat => $borcat }) |
2946 |
: (); |
2962 |
: (); |
2947 |
# Convert to a hash for quick searching |
2963 |
# Convert to a hash for quick searching |
2948 |
my %hiddenitems = map { $_ => 1 } @hiddenitems; |
2964 |
my %hiddenitems = map { $_ => 1 } @hiddenitems; |