|
Lines 2138-2143
sub generate_marc_host_field {
Link Here
|
| 2138 |
return $link_field; |
2138 |
return $link_field; |
| 2139 |
} |
2139 |
} |
| 2140 |
|
2140 |
|
|
|
2141 |
=head3 unlink_marc_host |
| 2142 |
|
| 2143 |
$biblio->unlink_marc_host({ host => $biblio }); |
| 2144 |
$biblio->unlink_marc_host({ host => $biblionumber }); |
| 2145 |
|
| 2146 |
Remove the link to the parent created by link_marc_host. Expects either the biblio object or biblionumber of the host to link to. |
| 2147 |
|
| 2148 |
=cut |
| 2149 |
|
| 2150 |
sub unlink_marc_host { |
| 2151 |
my ( $self, $params ) = @_; |
| 2152 |
my $host_biblionumber; |
| 2153 |
if ( ref( $params->{host} ) eq 'Koha::Biblio' ) { |
| 2154 |
$host_biblionumber = $params->{host}->biblionumber; |
| 2155 |
} else { |
| 2156 |
$host_biblionumber = $params->{host}; |
| 2157 |
} |
| 2158 |
|
| 2159 |
my $record = $self->metadata->record; |
| 2160 |
my $field_number = C4::Context->preference('marcflavour') eq 'MARC21' ? '773' : '461'; |
| 2161 |
my @fields = $record->field($field_number); |
| 2162 |
|
| 2163 |
foreach my $field (@fields) { |
| 2164 |
my $subfield_biblionumber = $field->subfield('0') // q{}; |
| 2165 |
if ( $host_biblionumber eq $subfield_biblionumber ) { |
| 2166 |
$record->delete_field($field); |
| 2167 |
last; |
| 2168 |
} |
| 2169 |
} |
| 2170 |
|
| 2171 |
C4::Biblio::ModBiblio( $record, $self->biblionumber ); |
| 2172 |
} |
| 2173 |
|
| 2174 |
|
| 2141 |
=head3 link_marc_host |
2175 |
=head3 link_marc_host |
| 2142 |
|
2176 |
|
| 2143 |
$biblio->link_marc_host({ field => $link_field}); |
2177 |
$biblio->link_marc_host({ field => $link_field}); |