Commit graph

269 commits

Author SHA1 Message Date
Galen Charlton
2291c217fb Bug 9394: (follow-up) stylistic tidying
- fix identation in one line
- remove a commented-out warn

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-24 05:04:57 +00:00
53fbfa2dde Bug 9394: Use reserve_id where possible
This patch switches from using a combination of
biblionumber/borrowernumber to using reserve_id where possible.

Test Plan:
1) Apply patch
2) Run t/db_dependent/Holds.t

Signed-off-by: Maxime Pelletier <maxime.pelletier@libeo.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-24 05:04:55 +00:00
Adrien Saurat
b2b0785caa Bug 9838: fix on 04patron_status.t
Some patron infos were hard coded instead
of using the variables defined in SIPtest.pm

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-04-02 08:30:21 -04:00
Adrien Saurat
58494beb79 Bug 9343: handles the new format of Debarred
The debarred status in DB switched from a boolean to a date.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Correctly pulls debared flag instead of debarment date.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-01-22 20:01:06 -05:00
Colin Campbell
7e7b3731dc Bug 8433 Remove unused 'use English'
Adding a use English to mosules which dont may
waste a few CPU cycles and bytes of storage
but doesnt add anything to the sum of human happiness

Remove unnecessary use English's
Removed already commented out but equally unnrcessary
use Exporter in same modules

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-01-13 08:42:50 -05:00
Colin Campbell
570372b24e Bug 8125 Sip addess should include all address fields
Expansion of Liz Rea's original patch
Bug report specifically mentioned lack of the
Zip/Postal code but all used address fields should
be included. Moved the address
generation to its own sub.
Hopefully using an if else will read more clearly than
the original ternary operator proved to be

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-19 07:59:53 -05:00
Paul Poulain
049d74dd66 Bug 8039 follow-up: replace tabs by 4 spaces (QA process)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-13 10:40:14 -05:00
Srdjan
861a191cd9 Bug 8039: Try userid if cardnumber borrower search fails in SIP
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-13 10:40:03 -05:00
Colin Campbell
827ef0e83c Bug 8429: Remove unnecessary use of Exporter from SIP/ILS
All the modules in the SIP/ILS tree are objects
The addition of calls to Exporter or hand manipulation of
@ISA added unnecessary bloat
Removed the "self = shift or return" idiom  as it is nonsensical
if the method can only be called via an object.
standardized inheritance via use parent
added a $self = shift in a couple of places where it
was not strictly necessary as its absence seemed to have
misled readers in the past

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-11-30 17:50:10 -05:00
Colin Campbell
537c746dc4 Bug 7751: Decrease Loans for Items in Demand for Holds
Rebase and merge based on Mark Gavillet's patch to reduce
the loan period given to items on renewal when they are
in high demand for holds

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-09-18 19:01:14 +02:00
Paul Poulain
b08cf71f53 Bug 8336 follow-up, tabs to space 2012-09-18 11:23:42 +02:00
Colin Campbell
c5d1d9b623 Bug 8336 Support Sip Renewal Transaction
Renewals were being rejected for incorrect reasons
Checking was being done against the wrong object
Add more informative messages on failure
Correctly set due_date for renewal response
Avoid crashing the SIPServer because it handles RenewAll
incorrectly

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-18 11:22:03 +02:00
Colin Campbell
8e485c6112 Bug 8271 teach SIPServer.pm to set its own lib path
SIPServer.pm requires that C4/SIP is added to its lib
path This has been done by passing this directory
to it via -I. By using FindBin it can set the path
for itself correctly. This will also work if the C4/SIP
directory tree is moved to a non-standard location
Removed the now redundant -I. from sip_run.sh

Added a variable to sip_run.sh for the koha tree to
highlight a problem with the script if you have multiple
directories in the PERL5LIB environment variable

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-06 18:28:11 +02:00
Marc Balmer
078ce11e11 Bug 7787: Make the SIP server much more robust.
Be liberal in what we accept, but strict in what we send:
Never exit the server process, but send a SC_RESEND message (96)
to the client if we received anything we don't understand.
 This is consistent with SIP server implementations of other ILSs.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-06 15:37:37 +02:00
