@@ -, +, @@ can in apache 1) Apply this patch 2) Start your SIP server 3) Enable the syspref AllFinesNeedOverride 4) Find or create a patron with a small fine ( less than noissuescharge ) 5) Attempt to check out an item to the patron, it should fail 6) Add the global syspref override from the bottom of the example SIP config file 7) Restart your SIP server 8) Attempt to check out an item to the patron again, this time it should work 9) Now, add the login level syspref override section as it appears in the eaxmple SIP config file. Make sure to add it to the login you are using again fail --- C4/SIP/Sip/MsgType.pm | 13 +++++++++++++ etc/SIPconfig.xml | 12 ++++++++++++ 2 files changed, 25 insertions(+) --- a/C4/SIP/Sip/MsgType.pm +++ a/C4/SIP/Sip/MsgType.pm @@ -331,6 +331,19 @@ sub handle { my $config = $server->{config}; my $self; + # Set system preference overrides, first global, then account level + # Clear overrides from previous message handling first + foreach my $key ( %ENV ) { + delete $ENV{$key} if index($key, 'OVERRIDE_SYSPREF_') > 0; + } + foreach my $key ( keys %{ $config->{'syspref-overrides'} } ) { + $ENV{"OVERRIDE_SYSPREF_$key"} = $config->{'syspref-overrides'}->{$key}; + } + foreach my $key ( keys %{ $server->{account}->{'syspref-overrides'} } ) { + $ENV{"OVERRIDE_SYSPREF_$key"} = + $server->{account}->{'syspref-overrides'}->{$key}; + } + # # What's the field delimiter for variable length fields? # This can't be based on the account, since we need to know --- a/etc/SIPconfig.xml +++ a/etc/SIPconfig.xml @@ -57,6 +57,9 @@ + + 0 + @@ -97,4 +100,13 @@ in our case "ILS". retries="5" /> + + + + 0 + + --