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

(-)a/C4/Acquisition.pm (-6 / +18 lines)
Lines 3269-3286 sub FillWithDefaultValues { Link Here
3269
                    my @fields = $record->field($tag);
3269
                    my @fields = $record->field($tag);
3270
                    if (@fields) {
3270
                    if (@fields) {
3271
                        for my $field (@fields) {
3271
                        for my $field (@fields) {
3272
                            unless ( defined $field->subfield($subfield) ) {
3272
                            if ( $field->is_control_field ) {
3273
                                $field->update($defaultvalue) if not defined $field->data;
3274
                            }
3275
                            elsif ( not defined $field->subfield($subfield) ) {
3273
                                $field->add_subfields(
3276
                                $field->add_subfields(
3274
                                    $subfield => $defaultvalue );
3277
                                    $subfield => $defaultvalue );
3275
                            }
3278
                            }
3276
                        }
3279
                        }
3277
                    }
3280
                    }
3278
                    else {
3281
                    else {
3279
                        $record->insert_fields_ordered(
3282
                        if ( $tag < 10 ) { # is_control_field
3280
                            MARC::Field->new(
3283
                            $record->insert_fields_ordered(
3281
                                $tag, '', '', $subfield => $defaultvalue
3284
                                MARC::Field->new(
3282
                            )
3285
                                    $tag, $defaultvalue
3283
                        );
3286
                                )
3287
                            );
3288
                        }
3289
                        else {
3290
                            $record->insert_fields_ordered(
3291
                                MARC::Field->new(
3292
                                    $tag, '', '', $subfield => $defaultvalue
3293
                                )
3294
                            );
3295
                        }
3284
                    }
3296
                    }
3285
                }
3297
                }
3286
            }
3298
            }
(-)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