View | Details | Raw Unified | Return to bug 24294
Collapse All | Expand All

(-)a/C4/Acquisition.pm (-6 / +18 lines)
Lines 3282-3299 sub FillWithDefaultValues { Link Here
3282
                    my @fields = $record->field($tag);
3282
                    my @fields = $record->field($tag);
3283
                    if (@fields) {
3283
                    if (@fields) {
3284
                        for my $field (@fields) {
3284
                        for my $field (@fields) {
3285
                            unless ( defined $field->subfield($subfield) ) {
3285
                            if ( $field->is_control_field ) {
3286
                                $field->update($defaultvalue) if not defined $field->data;
3287
                            }
3288
                            elsif ( not defined $field->subfield($subfield) ) {
3286
                                $field->add_subfields(
3289
                                $field->add_subfields(
3287
                                    $subfield => $defaultvalue );
3290
                                    $subfield => $defaultvalue );
3288
                            }
3291
                            }
3289
                        }
3292
                        }
3290
                    }
3293
                    }
3291
                    else {
3294
                    else {
3292
                        $record->insert_fields_ordered(
3295
                        if ( $tag < 10 ) { # is_control_field
3293
                            MARC::Field->new(
3296
                            $record->insert_fields_ordered(
3294
                                $tag, '', '', $subfield => $defaultvalue
3297
                                MARC::Field->new(
3295
                            )
3298
                                    $tag, $defaultvalue
3296
                        );
3299
                                )
3300
                            );
3301
                        }
3302
                        else {
3303
                            $record->insert_fields_ordered(
3304
                                MARC::Field->new(
3305
                                    $tag, '', '', $subfield => $defaultvalue
3306
                                )
3307
                            );
3308
                        }
3297
                    }
3309
                    }
3298
                }
3310
                }
3299
            }
3311
            }
(-)a/t/db_dependent/Acquisition/FillWithDefaultValues.t (-1 / +9 lines)
Lines 19-24 $biblio_module->mock( Link Here
19
    'GetMarcStructure',
19
    'GetMarcStructure',
20
    sub {
20
    sub {
21
        {
21
        {
22
            # default for a control field
23
            '008' => {
24
                x => { defaultvalue => $default_x },
25
            },
26
22
            # default value for an existing field
27
            # default value for an existing field
23
            '245' => {
28
            '245' => {
24
                c          => { defaultvalue => $default_author },
29
                c          => { defaultvalue => $default_author },
Lines 40-45 my $record = MARC::Record->new; Link Here
40
$record->leader('03174nam a2200445 a 4500');
45
$record->leader('03174nam a2200445 a 4500');
41
my @fields = (
46
my @fields = (
42
    MARC::Field->new(
47
    MARC::Field->new(
48
        '008', '1', ' ',
49
        '@' => '120829t20132012nyu bk 001 0ceng',
50
    ),
51
    MARC::Field->new(
43
        100, '1', ' ',
52
        100, '1', ' ',
44
        a => 'Knuth, Donald Ervin',
53
        a => 'Knuth, Donald Ervin',
45
        d => '1938',
54
        d => '1938',
46
- 

Return to bug 24294