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

(-)a/C4/Ris.pm (-11 / +1 lines)
Lines 63-69 package C4::Ris; Link Here
63
use Modern::Perl;
63
use Modern::Perl;
64
64
65
use List::MoreUtils qw( uniq );
65
use List::MoreUtils qw( uniq );
66
use YAML::XS;
67
use Encode;
66
use Encode;
68
use vars qw(@ISA @EXPORT);
67
use vars qw(@ISA @EXPORT);
69
68
Lines 117-132 sub marc2ris { Link Here
117
    ## else: other MARC formats do not specify the character encoding
116
    ## else: other MARC formats do not specify the character encoding
118
    ## we assume it's *not* UTF-8
117
    ## we assume it's *not* UTF-8
119
118
120
    my $RisExportAdditionalFields = C4::Context->preference('RisExportAdditionalFields');
119
    my $ris_additional_fields = C4::Context->yaml_preference('RisExportAdditionalFields');
121
    my $ris_additional_fields;
122
    if ($RisExportAdditionalFields) {
123
        $RisExportAdditionalFields = "$RisExportAdditionalFields\n\n";
124
        $ris_additional_fields = eval { YAML::XS::Load(Encode::encode_utf8($RisExportAdditionalFields)); };
125
        if ($@) {
126
            warn "Unable to parse RisExportAdditionalFields : $@";
127
            $ris_additional_fields = undef;
128
        }
129
    }
130
120
131
    ## start RIS dataset
121
    ## start RIS dataset
132
    if ( $ris_additional_fields && $ris_additional_fields->{TY} ) {
122
    if ( $ris_additional_fields && $ris_additional_fields->{TY} ) {
(-)a/acqui/addorderiso2709.pl (-10 / +2 lines)
Lines 23-29 Link Here
23
23
24
use Modern::Perl;
24
use Modern::Perl;
25
use CGI qw ( -utf8 );
25
use CGI qw ( -utf8 );
26
use YAML::XS;
27
use List::MoreUtils;
26
use List::MoreUtils;
28
use Encode;
27
use Encode;
29
28
Lines 635-649 sub add_matcher_list { Link Here
635
634
636
sub get_infos_syspref {
635
sub get_infos_syspref {
637
    my ($syspref_name, $record, $field_list) = @_;
636
    my ($syspref_name, $record, $field_list) = @_;
638
    my $syspref = C4::Context->preference($syspref_name);
637
    my $yaml = C4::Context->yaml_preference($syspref_name);
639
    $syspref = "$syspref\n\n"; # YAML is anal on ending \n. Surplus does not hurt
638
640
    my $yaml = eval {
641
        YAML::XS::Load(Encode::encode_utf8($syspref));
642
    };
643
    if ( $@ ) {
644
        warn "Unable to parse $syspref syspref : $@";
645
        return ();
646
    }
647
    my $r;
639
    my $r;
648
    for my $field_name ( @$field_list ) {
640
    for my $field_name ( @$field_list ) {
649
        next unless exists $yaml->{$field_name};
641
        next unless exists $yaml->{$field_name};
(-)a/circ/pendingreserves.pl (-18 / +9 lines)
Lines 21-27 use Modern::Perl; Link Here
21
21
22
use constant PULL_INTERVAL => 2;
22
use constant PULL_INTERVAL => 2;
23
use List::MoreUtils qw( uniq );
23
use List::MoreUtils qw( uniq );
24
use YAML::XS;
25
use Encode;
24
use Encode;
26
25
27
use C4::Context;
26
use C4::Context;
Lines 106-127 if ( $op eq 'cancel_reserve' and $reserve_id ) { Link Here
106
            C4::Items::ModItemTransfer( $item->itemnumber, $item->holdingbranch, $item->homebranch, 'LostReserve' );
105
            C4::Items::ModItemTransfer( $item->itemnumber, $item->holdingbranch, $item->homebranch, 'LostReserve' );
107
        }
106
        }
108
107
109
        if ( my $yaml = C4::Context->preference('UpdateItemWhenLostFromHoldList') ) {
108
        my $assignments = C4::Context->yaml_preference('UpdateItemWhenLostFromHoldList');
110
            $yaml = "$yaml\n\n";  # YAML is anal on ending \n. Surplus does not hurt
109
        if ( $assignments  ) {
111
            my $assignments;
110
            eval {
112
            eval { $assignments = YAML::XS::Load(Encode::encode_utf8($yaml)); };
111
                while ( my ( $f, $v ) = each( %$assignments ) ) {
113
            if ($@) {
112
                    $item->$f($v);
114
                warn "Unable to parse UpdateItemWhenLostFromHoldList syspref : $@" if $@;
113
                }
115
            }
114
                $item->store;
116
            else {
115
            };
117
                eval {
116
            warn "Unable to modify item itemnumber=" . $item->itemnumber . ": $@" if $@;
118
                    while ( my ( $f, $v ) = each( %$assignments ) ) {
119
                        $item->$f($v);
120
                    }
121
                    $item->store;
122
                };
123
                warn "Unable to modify item itemnumber=" . $item->itemnumber . ": $@" if $@;
124
            }
125
        }
117
        }
126
118
127
    } elsif ( not $item ) {
119
    } elsif ( not $item ) {
128
- 

Return to bug 33431