Colin Campbell
da49eeb8f9 Bug 7619 Use CRLF as default terminator
Most units require or tolerate CRLF as the terminator
Using only \r causes many including 3M units to signal errors
due to delay this resets CRLF to be default but adds a single
constant variable and explanation so that if you have a
"strictly conforming" unit (the 'Baby' is the only I have encountered
you know where to make the change

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-06 11:15:05 +02:00
Colin Campbell
9929c52a57 Bug 8216: Allow SIP modules to pass critic tests
Add C4/SIP to perlcritic tests. Fix those issues that were
generating perlcritic errors

Signed-off-by: Stacey Walker <stacey@catalyst-eu.net>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-20 11:14:00 +02:00
Chris Cormack
509d673f10 Bug 7941 : Fix version numbers in modules
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 17:29:38 +02:00
Colin Campbell
dbd2713ff0 Bug 3638 : Captured Holds may need to generate a transfer
If a discharged item is captured for a hold at another branch
the selfcheck should generate a branchtransfer for it.
This was complicated as the checkin routine was setting its own
location from a field not set in many scm machines (e.g. 3M)
also in ILS::Transaction the test for location was incorrect
assuming that an empty string or undefined was a valid location

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-05 16:11:18 +02:00
Colin Campbell
0006fed162 Bug 3638 Self Check Should Capture Hold Items
Shelf Check was receiving messages saying item was wanted
for a hold but the item was discharged to the shelf
not associated with the hold or transited to
the pickup location. The message was also being sent
on discharge of items when a suitable item had already
been captured.
Checkin now associates the item with the hold and sets
the appropriate data for a correct checkin response

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-06-05 16:11:17 +02:00
Colin Campbell
78938e685c Bug 6335 Set branch in sip session
The server returns its branch as the institution in the config file
However in transactions it will default to the homebranch of the
sip user which may not be consistent with that. Needs to set branch
in the session if there is a value in config otherwise statistics and
behaviour can be wrong (esp in discharge)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-11 11:15:06 +02:00
Colin Campbell
31a3a7ed93 Bug 5549 : Sip scripts should handle dt due dates 2012-03-20 13:21:11 +13:00
Colin Campbell
3b5ac7543a Bug 5549 : Let Timestamp do the right thing if passed a DateTime 2012-03-20 13:20:54 +13:00
Colin Campbell
766b60e5b3 Bug 7454 Initialize return arrays in ILS/Transaction/RenewAll
Explicitly clear these arrays and update them directly.
In practice item numbers were already in them when called
so that more items were being returned than were actually
renewed (or failed)

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Functionally sound patch, and tested in production

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-21 17:35:56 +01:00
Srdjan Jankovic
2041f2c973 bug_7090: AllowItemsOnHandCheckout syspref
Observe AllowItemsOnHandCheckout syspref when using SIP self checkout

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
To test:
* place an item on hold for patron A
* attempt to circulate that item to patron B (via SIP/selfcheck)
	syspref off: item should not circulate to patron B
	Syspref On: item should circulate to patron B

Both conditions passed in our testing.
Also verified that normal staff client behavior regarding this situation was preserved. It was.
2012-02-10 19:28:25 +01:00
Chris Cormack
43b3fb9701 Bug 7238 : Shifting SIPconfig.xml to the etc dir and the scripts to misc/bin
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
The scripts run with the caveat that you must specify the path to SIPconfig.xml. The followup previously attached should take care of that issue.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-03 15:15:22 +01:00
Liz Rea
866bb561dc Bug 7238 Followup - fix sip_run to require path to SIPconfig.xml
This requires Chris C's patch to move the scripts to the new location outside of C4.

To test:
run sip_run.sh with no arguments - it should fail with a message to add the path and try again.

Run sip_run.sh with a path to a valid SIPconfig.xml - it should start and run.
2012-02-03 15:15:19 +01:00
JAMES Mason
b0a4233366 Bug 6466 - hung socket read causes SIP tests to fail
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-17 16:16:09 +01:00
Ian Walls
000047769f Bug 7396: Debarred message not showing over SIP2
Corrects typo in list of flags; was DEBARRED, but the actual name of the flag is
DBARRED (for some reason)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-13 12:17:04 +01:00
a2ee6443b9 Bug 3704: SIP Checkin of not checked out item returns error without reason
Checking in an available item returns an error (which is correct) without
giving a reason for the failure as screen_msg (aka AF field in SIP2 is empty).

Based on code suggested by Patrick Langer <patrick.langer@easycheck.org>

Signed-off-by: Ulrich Kleiber <ulrich.kleiber@bsz-bw.de>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-22 19:39:29 +12:00
Colin Campbell
f9ccfae400 Bug 6620 Ensure autoflush is set on output filehandles
stdout is by default buffered and a flush is only guaranteed on CR
Sip responses are not CR terminated so we need to ensure autoflush
is switched on  so that the filehandle is flushed after a print
Otherwise this can manifest as self checks running slow or
failing due to timeout (although in the log we see the response)

Signed-off-by: Ulrich Kleiber <ulrich.kleiber@bsz-bw.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-14 21:40:45 +12:00
Colin Campbell
6c0962f06b Bug 5605 [ENH] SIP: Add Support for the Fee Paid Message
Allow fee paid to be supported for those machines which handle it

Development Sponsered by Halton Borough Council

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-07 08:56:15 +12:00
Ulrich Kleiber
8a7c916766 Bug 6765: sip2 unicode checksum
Changes checksum calculation method, as per Dan Scott's fix in openncip.
see http://sourceforge.net/tracker/?func=detail&aid=2925760&group_id=161781&atid=821216

http://bugs.koha-community.org/show_bug.cgi?id=6765
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-27 19:38:32 +12:00
Colin Campbell
e793b0dda6 Bug 6311 check_inst_id was being passed non-existent value
Due to a typo in the hash key check_inst_id in the
handle_end_patron_session was always logging an error
as the actual field contents were not being checked
unlike in other messages

Signed-off-by: Frederic Demains <frederic@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-01 15:17:12 +12:00
Katrin Fischer
21727e00f5 Bug 5422: Separate state field for patron's addresses
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-09 11:52:07 +12:00
Chris Cormack
93ffca4eef Merge remote branch 'kc/new/bug_5586' into kcmaster 2011-01-24 07:21:47 +13:00
Colin Campbell
d4842d4560 Bug 5601 Fix processing of DueDate return
item duedate is not a datetime entity but a string retrieved
direct from the db that only needs restructuring
checkout was doing so but item_info was pretending it was in secs
(actually Item.pm manipulated then overwrote it!!)
assume the date in the db is correct (otherwise madness ensues)
dont try to second guess it
As duedates do not yet include a time element assume end of day
as a safety first

[F. Demians] I confirm Joe Atzberger diagnostic. That's a bug reported by a
library. I've tested Colin Campell solution. It fixes the bug.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-01-12 19:30:25 +13:00
Joe Atzberger
3480ae1cac Bug 5586: Set SIP line-endings to proper SPEC-compliant \r
Line-endings have been a longstanding problem because
of variations in implementations.  But we should still try
to default to the correct thing.

This harmonizes part of Koha's SIP code with the current
SIPServer version, used in common with Evergreen.  Repo at:
    https://github.com/atz/SIPServer

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-01-07 10:05:11 +13:00
Andrew Elwell
9fa574f609 Bug 5385: POD Cleanups (part 1)
working through the master branch to eliminate all
podchecker warnings/errors

Actual improvement to the quality of the POD will
come later (hopefully with assistance of others)

Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-12 10:06:55 +13:00
Lars Wirzenius
d06333fb9d Convert to UTF-8.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-06 17:58:39 -04:00
Donovan Jones
a7cf73fc7c Bug 2505 - Add commented use warnings where missing in the C4/ directory 2010-04-21 20:25:32 +12:00
Colin Campbell
142cccdc4c Bug 4361 Return Patron Expired to Sip Process
Identify Patron Expiry so that it is returned in Patron Info Response

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-07 06:56:31 -04:00
Colin Campbell
590514ca12 Bug 4364 - SIP Checkout dates incorrect
Change timestamp routine to do the right thing when passed an iso date
Otherwise was generating an epoch date of 0

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-07 06:56:27 -04:00
Henri-Damien LAURENT
ce4a85f0db SIP Patron management
Using Flag EXPIRED to notice whether Patron CAN or CANNOT checkout a book

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-07 06:56:24 -04:00
Colin Campbell
f7f3dadd2e Bug 2653 Protect against sending End of Message in Text
Remove any carriage returns in text data as they will be
interpreted as end of message by clients and cause communication failure

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-07 06:54:18 -04:00
Colin Campbell
f4b3c131dc Bug 3723 Correct return of Institution in Patron Info Resp
While the comment correctly notes that the order of variable length
fields is not fixed some units expect mandatory fields to
follow the sequence in the protocol definition and fail
parsing otherwise. Moved institution id to its expected
place in the patron information response.

Indented the first half of the if (patron_valid) so its clearer
that two cases are handled here.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 21:22:29 -05:00
Colin Campbell
1deaecb6d8 (Bug 3767 - Return error if checkin passed an invalid item
If an invalid item barcode is passed to checkin
the sip2 connection dies. This is because although
no item object is created its mehods are called in Checkin
To maintain the connection properly catch the condition
and return the correct response to the unit
(should also fix Bug #3696 )

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 21:19:01 -05:00
Colin Campbell
55e9ac2ad3 Bug 3697 Return due date (SIP Field AH) in item info
Although the due date of an on loan item was being retrieved
the appropriate field in the Item object was not set
causing the due date not to be returned in the item
information response

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 10:13:43 -05:00
Colin Campbell
e321fc9184 Bug 4108 Catch cases when GetMember is generating errors
Fixed two calls where new interface was not used
Arguably new syntax allows more options than we require but it was not catching
error cases (when 0 or undef is passed). It also can now be called in ways
which would validly return multiple hits but explicitly does not
(nor does calling code expect this)
This patch should quieten the flood of errors

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-05 07:57:26 -05:00
Colin Campbell
52c3a85320 Bug 4088 Due Date Not formated in checkout response
due date was not being formatted as a timestamp
but being passed as epoch seconds

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-02 18:46:01 -05:00
b713484682 Bug 3815: SIP2 Invalid Item Information Response 18
With this patch Koha SIP2 server send back a valid Item Information
Response for issued items: ie with due date in the response.
2010-01-28 15:14:52 +01:00
fca7926374 Bug 3814: SIP2 Server logging doesn't work on OpenSolaris
This patch put in SIPconfig.xml SIP2 server logging parameters. This is
way it's possible to modify where SIP2 logs are sent. And fix
OpenSolaris bug.

WARNING: After an upgrade, installation using a custom SIP2 server
config file will need to copy default SIPconfig.xml added section:

<!--
  Set Net::Server::PreFork runtime parameters
  syslog_ident will identify SIP2 Koha server entries in syslog
  For OpenSolaris, add: syslog_logsock=stream
-->
  <server-params
    min_servers='1'
    min_spare_servers='0'
    log_file='Sys::Syslog'
    syslog_ident='koha_sip'
    syslog_facility='local6'
  />
2010-01-28 15:14:52 +01:00
9d1a31c7f6 Bug 3813: SIP2, Bad Patron Information Response to Message 64
This fix returns item's barcodes in AU fields
2010-01-28 15:14:52 +01:00
Henri-Damien LAURENT
4271bbb738 Modifying Members : Add Mod and GetMember
This update the way Member is added and editing so that import and Edition
 could be best automatized
GetMember evolves and allow ppl to serach on a hash of data

Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:29:23 +02:00
Katrin Fischer
c36098e316 Bug 3464: Added altcontactcountry and B_address2 to borrowers and deletedborrowers
- added altcontactcountry and B_address2 to tables borrowers and deletedborrowers so that all addresses offer the same fields
- changed B_country and country to work with syspref BorrowerMandatoryField
- changed display of Alternate Address on borrower detail page, added labels, lines and edit button to match the other sections

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-06 10:01:51 -04:00
Colin Campbell
c4d833148d Return barcode as Sip hold_patron_id
Behave consistently with other patron_ids as many sip clients
use this in a subsequent patron information or patron status request

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-06 09:01:27 -04:00
Michael Hafen
74a4f29236 Allow the reserve date to be set on holds
This adds to the interface and code the ability to set the reserve date when
requesting a hold.

Resubmit.  Sorry, I formatted it from the wrong branch.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-11 18:02:26 -04:00
Joe Atzberger
d24d147831 bug 3435: SIP2 - 3M extension for SmartChute checkin.
Implement the optional fields: CR CS CT CV CY and DA.
Also silenced some outstanding debugging print statements.
Consolidated similar accesseor subs in Patron.pm to use x_items.
Adjust SIP tests to specify correct AP (location).  Add a 3rd item
to SIPtext.pm for later use.

Note CT (destination) is currently populated with destination branch code.
We can adjust that to be destination branch name, or some combination in
a subsequent patch if necessary.

This work was sponsored by the Northeast Kansas Library system.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-30 11:06:53 -04:00
Joe Atzberger
08816bab07 bug 3435: SIP Checkin extension for 3M SmartChute - partial
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-30 11:06:47 -04:00
Galen Charlton
06bc2468ba check $debug to print debug info only when wanted
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-22 10:15:29 -04:00
Joe Atzberger
21725c3a2c 3M SIP2 Extensions groundwork and Patron Info popoulation
This includes some initial work for the 3M SIP2 extensions.
It also better populates the Patron object with methods for
a fuller Patron Information Reponse.  This is positively affect
EnvisionWare software, as used by NEKLS.

This work was sponsored by the Northeast Kansas Library System.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-22 10:14:49 -04:00
Joe Atzberger (siptest
ddc6310673 Functional SIP run and shutdown scripts. Update example SIPconfig.xml
Note the shutdown script is quick and dirty, and probably
platform (debian) specific.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-24 09:00:50 -05:00
Joe Atzberger (siptest
01ec1e0a3d Expand interactive SIP tests.
Also tweak interactive item dump to suppress huge fields (marc, marcxml).

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-17 11:42:44 -05:00
Joe Atzberger
3f54fb1961 Bug 2968 - SIP ACS_STATUS message (98) misreported config.
The *_ok methods in ILS.pm were targeting the wrong depth.
This also resolves a longstanding FIXME on to_bool() warning like:
    Argument "\x{66}\x{61}..." isn't numeric in numeric ne (!=) at /ILS.pm line 94.

The example_institution_dump.sh essentially provides the proof test case for this patch.
Run it before/after on SIPconfig.xml where "MAIN" has checkout="true" and checkin="true".

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-26 14:57:22 -06:00
Joe Atzberger
c70cd87d54 Bug 2900: fix GetPendingIssues.
GetPendingIssues did several bad things:
~ select * on a 4 table join,
~ including multiple namespace collisions,
~ including large fields marc and marcxml from biblioitems,
~ return ($count, \@array_being_counted).

Not everything is fixed here (see FIXMEs), but the situation is
improved considerably, with bug 2900 resolved.  The "timestamp"
namespace collision in query should be resolved by separate patch.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-01-08 11:08:27 -06:00
Joe Atzberger (siptest
72583589ca Allow SIP checkout to pre-empt unfilled holds.
This affects transactions on items that may be covered by
a title or item-level hold, but have not yet been retrieved
from the stacks (i.e. "confirmed") by the librarian. This does
not affect waiting holds (found="W"), so they will still block
transaction unless they belong to the operating patron.

Also I cleanup any hold the patron has on a biblio/item when
they are allowed to checkout the item.
Here we are filling the hold because the checkout is allowed, regardless
of of the queue position.  This is different from AddIssue's CancelReserve, that
only fills the hold if it is next in line, but in the future AddIssue should
adopt a similar logic.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-11-04 14:40:38 -06:00
Joe Atzberger (siptest
8c2e5cc3aa followup - make barcode_to_borrowernumber an internal function
Set this function apart with _ since it is not OO like the rest.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-11-04 14:40:34 -06:00
Galen Charlton
e15c3b1b09 followup - make barcode_to_borrowernumber() work as named
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-14 13:10:57 -05:00
Joe Atzberger (siptest
9bef3f6cf0 SIP Holds processing on checkout
Allow valid comparison of hold_queue to current user barcode and
permit checkout if the current user is at the front of the queue.
Effectively, this allows a user to checkout a book he has held.
Here are the example checkout (11) and checkout response (12)
statements in a SIP telnet session, showing failure (120) previously
and success (121) after patch application.
Before:
11YN20060329    203000                  AOCPL|AA1|AB502326000820|ACterm1
120NUN20081009    140222AOCPL|AA1|AB502326000820|AJKidnapped :|AH|AF2008-10-09 : Koha Admin (1)|BLY|
After:
11YN20060329    203000                  AOCPL|AA1|AB502326000820|ACterm1
121NNY20081009    150204AOCPL|AA1|AB502326000820|AJKidnapped :|AH2008-10-10|AFItem was reserved for you.|

This patch also resolves security/privacy issues related to the display
of "needsconfirmation" values that identify, for example, the user
currently issued an item, or with a hold on the item.  These messages
should not be passed to an end-user interface.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-14 13:02:51 -05:00
Joe Atzberger
9c811d13be Revising the stub for ILS/Transaction/FeePayment.pm
Obviously more implementation is needed.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-26 09:07:22 -05:00
Joe Atzberger (siptest
bd0ef37c24 Bugs 2541 and 2587 - AddIssue must return date object as intended.
SIP actually relied on the AddIssue return that was not reliable.
AddRenew also updated to return C4::Dates object for datedue.

Please note, any running SIPServer will have to be restarted
*immediately* after applying this patch, because although Koha
C4 behaves as normal, the SIP server runs as a Net::Server with
components cached.  Changes will not be applied until SIPServer
restarts, and so checkout actions may fail until then.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-11 08:06:04 -05:00
Joe Atzberger (siptest
288bbecf2f Correct application of noissues flag in SIP.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-09-09 10:52:44 -05:00
Joe Atzberger
a01f4056f1 Minor SIP cleanup, conditionalize warnings.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-27 09:55:00 -05:00
Galen Charlton
a670f1817e bug 2509: fix file permissions
Following suggestion by Vincent Danjean for Debian
packaging, 0755 -> 0644 for non-executable
files.

Also removed shebang from a few modules in C4.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-21 18:55:02 -05:00
Vincent Danjean
c52357edc6 Still fixing permission and first line of scripts
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-20 20:23:54 -05:00
Joe Atzberger
49bf046701 Prevent compilation errors from complex C4 import/export.
SIP code uses UNIVERSAL modules that do not tolerate the circular deps in
C4, specifically, in Auth.pm.  Changing the order so that UNIVERSAL follows
the other imports is important to avoiding failures like:
  perl -w -e 'use UNIVERSAL qw(can); use C4::Auth;'
    "MarkIssueReturned" is not exported by the C4::Circulation module

This patch should resolve the problem earlier seen with Shelves too.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-18 07:15:39 -05:00
Andrew Moore
dde4051f1b Bug 2400 [18/18]: fixing pod syntax in C4/SIP/Sip/MsgType.pm
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-12 19:43:24 -05:00
Andrew Moore
ab13ef3535 Bug 2400 [17/18]: fixing pod syntax in C4/SIP/ILS/Item.pm
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-12 19:43:06 -05:00
Andrew Moore
0b49401746 Bug 2400 [16/18]: fixing pod syntax in C4/SIP/ILS/Patron.pm
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-12 19:42:59 -05:00
Joe Atzberger (siptest
99efcf83f0 Interactive tests for SIP abstraction representation and Members.
The test for members is useful to compare against the SIP (ILS)
representation.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-25 11:45:30 -05:00
Joe Atzberger (siptest
3e7013d174 Bugfix Circulation, Expand ILS::Patron mapping.
ILS::Patron is where most of the intelligence for SIP's representation
is lodged.  Currently there is difficulty with C4::Members functions.
GetMemberDetails is required for the needed flags, but it returns
empty structure on bad barcodes, where it should be undef.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-25 11:45:29 -05:00
Joe Atzberger (siptest
5aecb46ad0 SIP - Lots of regexp hacking of input streams and verbose debugging feedback.
The basic problem is that the SIP logic doesn't know where the
input is coming from.  It might be a RAW socket, and it might
be telnet.  If it is telnet, although the specs declare a
character set (from MS, unfortunately), they do not specify a telnet
implementation.  So you might get telnet handshaking or
renegotiations in the middle of an otherwise peaceful session and
these should not be taken as SIP commands.  Patches include a move
towards using $CRLF from Socket to avoid problems w/ foreign platform
mapping \n and \r to \015 or \012.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:42 -05:00
Joe Atzberger (siptest
1a46bc1218 Interactive debugging aides for SIP abstraction layer.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:44 -05:00
Joe Atzberger (siptest
5f9a539104 Major SIP components reworked.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:43 -05:00
Joe Atzberger (siptest
56cf70e52d Expanded SIP config file.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:41 -05:00
Joe Atzberger (siptest
5671608e13 Object oriented module is not an Exporter.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:40 -05:00
Joe Atzberger (siptest
910e13c4ad Add debugging around readline.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:39 -05:00
Joe Atzberger (siptest
dd06b59fdc SIP tests for renew and renew_all.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:38 -05:00
Joe Atzberger (siptest
84ba43c32e Debugging util. script for SIP config XML.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:38 -05:00
Joe Atzberger (siptest
53576bbb19 Tweak verify_cksum.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:37 -05:00
Joe Atzberger (siptest
4c42971c6e SIP abstraction layer implementation for ILS, Items and Patrons.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:36 -05:00
Joe Atzberger (siptest
6750a1b250 Abstraction layer implementation for Transactions.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:35 -05:00
Joe Atzberger (siptest
3ca5e017bc Add check to resensitize sub.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:34 -05:00
Joe Atzberger (siptest
2cc75039d8 Object oriented module is not an Exporter. 2 subs added, also.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:31 -05:00
Joe Atzberger (siptest
ba673bcc43 Correct package name.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:30 -05:00
Joe Atzberger (siptest
926e6135e5 Object Oriented module is not an Exporter.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:28 -05:00
Joe Atzberger (siptest
9ddb0afc66 Add do_renew_all function, necessary for implementation.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:27 -05:00
Joe Atzberger (siptest
1d821fe51a Whitespace cleanup and one commented-out function added.
Verify with: git diff -w  C4/SIP/Sip/Configuration.pm

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:26 -05:00
Joe Atzberger (siptest
07e51faa9b Trivial POD revision.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:25 -05:00
Joe Atzberger (siptest
3f8e8e06f3 SIP/t - test files adapted, supplemented, expanded. Note: requires matching data to be loaded.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:24 -05:00
Joe Atzberger (siptest
b9b4c5f963 SIP/koha_test - remove duplicative tests
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:43:23 -05:00
Chris Cormack
ef6b767117 Changing CanBookBeRenewed to pass back the reason a renewal cannot proceed
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-08 16:13:20 -06:00
Joe Atzberger
199daed4ed Sip.pm - BEGIN block VERSION and vars related to export.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 20:02:43 -06:00
Joe Atzberger
68cdeccfe7 SIPServer.pm - BEGIN block VERSION and vars related to export.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 20:02:42 -06:00
Galen Charlton
9d4d8897b2 item rework: various changes
* Move CheckItemPreSave to C4::Items (from C4::Biblio)
* Modified C4::Biblio::AddBiblioAndItems to use appropriate
   internal routines from C4::Items
* Moved GetItemnumberFromBarcode to C4::Items
* Removed duplicate C4::Biblio::_koha_new_items
* Removed disused C4::Biblio::MARCitemchange

Currently AddBiblioAndItems is a special routine that
uses private subs from both C4::Biblio and C4::Items.
This needs to be refactored.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 16:25:42 -06:00
Joe Atzberger
377db43117 C4 and misc: permissions fixes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-13 19:00:34 -06:00
Ryan Higgins
cb1ec158c0 Adding calendar widget to circulation/stickyduedate
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-20 16:27:25 -06:00
Chris Cormack
51172422fe Tweaking test
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:23 -06:00
Chris Cormack
ca1d6576c5 SIP returns (checkin) working now
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:17 -06:00
Chris Cormack
117f261571 You can return items now BUT we need to get the branch to do this properly
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:11 -06:00
Chris Cormack
141cdbb3a3 Can check an item out now
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:08 -06:00
Chris Cormack
cc67a70f10 Work in progress on the SIP code
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:04 -06:00
Ryan Higgins
a10cb962ff updating test data for Koha system
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:03 -06:00
Ryan Higgins
3b246d26af more koha and data specific tests.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:02 -06:00
Ryan Higgins
96c66ecf5e tiny cleanup
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:33:00 -06:00
Ryan Higgins
5c67b4e51a rm swp
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:32:59 -06:00
Ryan Higgins
e22429c53e continue getmember
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:32:58 -06:00
Ryan Higgins
b47c02a154 adding koha-specific / data specific test cases
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:32:57 -06:00
Ryan Higgins
cca508bbed updating ILS::Patron for Koha.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:32:55 -06:00
Ryan Higgins
7b9b36bd2e adding openncip / opensip SIP2 service
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-06 06:32:53 -06:00