Koha/C4/SIP
Jonathan Druart 51aa6db46c Bug 12001: Move GetMemberAccountRecords to the Koha namespace
The GetMemberAccountRecords may be a perf killer, it retrieves all the
account lines of a patron and then the related item and biblio
information.
Most of the time we only want to know how much the patron owns to the
library (sum of amountoutstanding). We already have this information in
Koha::Patron->account->balance.

This patch replaces the occurrences of this subroutine by fetching only
the information we need, either the balance, the detail, or both.
It removes the formatting done in the module, to use the TT plugin
'Price' instead.
There is a very weird and error-prone behavior/feature in
GetMemberAccountBalance (FIXME): as the accountlines.accounttype is a
varchar(5), the value of the authorised value used for the
ManInvInNoissuesCharge pref (category MANUAL_INV) is truncated to the 5
first characters. That could lead to unexpected behaviors.

On the way, this patchset also replace the GetMemberAccountBalance
subroutine, which returns the balance, the non issues charges and the
other charges. We only need to have the balance and the non issues
charges to calcul the third one.

Test plan:
Add several fees for a patron and play with HoldsInNoissuesCharge,
RentalsInNoissuesCharge and ManInvInNoissuesCharge.
The information (biblio and item info, as well as the account line) must
be correctly displayed on the different screens: 'Fines' module, fine
slips, circulation module

Note that this patchset could introduce regression on price formatting,
but will be easy to fix using the TT plugin.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2018-02-23 10:57:30 -03:00
..
ILS Bug 12001: Move GetMemberAccountRecords to the Koha namespace 2018-02-23 10:57:30 -03:00
Sip Bug 16899: Add ability to disallow overpayments 2017-10-27 14:10:29 -03:00
t Bug 18432 : Follow up - Updating to use they/them 2017-04-21 10:56:43 -04:00
acstest.py adding openncip / opensip SIP2 service 2007-11-06 06:32:53 -06:00
example_institution_dump.sh Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
ILS.pm Bug 10748: (QA follow-up) Add comment in SIP's do_checkin 2017-11-08 11:07:48 -03:00
ILS.pod Bug 13506 [QA Follouwp] - Fix POD 2015-02-20 11:54:41 -03:00
interactive_item_dump.pl Bug 17196: Move marcxml out of the biblioitems table 2017-01-13 13:49:26 +00:00
interactive_patron_check_password.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_patron_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_renew_all_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
Makefile bug 3435: SIP2 - 3M extension for SmartChute checkin. 2009-07-30 11:06:53 -04:00
README bug 2509: fix file permissions 2008-08-21 18:55:02 -05:00
Sip.pm Bug 15006 Correct indentation of EXPORTs in Sip.pm 2016-07-15 14:11:05 +00:00
SIPServer.pm Bug 15006: [QA Follow-up] Only handle login requests in raw_transport 2016-07-15 14:11:06 +00:00
test.txt updating ILS::Patron for Koha. 2007-11-06 06:32:55 -06:00
xmlparse.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00

README for Open NSIP 3M-SIP Server

DEPENDENCIES

SIPServer is written entirely in Perl, but it require these CPAN
perl modules to run:

     Net::Server - The SIP server is a Net::Server::Prefork server
     XML::LibXML
     XML::Parser
     XML::Simple - for parsing the config file
     UNIVERSAL::require - for loading the correct ILS interface module
     Clone - for running the test cases

LOGGING

SIPServer uses syslog() for status and debugging messages.  All
syslog messages are logged using the syslog facility 'local6'.
If you need to change this, because something else on your system
is already using that facililty, just change the definition of
'LOG_SIP' at the top of the file SIPServer.pm

Make sure to update your syslog configuration to capture facility
'local6' and record it.