|
Lines 66-94
$biblio_module->mock(
Link Here
|
| 66 |
sub { |
66 |
sub { |
| 67 |
my ($self) = shift; |
67 |
my ($self) = shift; |
| 68 |
|
68 |
|
| 69 |
if ( C4::Context->preference('marcflavour') eq 'MARC21' |
69 |
my ( $title_field, $title_subfield ) = get_title_field(); |
| 70 |
|| C4::Context->preference('marcflavour') eq 'NORMARC' ) { |
70 |
my ( $isbn_field, $isbn_subfield ) = get_isbn_field(); |
| 71 |
|
71 |
my ( $issn_field, $issn_subfield ) = get_issn_field(); |
| 72 |
return { |
72 |
my ( $biblionumber_field, $biblionumber_subfield ) = ( '999', 'c' ); |
| 73 |
'biblio.title' => { tagfield => '245', tagsubfield => 'a' }, |
73 |
my ( $biblioitemnumber_field, $biblioitemnumber_subfield ) = ( '999', '9' ); |
| 74 |
'biblio.biblionumber' => { tagfield => '999', tagsubfield => 'c' }, |
74 |
my ( $itemnumber_field, $itemnumber_subfield ) = get_itemnumber_field(); |
| 75 |
'biblioitems.isbn' => { tagfield => '020', tagsubfield => 'a' }, |
75 |
|
| 76 |
'biblioitems.issn' => { tagfield => '022', tagsubfield => 'a' }, |
76 |
return { |
| 77 |
'biblioitems.biblioitemnumber' => { tagfield => '999', tagsubfield => 'd' }, |
77 |
'biblio.title' => { tagfield => $title_field, tagsubfield => $title_subfield }, |
| 78 |
'items.itemnumber' => { tagfield => '952', tagsubfield => '9' }, |
78 |
'biblio.biblionumber' => { tagfield => $biblionumber_field, tagsubfield => $biblionumber_subfield }, |
| 79 |
}; |
79 |
'biblioitems.isbn' => { tagfield => $isbn_field, tagsubfield => $isbn_subfield }, |
| 80 |
} elsif ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) { |
80 |
'biblioitems.issn' => { tagfield => $issn_field, tagsubfield => $issn_subfield }, |
| 81 |
|
81 |
'biblioitems.biblioitemnumber' => { tagfield => $biblioitemnumber_field, tagsubfield => $biblioitemnumber_subfield }, |
| 82 |
return { |
82 |
'items.itemnumber' => { tagfield => $itemnumber_subfield, tagsubfield => $itemnumber_subfield }, |
| 83 |
'biblio.title' => { tagfield => '200', tagsubfield => 'a' }, |
83 |
}; |
| 84 |
'biblio.biblionumber' => { tagfield => '999', tagsubfield => 'c' }, |
84 |
} |
| 85 |
'biblioitems.isbn' => { tagfield => '010', tagsubfield => 'a' }, |
|
|
| 86 |
'biblioitems.issn' => { tagfield => '011', tagsubfield => 'a' }, |
| 87 |
'biblioitems.biblioitemnumber' => { tagfield => '090', tagsubfield => 'a' }, |
| 88 |
'items.itemnumber' => { tagfield => '995', tagsubfield => '9' }, |
| 89 |
}; |
| 90 |
} |
| 91 |
} |
| 92 |
); |
85 |
); |
| 93 |
|
86 |
|
| 94 |
my $currency = new Test::MockModule('Koha::Acquisition::Currencies'); |
87 |
my $currency = new Test::MockModule('Koha::Acquisition::Currencies'); |
|
Lines 275-285
sub run_tests {
Link Here
|
| 275 |
'Check the number of returned notes of GetMarcNotes' ); |
268 |
'Check the number of returned notes of GetMarcNotes' ); |
| 276 |
} |
269 |
} |
| 277 |
|
270 |
|
|
|
271 |
sub get_title_field { |
| 272 |
my $marc_flavour = C4::Context->preference('marcflavour'); |
| 273 |
return ( $marc_flavour eq 'UNIMARC' ) ? ( '200', 'a' ) : ( '245', 'a' ); |
| 274 |
} |
| 275 |
|
| 276 |
sub get_isbn_field { |
| 277 |
my $marc_flavour = C4::Context->preference('marcflavour'); |
| 278 |
return ( $marc_flavour eq 'UNIMARC' ) ? ( '010', 'a' ) : ( '020', 'a' ); |
| 279 |
} |
| 280 |
|
| 281 |
sub get_issn_field { |
| 282 |
my $marc_flavour = C4::Context->preference('marcflavour'); |
| 283 |
return ( $marc_flavour eq 'UNIMARC' ) ? ( '011', 'a' ) : ( '022', 'a' ); |
| 284 |
} |
| 285 |
|
| 286 |
sub get_itemnumber_field { |
| 287 |
my $marc_flavour = C4::Context->preference('marcflavour'); |
| 288 |
return ( $marc_flavour eq 'UNIMARC' ) ? ( '995', '9' ) : ( '952', '9' ); |
| 289 |
} |
| 290 |
|
| 278 |
sub create_title_field { |
291 |
sub create_title_field { |
| 279 |
my ( $title, $marcflavour ) = @_; |
292 |
my ( $title, $marcflavour ) = @_; |
| 280 |
|
293 |
|
| 281 |
my $title_field = ( $marcflavour eq 'UNIMARC' ) ? '200' : '245'; |
294 |
my ( $title_field, $title_subfield ) = get_title_field(); |
| 282 |
my $field = MARC::Field->new( $title_field,'','','a' => $title); |
295 |
my $field = MARC::Field->new( $title_field, '', '', $title_subfield => $title ); |
| 283 |
|
296 |
|
| 284 |
return $field; |
297 |
return $field; |
| 285 |
} |
298 |
} |
|
Lines 287-296
sub create_title_field {
Link Here
|
| 287 |
sub create_isbn_field { |
300 |
sub create_isbn_field { |
| 288 |
my ( $isbn, $marcflavour ) = @_; |
301 |
my ( $isbn, $marcflavour ) = @_; |
| 289 |
|
302 |
|
| 290 |
my $isbn_field = ( $marcflavour eq 'UNIMARC' ) ? '010' : '020'; |
303 |
my ( $isbn_field, $isbn_subfield ) = get_isbn_field(); |
| 291 |
my $field = MARC::Field->new( $isbn_field,'','','a' => $isbn); |
304 |
my $field = MARC::Field->new( $isbn_field, '', '', $isbn_subfield => $isbn ); |
|
|
305 |
|
| 292 |
# Add the price subfield |
306 |
# Add the price subfield |
| 293 |
my $price_subfield = ( $marcflavour eq 'UNIMARC' ) ? 'd' : 'c' ; |
307 |
my $price_subfield = ( $marcflavour eq 'UNIMARC' ) ? 'd' : 'c'; |
| 294 |
$field->add_subfields( $price_subfield => '$100' ); |
308 |
$field->add_subfields( $price_subfield => '$100' ); |
| 295 |
|
309 |
|
| 296 |
return $field; |
310 |
return $field; |
|
Lines 299-306
sub create_isbn_field {
Link Here
|
| 299 |
sub create_issn_field { |
313 |
sub create_issn_field { |
| 300 |
my ( $issn, $marcflavour ) = @_; |
314 |
my ( $issn, $marcflavour ) = @_; |
| 301 |
|
315 |
|
| 302 |
my $issn_field = ( $marcflavour eq 'UNIMARC' ) ? '011' : '022'; |
316 |
my ( $issn_field, $issn_subfield ) = get_issn_field(); |
| 303 |
my $field = MARC::Field->new( $issn_field,'','','a' => $issn); |
317 |
my $field = MARC::Field->new( $issn_field, '', '', $issn_subfield => $issn ); |
| 304 |
|
318 |
|
| 305 |
return $field; |
319 |
return $field; |
| 306 |
} |
320 |
} |
| 307 |
- |
|
|