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

(-)a/misc/maintenance/update_opac_suppression.pl (-15 / +22 lines)
Lines 47-52 GetOptions( Link Here
47
pod2usage(1) if $want_help;
47
pod2usage(1) if $want_help;
48
pod2usage("Parameter marc is mandatory") unless $os_marc_input;
48
pod2usage("Parameter marc is mandatory") unless $os_marc_input;
49
49
50
$| = 1; # flushes output
51
50
sub _read_marc_code {
52
sub _read_marc_code {
51
    my $input = shift;
53
    my $input = shift;
52
    my ( $field, $subfield );
54
    my ( $field, $subfield );
Lines 129-145 my $count_modified = 0; Link Here
129
131
130
while ( my ($biblionumber) = $query->fetchrow ) {
132
while ( my ($biblionumber) = $query->fetchrow ) {
131
    $count_total++;
133
    $count_total++;
132
    my $biblio = Koha::Biblios->find($biblionumber);
133
    unless ($biblio) {
134
        warn "Error in biblio $biblionumber : not found";
135
        next;
136
    }
137
    my $marc_record = $biblio->metadata->record;
138
    unless ($marc_record) {
139
        warn "Error in biblio $biblionumber : can't parse record";
140
        next;
141
    }
142
    eval {
134
    eval {
135
        my $biblio = Koha::Biblios->find($biblionumber);
136
        unless ($biblio) {
137
            say "Error with record biblionumber=$biblionumber : not found";
138
            next;
139
        }
140
        my $marc_record = $biblio->metadata->record;
141
        unless ($marc_record) {
142
            say "Error with record biblionumber=$biblionumber : can not parse record";
143
            next;
144
        }
143
        my $os_new_value = _get_new_value( $biblio, $rules );
145
        my $os_new_value = _get_new_value( $biblio, $rules );
144
        my $os_old_value = _get_old_value( $marc_record, $os_field_input, $os_subfield_input );
146
        my $os_old_value = _get_old_value( $marc_record, $os_field_input, $os_subfield_input );
145
        if ( $os_new_value != $os_old_value ) {
147
        if ( $os_new_value != $os_old_value ) {
Lines 148-166 while ( my ($biblionumber) = $query->fetchrow ) { Link Here
148
                C4::Biblio::ModBiblio( $marc_record, $biblionumber, $biblio->frameworkcode, { disable_autolink => 1 } );
150
                C4::Biblio::ModBiblio( $marc_record, $biblionumber, $biblio->frameworkcode, { disable_autolink => 1 } );
149
                $count_modified++;
151
                $count_modified++;
150
                if ($verbose) {
152
                if ($verbose) {
151
                    say "Bibliographic record $biblionumber changed to " . ( $os_new_value ? "hidden" : "visible" ) . " in OPAC";
153
                    say "Record biblionumber=$biblionumber changed to " . ( $os_new_value ? "hidden" : "visible" ) . " in OPAC";
152
                }
154
                }
153
            } elsif ($verbose) {
155
            } elsif ($verbose) {
154
                say "Bibliographic record $biblionumber would have been changed to " . ( $os_new_value ? "hidden" : "visible" ) . " in OPAC";
156
                say "Record biblionumber=$biblionumber would have been changed to " . ( $os_new_value ? "hidden" : "visible" ) . " in OPAC";
155
            }
157
            }
156
        }
158
        }
157
    };
159
    };
158
    if ($@) {
160
    if ($@) {
159
        warn "Problem with biblio $biblionumber : $@";
161
        say "Error with record biblionumber=$biblionumber : not processed";
162
    }
163
    if ($verbose) {
164
        say "$count_total records processed" unless $count_total % 1000;
160
    }
165
    }
161
}
166
}
162
167
163
say "$count_total records processed, $count_modified modified" if $verbose;
168
if ($verbose) {
169
    say "Total $count_total records processed";
170
    say "Total $count_modified modified" if $confirm;
171
}
164
172
165
=head1 NAME
173
=head1 NAME
166
174
167
- 

Return to bug 31035