|
Lines 2027-2032
sub generate_marc_host_field {
Link Here
|
| 2027 |
return $link_field; |
2027 |
return $link_field; |
| 2028 |
} |
2028 |
} |
| 2029 |
|
2029 |
|
|
|
2030 |
=head3 unlink_marc_host |
| 2031 |
|
| 2032 |
$biblio->unlink_marc_host({ host => $biblio }); |
| 2033 |
$biblio->unlink_marc_host({ host => $biblionumber }); |
| 2034 |
|
| 2035 |
Remove the link to the parent created by link_marc_host. Expects either the biblio object or biblionumber of the host to link to. |
| 2036 |
|
| 2037 |
=cut |
| 2038 |
|
| 2039 |
sub unlink_marc_host { |
| 2040 |
my ( $self, $params ) = @_; |
| 2041 |
my $host_biblionumber; |
| 2042 |
if ( ref( $params->{host} ) eq 'Koha::Biblio' ) { |
| 2043 |
$host_biblionumber = $params->{host}->biblionumber; |
| 2044 |
} else { |
| 2045 |
$host_biblionumber = $params->{host}; |
| 2046 |
} |
| 2047 |
|
| 2048 |
my $record = $self->metadata->record; |
| 2049 |
my $field_number = C4::Context->preference('marcflavour') eq 'MARC21' ? '773' : '461'; |
| 2050 |
my @fields = $record->field($field_number); |
| 2051 |
|
| 2052 |
foreach my $field (@fields) { |
| 2053 |
my $subfield_biblionumber = $field->subfield('0') // q{}; |
| 2054 |
if ( $host_biblionumber eq $subfield_biblionumber ) { |
| 2055 |
$record->delete_field($field); |
| 2056 |
last; |
| 2057 |
} |
| 2058 |
} |
| 2059 |
|
| 2060 |
C4::Biblio::ModBiblio( $record, $self->biblionumber ); |
| 2061 |
} |
| 2062 |
|
| 2063 |
|
| 2030 |
=head3 link_marc_host |
2064 |
=head3 link_marc_host |
| 2031 |
|
2065 |
|
| 2032 |
$biblio->link_marc_host({ field => $link_field}); |
2066 |
$biblio->link_marc_host({ field => $link_field}); |