Introduced by bug 13601, and same fix used in bug 10423 and bug 12847:
the date_due retrieved from the DB is modified.
There are some problems:
1/ There is confusion between the iso and sql formats in the codebase.
2/ Since bug 13601, dt_from_string does not manage the iso format (there
are occurrences of 'iso' but it assumes that both formats are
identical).
To solve the issue, 2 solutions:
1/ Same as bug 10423 and bug 12847: try to get rid of the change done on
date_due in C4::Members::GetPendingIssues, it should be kept as the sql
value.
2/ Too many errors found and another fallback should be added to
dt_from_string (if 'iso' is passed, try sql then iso).
Test plan:
Go on the checkout list at the OPAC and confirm that the due dates are
correctly formatted.
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 9ad8b86643)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4::Circ::CheckIfIssuedToPatron called
$items = GetItemsByBiblioitemnumber($biblionumber);
But if biblionumber != biblioitemnumber, the items retrieved were not
the good ones!
Test plan:
Make your Auto increment values for biblio and biblioitems differs
Launch the tests:
prove t/db_dependent/Circulation/CheckIfIssuedToPatron.t
Before this patch, they did not pass.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 40e4722a95)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The problem is the template in authority type summary is not respected
at all. It is only read to see which fields and subfields should appear
in the summary.
This patch fixes that.
It also fixes a bug in auth_finder.pl plugin when summary contains
fields other than 2XX.
Test plan:
0/ You must use a UNIMARC setup for those tests
1/ edit an authority type summary with:
NP : [200a][, 200b][ 200d][-- 152b --][ ; 200c][ (200f)] [001*] [ppn: 009*]
2/ create a new authority with previous fields (it is possible some
fields don't exist).
3/ search this authority and verify the summary is someting like:
NP : Name, D.-- NP -- 23849 ppn: my_ppn
4/ Verify some summary for existing authorities and check they are
correct.
5/ Edit a biblio record and use the plugin auth_finder.pl (for example
in a 7XX field)
6/ Do a search and verify the summary is correct
7/ Click on 'choose' or one of the numbered links ('1', '2', ... ; you
should have multiple 2XX fields for the numbered links to show up)
8/ Verify that the biblio field is correctly filled.
/!\ For the ppn, it should be defined in the zebra indexes.
In MARC21 and NORMARC setups, this patch should change nothing, please
verify that too (you can check that the auth_finder.pl plugin is still
working and the auth type summary is correctly displayed in authorities
search and auth_finder.pl plugin).
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
It works as described, both in authority search result page, and in authority
data entry plugin.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 927aedafa1)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
It seems that many librarians find it disconcerting to have no feedback
with the new checkouts table. It seems that many of them wait for it to
fully load, check to verify the item was checked out, and only then
check out the next item.
To help alleviate this issue, we can have the checkouts page give
feedback about the item that was just checked out.
Test Plan:
1) Apply this patch
2) Check an item out
3) Note the message "$title ($barcode) due on $date_due"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This works well and fixes a very problematic issue with the new AJAX
circ. I will be submitting a follow-up which I think is an improvement
to the display.
Signed-off-by: Jason Burds <jburds@dubuque.lib.ia.us>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit e96e1126b6)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Conflicts:
C4/SIP/ILS/Transaction/Checkout.pm
The date comparisons in C4::Members::IssueSlip does not work as
expected.
Is an item is issue yesterday and due today (23:59), it should not be
considered as an overdue yet.
Test plan:
Define a valid issue slip (code ISSUESLIP)
Check 2 items out and update the issuedate value for one of them as
yesterday (using the mariadb/mysql cli or similar)
Print the slip
Before this patch the item marked as issued yesterday is considered as
overdue.
Special cases:
- hourly loans
- Quick slip is impacted too
Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 13601 is not in 3.18.x, so I removed the change connected
to that and it still tested ok.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
There was another form of the v2.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit ba0f84b46c)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
http://bugs.koha-community.org/show_bug.cgi?id=9987
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit a6c9bd0eb5)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Ensure that the transit flag (in field CV) is set
if return message is 'wasTransfered'
CV is being set for other return conditions but not for
wasTransfered [sic] The presence of this flag is required to
route returns to the correct bin if the SC unit is so
enabled
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I agree with the solution to an issue I've already encountered and
patched localy that way. It would be nice to have a better doc of
C4::Circulation::AddReturn in order to see immediately that
WasTransfered is a valid feedback for a check-in.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 31e3fe22dc)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
When records are imported into Koha, the items is stored into the
import_items table.
This marcxml in this table is never retrieved to display items.
Test plan:
1/ Import a records with items
2/ Before importing the batch into the catalog, you can see the marc
of the records, in the table below.
3/ Verify that the items is correctly displayed.
QA note: This patch does not provide test for new subroutines but the
module (C4::ImportBatch) is not tested at all and it will be time
consuming to provide them.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 4d8dd344ae)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This patch make _debar_user_on_return respect the finesCalendar syspref.
It does so, by replacing the ad-hoc overdue days calculation in favor of
C4::Overdues::_get_chargeable_units (which is renamed C4::Overdues::get_chargeable_units
and exported). There's no behaviour change besides making the calculation simpler
and correct.
To test:
- Set finesCalendar = "directly"
- Have a circulation rule stating:
interval for calculating fines = 1
suspension days = 3
- Have the calendar set for sunday and saturday as holidays.
- Checkout an item with a branch/itype/borrower category that matches the defined circ rule with a hand-writen due date to (say) last friday.
- Check the item in
=> FAIL: Notice that the user is debarred using the calendar (skipping saturday and sunday).
- Apply the patch
- Repeat the previous steps
=> SUCCESS: calculation is correct (counting saturday and sunday as overdue days, i.e. 'directly').
- Set finesCalendar = "calendar"
- Repeat the test
=> SUCCESS: calculation is correct (skipping holidays).
- Sign off.
Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 4094a235de)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
The issue: If you try to check in an item with a non existent barcode,
the application will exploded with a software error:
"Can't bless non-reference at .../ItemType.pm Line 64".
It's caused by:
commit 7431f8cfe2
Bug 11944: Fix encoding issue in C4::ItemType
and the following change:
@@ -105,9 +104,6 @@ sub get {
my $data = $dbh->selectrow_hashref(
"SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype
);
- if ( $data->{description} ) {
- $data->{description} = Encode::encode('UTF-8', $data->{description});
- }
because of the following:
my $s;
$s->{foo} = "bar" if $s->{foo};
use Data::Dumper;warn Dumper $s;
=> {} # not undef
So later,
bless $opts => $class;
will fail because $opts is undef and was not (i.e. {}) before.
More explicit test plan:
1) Log in to staff client
2) Circulation -> Check in
3) Type a non-existent barcode into 'Enter item barcode:' textbox
4) Click 'Submit'
-- Should receive nasty error.
5) apply patch
6) repeat steps 2-4
-- Should be told 'No item with barcode: {what you typed}'
7) prove -v t/ItemType.t
-- All tests should run successfully.
7) run koha qa test tools
Note: Having tried to create and use an itemtype '0', this only
demonstrates a lack of validation on the itemtype creation
screen. Unable to use it without tweaking back end.
That is beyond the scope of this bug.
Note for QA: C4::ItemType->get is only uses in circ/return.pl. So even
if the behavior is changed, it should not introduce any regression
somewhere else.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. Fixes the problem and no regressions found.
It even has regression tests :-D
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 68e4f96511)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Existing framework code is currently not retained when local record
gets replaced during batch import, or when the restore/reverse function
is being used.
This patch fixes aforementioned issues by correcting outdated GetBiblio()
calls in C4/ImportBatch.pm
To test:
1/ try to replicate the issue: import some MARC records with
"Tools -> Stage MARC records for import" etc., using test setup,
matching rules and so on such that some existing records will get
replaced with imported ones
2/ observe that records replaced during import now open in the editor
with 'Default' framework, even if they have some other framework
set up previously
3/ apply patch
4/ redo 1/, confirming that this problem is no longer replicable
5/ try use 'restore' function with some freshly imported
records, ensure that original framework code got retained
in the records which had their imports reverted
NOTE: I confirmed this change by
1) git grep "=\s*GetBiblio\s*("
-- this shows how GetBiblio is called elsewhere.
It differed! So then...
2) vi C4/Biblio.pm
/sub GetBiblio
-- find the right one, notice it only returns a HASH ref,
not an array.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 7c2fad1baf)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Test plan:
1) Enable ILS DI (system preference 'ILS-DI')
2) Try to access the URL
http://<your_opac_url>/cgi-bin/koha/ilsdi.pl?service=GetServices&patron_id=<borrowernumber>&item_id=<itemnumber>
Choose the patron and item to be available for hold
You'll see an error instead of valid XML response
3) apply the patch
4) try to access the same URL, you should see valid XML response with services "title level hold" and eventually "item level hold" returned
Signed-off-by: Thomas Misilo <misilot@fit.edu>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit bde795f8fa)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
In C4/Ris.pm:
@field_list = ('600', '601', '602', '604', '605', '606','607', '608',
'610', '615', '620', '660'. '661', '670', '675', '676', '680', '686');
Note the
'660'. '661'
instead of
'660', '661'
Test plan:
Add a 660 and 661 field to a record and export it in RIS
The 660 and 661 field should be displayed (after "KW").
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit a6facaa534)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
The SIP config has allowed you to specify an interface ip as
part of the listeners/service/port attributei
e. g. as port="127.0.0.1:6001/tcp"
with IPv6 the equivalent would normally be
as port="[::1]:5001/tcp"
However in this case incoming connections will get rejected because
Configuration constructs a string without the brackets
This patch makes tests both formats on incoming connections so that
they are accepted as they were previously
In future the best course is not to include a port identifier in the
port definition then if the server has ipv6 it will bind to all
interfaces and accept both IPv4 and IPv6 traffic
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This small patch adds a check on the SIP2 socket connection if it is
IPv6 and resolves socket address accordingly.
Any newer Debian distro would probably default to IPv6 so it would
eventually affect all SIP servers.
Tests against running SIP server on an IPv6 box:
http://wiki.koha-community.org/wiki/Koha_SIP2_server_setup#Testing_with_Telnet
before patch:
disconnects immediately. Log output:
Bad arg length for Socket::unpack_sockaddr_in, length is 28, should be 16
after patch:
operates normally
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Due to the way AddReturn and UpdateFine work, if you pass in a return
date to AddReturn, and that item has a calculated fine of 0, Koha will
insert the 0 amount fine into accountlines.
This is good behavior when we want to update an existing fine, but bad
behavior if there was no fine to begin with!
Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/Circulation.t
3) Note the test fails
4) Apply this patch
5) prove t/db_dependent/Circulation.t
6) Note the test passes
Signed-off-by: Jen DeMuth <jdemuth@roseville.ca.us>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Confirmed the problem in the staff interface and that the patch
fixes it. Also tested that fines still get calculated.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit faab00b88a)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
The previous patch did not work, only patrons *with* guanrantees were
deleted!
Signed-off-by: Koha Team AMU <koha.aixmarseille@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 316485b1c4)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
C4::Borrowers::GetBorrowersToExpunge should not use a "NOT IN", it is
not efficient at all.
With only 1 guarantor and more than 136k patrons, the not in clause in
this subroutine takes ages:
mysql> select count(*) FROM borrowers where borrowernumber NOT IN
(SELECT guarantorid FROM borrowers WHERE guarantorid IS NOT NULL AND
guarantorid <> 0) ;
[...]
not ended after 5min
With the query modified by this patch, the results come after 1 sec :)
Test plan:
Verify the delete_patrons.pl cronjob or the cleanborrowers tools work as
before.
Especially with guarantors.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Koha Team AMU <koha.aixmarseille@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit b721b6f9f3)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Use next instead of return when generating templates.
In case patron has enabled a message type that misses a template,
next message type will be attempted instead of returning at once.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit e4d88bcf43)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This small patch corrects the order of generating notices for issues and returns (checkout/checkin) so that borrower's notices are rendered correctly (for sms,email,etc.)
Test plan:
1) Edit SMSSendDriver syspref to use driver 'Test'
2) Edit CHECKOUT template for sms to 'SMS test'
3) select SMS for test patron's messaging prefs for item checkout
4) checkout an item
5) check the table message_queue, verify that template sms is
not used (message content is not 'SMS test')
6) apply patch, make new checkout
7) check that message_queue table now has a correctly generated
notice with 'SMS test'
For a real world test use a real SMS::Send driver and run the
cronjob process-message-queue.pl to send messages immediately.
Signed-off-by: Sophie Meynieux <sophie.meynieux@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 2ab4a4287b)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This patch makes Encode::encode be passed the 'UTF-8' encoding
instead of the discouraged 'utf8'.
Please read:
http://wiki.koha-community.org/wiki/Handling_UTF8_in_development
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit de7e7d3033)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
The emails sent via SendAlerts don't take into account HTML format.
_TEST PLAN_
Before applying:
1) Change system preference "AutoEmailOpacUser" to "Send"
2) Change "ACCTDETAILS" notice to HTML and add HTML to it
3) Create a new user with your email address
4) Note how the email displays the HTML tags as plain text
Apply patch
5) Create a new user with your email address
6) Note how the email displays the email as an HTML email
For thoroughness:
7) Change "ACCTDETAILS" notice to non-HTML
8) Create a new user with your email address
9) Note how the email displays the HTML as plain text
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 54731a0ce1)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
The UTF-8 charset in the content type is written as "utf8" instead of "utf-8"
in SendAlerts(), which causes UTF-8 characters to display incorrectly.
_TEST PLAN_
Before Applying:
1) Edit ACCTDETAILS
2) Add some UTF-8 characters
I recommend using the following website
http://www.ltg.ed.ac.uk/~richard/unicode-sample.html
In my tests, I added the samples from Hebrew, Arabic, Basic Latin,
Latin-1 Supplement, Latin Extended-A, and Latin Extended-B.
3) Set the system preference "AutoEmailOpacUser" to "Send"
4) Create a new user account with your email address
5) Note that the email in your inbox doesn't display the Unicode
characters correctly
Apply the patch
6) Create a new user account with your email address
7) Note that the email in your inbox _does_ display the
Unicode characters correctly.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 63123ff36b)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
If the user is already logged-in, do not trigger CAS authentication
even if there is a ticket in the parameters.
1) Authenticate to the OPAC through CAS.
2) Once redirected to your account, hit F5 or the refresh button of your browser.
3) You're logged out.
Signed-off-by: Koha Team Lyon 3 <koha@univ-lyon3.fr>
Signed-off-by: Luce Barbey <luce.barbey@cirad.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Added sign of lines according to bug.
Works as described, small change.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 0c6ba2d0c4)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This patch adds new fields ccode_description, homebranch_description,
holdingbranch_description, location_description and
permanent_location_description which can be used in the Label Creator
to display names/descriptions instead of codes
Test Plan:
1) Edit a layout in the Label Creator so that it includes any of these
fields. I suggest including "homebranch_description" and perhaps
"ccode_description" if you have them in your item data.
2) Add items to a batch in the Label Creator.
3) Export the batch using the layout, and view as PDF
4) Verify that you see descriptions for fields which you added
Signed-off-by: Nick <Nick@quechelibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 5c4854a211)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 836a7eba0b)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Implement correct handling of fees associated with checking out
an item.
This is associated with fee acknowledged field (BO)
To quote from the Sip2 document
" If this field is N in a Checkout message and there is a fee
associated with checking out the item, the ACS should tell the
SC in the Checkout Response that there is a fee, and refuse to
check out the item. If the SC and the patron then interact and the
patron agrees to pay the fee, this field will be set to Y on a second
Checkout message, indicating to the ACS that the patron has acknowledged
the fee and checkout of the item should not be refused just
because there is a fee associated with the item"
So there are two Checkout requests the first with BO not set to Y is
rejected but the fee amount is returned. The Second Checkout with BO set
to Y should succeed.
Added a debug log message indicating why we block a checkout
when we dont otherwise indicate
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit fe179c737d)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Conflicts:
C4/SIP/ILS.pm
This change is similar to Bug 8375 which introduced ttf fonts for
labels printing in order to support diacritics and utf-8 encoding,
but this change was never implemented for patron cards.
Test scenario:
1. make sure that you have <ttf> font mapping in koha-conf.xml
2. define partron card layout, template, profile and batch
(with utf-8 chars, probably in patron firstname or surname)
3. verify that without this patch pdf export file is error message
Wide character in compress at /usr/share/perl5/PDF/Reuse.pm line 820
4. apply this patch and verify that generated pdf has correct encoding
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit d149cd1d97)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
For every subscription we have 4 notes fields in Koha, 2 are in the
subscription itself and another 2 are in the subscription history.
When creating a new subscription, the notes fields from the
subscription get copied to the fields of the subscription history,
leading to doubled up display of notes in the OPAC.
To test:
- Add a new subscription without patch
- check manual history
- Fill in both notes fields
- Verify that the notes fields got also saved into the
subscription history (easy from the Summary tab)
- Apply patch
- Add another subscription, like above
- Verify now only the subscription notes fields are saved
- Edit subscription and notes - verify all is ok
- Edit subscription history (Planning tab) - verify all is ok
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit b5fac05bc3)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adds a checkin operation at the beginning of the test.
Otherwise, a former test leaves the test item checked out
and this generates an error.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit dff7d28275)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
When trying to execute or configure the plugin on 3.18 I got:
Template process failed: file error - doc-head-open.inc: not found at
/usr/share/koha/lib/C4/Templates.pm line 129.
Test Plan:
1) Install the Kitchen Sink plugin
2) Go to the configuration page of the plugin
3) Note the template processing error
4) Apply this patch
5) Refresh the page
6) Note the page now loads
Signed-off-by: Nick <nick@quecheelibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 003993d547)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Nice catch Kyle, I changed it to require Ubuntu 12.04's
(cherry picked from commit 00f27cb0b9)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 4883835816)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Conflicts:
C4/Context.pm
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 79e1008cef)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
* Syndetics routines include a statement to check that the returned
content from Syndetics is xml. The get_syndetics_index routine was
missing this check and so when a 'not found' html page was returned
the opac-detail page would take a long time to load whilst xml::simple
attempted to parse the large html document.
Test Plan
1. Enable Syndetics indexes on opac.
2. Head over to an opac-detail page on the opac.
3. Remove the ISBN from the same item in the staff client.
4. Reload the opac-detail page for the item noticeing a much slower
page load.
5. Apply the patch
6. Reload the opac-detail page for the item and note that it now laods
in a reasonable timescale again.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit acc7da6a5f)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The hbyymmincr autoBarcode builder looks up all barcodes that begin with
any number of letters ( the branchcode ) and a two-digit year directly
afterward ( e.g. MPL15 ), then grabs the last four digits as the
increment counter. The problem is, this does not take months into
account, so unlike the description that says the system is limited to
10,000 items a month, it is limited to 10,000 items per *year*.
This situation can easily be corrected my adding the month into the
lookup ( e.g. MPL1501 ).
Test Plan:
1) Enable autoBarcode, set to hbyymmincr
2) Catalog an item, let the barcode.pl plugin generate
the next barcode.
3) Catalog an item with the barcode MPL15009999
4) Catalog another item, use the barcode.pl plugin to
generate the next barcode.
5) Note the barcode is generated ends with '0001' instead of the
correct increment
6) Apply this patch
7) Repeat step 4
8) Note the barcode now ends with the correct increment
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jeanne Heicher <nppublib@pa.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Problem confirmed - the continuing number bit was not reset
to start counting from 1 again on the beginning of a new month.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit b280b4890c)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Imagine this scenario: we have one record with four items. Two of those
items are checked out, one of those items is a waiting hold, and one of
those items is available. We would expect to see this on the search
results page. Instead, we will see both non-checked out items as
unavailable due to waiting holds.
This is due to a semantic issue GetReserveStatus.
C4::Search::searchResults uses GetReserveStatus to get the reserve
status of each item, but unlike all other calls to the sub, this one
passes in not only itemnumber, but biblionumber.
When no reserve is found for the available item, the subroutine uses the
biblionumber to grab what is essentially an arbitrary reserve to use for
the status. This makes no sense and this functionality should be
entirely removed from the subroutine so regressions like this will be
prevented in the future.
Test Plan:
1) Create one record with 4 items
a) check two of the items out to patrons
b) set one of the items as a waiting hold
c) leave the fourth item as available
2) Run a search where this record will be in the results list
3) Note that the results list 2 items on loan, two unavailable
4) Apply this patch, reload the search results
5) Note that the results list 1 available, 2 on loan, 1 unavailable
Signed-off-by: John Andrews <jandrews@washoecounty.us>
Signed-off-by: Sheila Kearns <sheila.kearns@state.vt.us>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Note: This is for the staff search result list!
Works as expected.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit fcaa6f35c0)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
There was an instance of the pragma missed which meant the the original
patch set didn't actually solve the problem in a large number of cases
This patch adds in the relevant statement.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit d556f6a9f2)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
To Test:
1) Enable the system preference SessionRestrictionByIP
2) Change your system IP. It will not checkout your system IP or signout.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit e3bb139080)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Having $ordernumber as the parameter in a function which is
handling suggestions and it is used as a suggestion id is
confusing to the coder and person trying to read the code.
This patch corrects the confusion.
REVISED TEST PLAN
-----------------
1) perldoc C4::Suggestions
-- notice it says ordernumber for the GetSuggestions example.
2) Ensure you have CPL in your branches table.
3) prove -v t/db_dependent/Suggestions.t
-- if you have more than 8 itemtypes in your database, two
tests at the end will fail, but that is not relevant to
the modified GetSuggestions code.
4) apply patch
5) perldoc C4::Suggestions
-- notice it is corrected now.
6) prove -v t/db_dependent/Suggestions.t
-- it should run with the same results as in step 3.
That is, if you have 8 itemtypes, all pass, otherwise
those two tests fail.
7) run koha qa test tool
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit ddf909ae24)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Test plan:
1. Add 4 item search fields (in Administration › Items search fields):
a. 1 biblio field linked to a DB field
b. 1 biblio field not linked to a DB field
c. 1 item field linked to a DB field
d. 1 item field not linked to a DB field
2. Make sure you have some data in those fields to search on.
3. Go to item search page and do a search using these new fields, make
sure the result is correct.
Signed-off-by: Nick <nick@quecheelibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit f70ad43f8f)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 11111 adds a basket group column on the parcel page.
But it seems that the already received orders never contain the value
(always 'no basket group').
Test plan:
Receive an order which is in a basket group and verify the basket group
column is correctly filled.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 74640683f0)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Koha's SIP server accepts timeout parameters, but those parameters
are only used for the login portion of a telnet transport session.
Other than that, they are ignored, and as long as whatever opened
the connection keeps it open, it will stay open indefinitely.
Test Plan:
1) Set the timeout setting on your SIP server to 10 seconds
2) Modify misc/sip_cli_emulator.pl, add "sleep 100;" directly after line 91
3) Start your SIP server
4) Run the modified sip script with valid parameters
5) Watch the SIP server stderr
6) Note that even though the script waits far too long before continuing,
the SIP server never kills the connection, and the requests the cli
script makes come back with valid data.
7) Apply this patch
8) Restart your SIP server
9) Repeat step 4
10) Note that this time you see "SIP Timed Out!" in the SIP server
stderr and when the script finally makes it's request, it doesn't
come back with valid data.
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 03335ab401)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
A failed login should not leave the user in a half logged authenticated
state, but rather return them to an anonymouse session as per the
pre-login attempt state.
To replicate error:
1. Try to log in with some nonexisting user id or wrong password in the
OPAC
2. Go directly to /opac-user.pl (e.g., enter it in the browser address
bar, or just click on the "Log in" link)
3. Observe a DBI error displayed on the screen
4. You are now in the "deadloop" of sorts (opac/opac-user.pl refuses to
display the login screen, no matter how many times you try to reload
it); to break the deadloop, one needs to:
- remove session cookie from the browser (or cause the session to
expire in some other way - closing browser window would be probably
enough for that)
- remove offending session on the server (from mysql sessions table,
..)
- log in with proper credentials using some other page (like
opac/opac-main.pl right-side panel), which does not involve
opac/opac-user.pl being called without "userid" CGI parameter.
To test:
1. Test as above, the DBI error should no longer be present
2. Check that search history works across failed and sucessful login
attempts
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 229a3b329c)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Add a missing semicolon to the end of a template variable assignment
line. This patch should not affect operation.
Note: With Bug 13499 we did a non-destructive perltidy, as such we only
affected indenting and whitespace to maintain blame history. However, a
number of minor code issues were also highlighted, in this series of
patches I hope to correct other minor style issues.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit f73dc51a88)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Removed an uneeded semicolon from the end of an 'if' block. This should
not affect operation of the script.
Note: With Bug 13499 we did a non-destructive perltidy, as such we only
affected indenting and whitespace to maintain blame history. However, a
number of minor code issues were also highlighted, in this series of
patches I hope to correct other minor style issues.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit a36c7435f2)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This tidy should only change whitespace and not line breaks, thus
retaining history.
There are no code changes, and thus there should be no regressions to
test for koha wise.
To test the non-destrcutive nature of the patch, run a 'git blame -w' on
the file before and after the patch. The resulting blame should include
a comparabile history of the file, with only some additional blank
lines being attributed to this commit.
A 'git blame -wM' may also be useful for comparison purposes.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 1926bf9d01)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
This error only appears when using the SIPServer, it doesn't manifest when using the SIP unit tests
or when using the staff client.
--------------------
------------------
PREPARE THE TEST
------------------
--------------------
0a. Find a borrower.
0b. Find an Item (cardnumber 'debar123') and check-out to the borrower
0c. Find a borrower and add a manual debarrment to it, indefinetely in effect.
This is the default behaviour.
0d. Configure and start a SIP-server which you can access with telnet.
See http://wiki.koha-community.org/wiki/Koha_SIP2_server_setup
In this example, the Borrower defined as the Check-out/in machine has the following credentials:
username: herkules password: palautathan branchcode: JOE_JOE
but you are free to use your own, it doesn't affect this test plan.
0e. access your server with telnet
-----------------------
---------------------
REPLICATE THE ISSUE
---------------------
-----------------------
1. Paste the following SIP-command to login:
9300CNherkules|COpalautathan|CPJOE_JOE|
2. Paste the following SIP-command to check-in the Item of the debarred Borrower:
09N20140721 07501620140721 075016AP|AO|ABdebar123|AC|BIN|
3. The connection should die and in the SIP Server's error log you can find the following error:
Software error: Undefined subroutine &C4::Circulation::HasOverdues called at /home/koha/kohaclone/C4/Circulation.pm line 1925
--------------------
------------------
AFTER THIS PATCH
------------------
--------------------
Redo steps 1-2.
3. No error is given and the connection doesn't die.
No unit tests included and never will, because setting up the test environment would be very tedious.
It is entirely possible but the scaffolding required is beyond the scope of this patch.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Note: I did not test this patch with SIP, but I did not find any
regression on checking or renewing an item.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 84064ae4e4)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>