Commit Graph

5408 Commits

Author SHA1 Message Date
Mark Tompsett 47c6719f27 Bug 15795: C4/Members.pm is floody (Norwegian Patron DB)
From the mailing list:
"I'm working on 3.22.02 and my logs are FILLED with the following warnings:

Members.pm: Unable to load Koha::NorwegianPatronDB at /blurred/C4/Members.pm line 46., referer: http://blurred/cgi-bin/koha/acqui/booksellers.pl
admin-home.pl: Unable to load Koha::NorwegianPatronDB at /blurred/C4/Members.pm line 46., referer: http://blurred/cgi-bin/koha/admin/preferences.pl"

I agree. Looking at C4/Members.pm other warns are all prepended with $debug.

TEST PLAN
---------
1) rm Koha/NorwegianPatronDB.pm
   -- quickest and dirtiest way to get the load to fail.
2) echo > ~/koha-dev/var/log/koha-error_log
   -- so it will be easy to spot the log changes.
   -- back up the log file if you really want it.
3) log into the staff client and go to patrons.
   -- Check the log file. "Unable to load ..." will be there.
4) echo > ~/koha-dev/var/log/koha-error_log
5) sudo vi /etc/apache2/sites-enabled/{your koha site file}
   -- Find your staff client entry in your apache
      configuration file and add:
       SetEnv DEBUG 1
6) sudo service apache2 restart
7) apply the patch
8) refresh the patron page
   -- "Unable to load..." will still be there.
9) change the DEBUG value in your apache config to 0
10) sudo sevice apache2 restart
11) echo > ~/koha-dev/var/log/koha-error_log
12) refresh the patron page
    -- "Unable to load..." will NOT be there.
13) git checkout origin/master -- Koha/NorwegianPatronDB.pm
    -- to bring it back.
14) refresh the patron page
    -- "Unable to load..." will still not be there.
15) run koha qa test tools

Signed-off-by: Philippe Blouin <philippe.blouin@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit b52cbecbfd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 410b567a4c)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 15:46:42 +01:00
Kyle M Hall 442dd4cfa4 Bug 15479 [QA Followup] - Tidy sub to remove tabs causing qa script to fail
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit d268d428fd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit c8a0323e7b)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 14:54:12 +01:00
Colin Campbell d937b43134 Bug 15479 Add tests for ILS.pm
This patch specifically adds a test for the sub added to
resolve Bug 15479. As no test script existed to add this two
added one which also tests that ILS objects can be instantiated
correctly and offer the required interface

NOTE: This does not apply without the first patch.
      Comment #3 suggested a unit test that would fail
      before and pass after. So while this code is good,
      it missed the before case. -- mtompset

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit df4b155221)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 70ec608f91)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 14:53:51 +01:00
Colin Campbell ac0f57fd61 Bug 15479 Make ILS cardnumber comparison case insensitive
The borrowers table is defined COLLATE=utf8_unicode_ci which means
that cardnumbers may be saved in either lowercase or uppercase and
these are considered equivalent.
The server was performing a case sensitive comparison between
the incoming patron identifier and that retrieved from the db
As a result some renewals were rejected as being on loan to
another borrower if the stored cardnumber differed in case.

Make code comparison comply with db.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 203659ee60)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 619060799d)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 14:53:22 +01:00
Kyle M Hall 00211efcc4 Bug 14507 [QA Followup] - Restore comment, tidy sub
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit f56ad87648)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 94e6b71b4e)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 14:49:24 +01:00
Colin Campbell 44375ad31f Bug 14507 Use checkpw to check password in Patron Info
Some devices are using patron information responses to validate
patron passwords to govern access to facilities as we
were using C4::Auth::checkpw_hash this only worked in a db password
context not other authentication routines.
The C4::Auth routines are not very consistent and there isnt a dropin
replacement for checkpw_hash this calls checkpw instead.
In a password only environment this behaves as the old version did
returning field CQ as Y if a valid password or no password is passed in
the patron info request and N if an incorrect password is supplied
It should also test against the appropriate authentication sources if
othere autrhentication schemes are in use

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Tested this with a client who reports that this enables SIP authentication to work correctly with their LDAP server.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 0810027bfa)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit cd5640eb9f)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-03-01 14:49:19 +01:00
Jonathan Druart c13bacfde0 Bug 15628: Remove get_branchinfos_of vestiges
The C4::Branch::get_branchinfos_of subroutine has been removed by bug
7034, but 2 occurrences have been left

git grep get_branchinfos_of
C4/Branch.pm:           &get_branchinfos_of
t/db_dependent/Branch.t:      get_branchinfos_of

Test plan:
  git grep get_branchinfos_of
should not return any occurrences.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Vestiges removed

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 7dc0c67640)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit cd0b768bd0)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-20 08:39:19 +01:00
Marcel de Rooy 258cb5aaef Bug 15553: [QA Follow-up] Replace hardcoded tmp and add instance to dirname
If you use multiple instances on one server, you could have the situation
that instance A creates the cgisess subfolder and instance B could have a
permission problem. This patch resolves that by allowing each instance to
have its own cgisess subfolder.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit c4934b2dab)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit d259eaac7b)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 20:05:05 +01:00
Blou 5a0dc0c2a4 Bug 15553 - [SIGNED-OFF] cgisess_ files polluting the /tmp directory
When some users want to improve performance, one suggestion is to switch the syspref "sessionstorage" to 'tmp',
which store the session info in the /tmp directory instead of the database.

Depending on the frequency of the cleaning process (or lack thereof),
this can be heavy pollution into the /tmp directory, making it unusable.
"rm cgi*" would not even work since cgi* extends to over 8000 items...

A simple fix is to modify the target directory in C4/Auth.pm to /tmp/cgisess.

Testing scenario:
1) change the syspref SessionStorage to 'tmp'
2) Log into the OPAC, validate that a file named /tmp/cgisess_(something) got created
3) Apply the patch
4) Log into the OPAC, validate that a file /tmp/cgisess/cgisess_(something) got created

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Works as advertised. Session files are created in /tmp/cgisess/ instead
of directly in /tmp. I usually store sessions in memcached, but a
couple of times memcached has died on me, and before I knew it, /tmp
was so full of sessions files, I could not easily delete them with
"rm /tmp/cgisess*". Being able to delete /tmp/cgisess/ should be a
bit easier.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 3815915a33)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 6efb2ebc0f)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 20:04:30 +01:00
Jonathan Druart 11796d60fa Bug 15209: Check the parameter at the beginning of the subroutines
It seems better to check if parameters exist at the beginning of a
subroutine.
It makes the code easier to read and there is 1 indentation level less.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 372881ebfd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 7132c9b49c)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 19:38:14 +01:00
Colin Campbell 60e9074bec Bug 15209 Validate passed MARC::Record objs in C4::Koha
Ensure that a passed MARC::Record is defined before calling
its methods. Otherwise you are open to occurences of the
error 'Can't call method "field" on an undefined value'
In a CGI environment you can live with such sloppiness but
in a persistent environment the error can cause the instance
to abort.
Made all routines passed a MARC::Record validate it before calling
its methods. Changed the parameter name from the meaningless
record to marcrecord to indicate its content. Added an explicit return
for all cases where no valid data returned. Cleaned up some logic for
clarity. I think we can assume that GetNormalizedOCLCNumber meant to
look at all 035s till it found an OCLC number not just the first.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 960458dee4)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 958985b2ff)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 19:33:50 +01:00
Kyle M Hall 7ab00713f0 Bug 15680 - Fresh install of Koha cannot find any dependencies
Revert "Bug 6679 - [SIGNED-OFF] fix 2 perlcritic violations in C4/Installer/PerlModules.pm"

This reverts commit 0e356b214e.

Fixing the evals in PerlModules.pm to pass perl critic has caused
a regression. If appears that using a block eval will not work here,
at least not in its current form.

(cherry picked from commit c2f667b4f2)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit ff73d0415f)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 19:13:31 +01:00
Kyle M Hall 9e456ee006 Bug 15530 - Editing a course item via a disabled course disables it even if it is on other enabled courses
It appears that if the course item is edited by clicking the edit link
from an active course, the course item will be set to enabled and the
fields will be swapped, if the same course item is edited from a course
that is *not* active, the course item will be set to *not* enabled, and
the original fields will be swapped back in!

The short term work-around is to only edit course items from an enabled
course if the item has a course that is enabled. If all the courses it
is on are disabled, it doesn't matter what course the item is edited
from.

Test Plan:
1) Create two courses, 1 enabled and 1 disabled
2) Add an item as a course reserve to both courses
3) Edit the course reserve data for the item via the enabled course
4) Note the course item is enabled ( easy way is to check the database )
5) Edit the same course reserve data, but via the disabled course
6) Note the course item is now disabled even though it is part of
   an enabled course!
7) Apply this patch
8) Repeat steps 1 through 5
9) Note the course item is still enabled

Signed-off-by: Margaret Holt <mholt@bastyr.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit d10adb26aa)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 4739952294)
2016-02-11 19:07:20 +01:00
Jonathan Druart c3ed8d4152 Bug 6679: (follow-up) fix 9 perlcritic violations in C4/TmplTokenType.pm
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 8ca35dc7a9)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 8022419f58)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 18:56:39 +01:00
Mason James e6282f66ca Bug 6679 - [SIGNED-OFF] fix 2 perlcritic violations in C4/Installer/PerlModules.pm
Expression form of "eval" at line 71, column 9.  See page 161 of PBP.  (Severity: 5)

Expression form of "eval" at line 85, column 13.  See page 161 of PBP.  (Severity: 5)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 0e356b214e)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit f8bd7e7179)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 18:55:01 +01:00
Mason James f44d4ba891 Bug 6679 - [SIGNED-OFF] fix 9 perlcritic violations in C4/TmplTokenType.pm
- Subroutine prototypes used at line 86, column 1.  See page 194 of PBP.  (Severity: 5)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit ae546e3ade)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 25344fa446)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-02-11 18:54:29 +01:00
Natasha 8816b2377c Bug 14538: editing perl doc for CalcFine
To Test:
Read perldoc C4/Overdues.pm
Confirm that it says CalcFine returns four values and that rest of the documentation is correct

NOTE: only a little visual ugliness, but definitely an improvement.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
(cherry picked from commit f1bbc3d2a1)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 365ae9aa3c)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-25 17:10:38 +01:00
Julian Maurice 058785aee8 Bug 15572: TransformHtmlToMarc - rewrite the loop
This rewrites the while loop into a for loop, so $i still gets
incremented when we call next

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  Make sense. Add readability. Infinite loop no more possible.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
(cherry picked from commit 1eab5c199d)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit e10f011dd1)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-25 16:49:24 +01:00
Frédéric Demians 0cde2e503e Bug 15572: Follow-up to fix error on authority creation
Bug 6657 modified the way C4::Biblio::TransformHtmlToMarc operates in order to
solve an issue occuring during biblio record cataloguing. But this function is
also used by authorities cataloguing, and the code in this case is irrelevante.
This followup allows to distinguish for which kind of record
TransformHtmlToMarc is called: biblio/authority.

A bug appears in authority creation without this patch in some circunstances:
when authid is linked to 001 field.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Tested with a new authority record

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
(cherry picked from commit 2ca9bd5dc2)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 44bd1995bf)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-25 16:42:19 +01:00
Kyle M Hall aba369d287 Bug 13022 [QA Followup] - Allow the pref to be unset for unlimited item status checks
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 7ab9d7d91d)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 6e0a32a263)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-04 15:58:20 +01:00
Kyle M Hall d5a599be4d Bug 13022 - Hardcoded limit causes records with more than 20 items to show inaccurate statuses
If a record has more than 20 items, all the items over 20 will show as
available on the search results even if they are not!

This is a hard coded limit in the Search module. This number should be
configurable.

Test Plan:
1) Create a record with more than 20 items
2) Set all the items to waiting holds or in transit
3) Search for results that will include that item
4) Note some say they are available even though they are not
5) Apply this patch
6) Run updatedatabase.pl
7) Set the new system preference MaxSearchResultsItemsPerRecordStatusCheck
   to a number larger than the number of items on your record
8) Re-run the search
9) Note that the hold and transit statuses for the items are now correct

Signed-off-by: Andreas Hedström Mace <andreas.hedstrom.mace@sub.su.se>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit d3184fa85b)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit f552e658e4)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-04 15:57:39 +01:00
Martin Renvoize 89055d4d90 Bug 14034: Fix logout on refresh for shibboleth
This is similar to bug 12877

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

While this is missing a detailed test plan, what I did to test was

1/ Login to koha .. it works
2/ Apply patch
3/ Login to koha .. it still works, no regressions. I can't test the
shibboleth part but it doesnt break anything else so I'm happy to sign
off

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>

We had to implement this fix for one of our customers using Shibboleth.
Can verify that it fixes the issue (which, incidentally, breaks
stage-marc-import since that depends on a constant sessionID).

Passing QA (verified with QA tools). Thanks, Martin!

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 5c581ccdd0)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit f299790bd9)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2016-01-04 15:50:19 +01:00
Frédéric Demians d099dbfc8a Bug 15429 Followup to avoid test failing 2015-12-31 19:25:10 +01:00
Marc Véron a7d0a998bc Bug 15429 - sub _parseletter should not change referenced values
In C4/Letters.pm, sub _parseletter changes values that are passed by
reference. E.g. patron's expiry date can change from iso format to
syspref format, leading to strange behaviour in the calling routines
(see Bug 15423).

This patch makes sub _parseletter work on a copy of the referenced values.

(Submitted to get feedback - is this the way to go?)

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  Good solution to real time bomb.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 002a2dcb1f)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit cc3b2d0590)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-31 18:34:11 +01:00
Fridolin Somers bad4e37950 Bug 15252 - Patron search on start with does not work with several terms
When searching a patron, search type can be 'start with' and 'contain'.
If the search text contains a space (or a coma), this text is splitted into several terms.

Actually, the search on 'start with' with several terms never returns a result.

It is because the search composes an "AND" SQL query on terms.
For example (I display only the surname part) :
search type = contain :
  'jean paul' => surname like '%jean% AND %paul%'
search type = start with :
  'jean paul' => surname like 'jean% AND paul%'
The query for 'start with' is impossible.

I propose, for search with start with, to not split terms :
  jean paul => surname like 'jean paul%'

One can always use '*' to add more truncation :
  jea* pau* => surname like 'jea% pau%'

This bug affects a lot surnames with several terms like 'LE GUELEC' or 'MAC BETH'.

Note that the patch moves :
  $searchmember =~ s/,/ /g;
It removes the test "if $searchmember" because $searchmember is tested and set to empty string previously :
    unless ( $searchmember ) {
        $searchmember = $dt_params->{sSearch} // '';
    }

Test plan :
==========
- Create two patrons with firstname "Jean Paul"
- Go to Patrons module
- Choose "Starts with" in "Search type" filter
- Perform a search on "Jean Paul"
=> without patch : you get no result
=> with this patch : you get the two results
- Check you get the two results for search on "Jean Pau"
- Check you get the two results for search on "Jea* Pau*"
- Check you do not get results for search on "Jea Paul"
- Choose "Contains" in "Search type" filter
- Check you get the two results for search on "Jean Paul"
- Check you get the two results for search on "Jean Pau"
- Check you get the two results for search on "Jea* Pau*"
- Check you get the two results for search on "Jea Paul"
- Check you get the two results for search on "Paul Jean"

Signed-off-by: Alex <alexklbuckley@gmail.com>

Tested 4 patches together, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>

Bug 15252 - Patron search on start with does not work with several terms - followup 1

'start_with' is the default value of $searchtype, it can be explicit.

Tested 4 patches together, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>

Bug 15252 - correct UT searchtype value is contain and not contains

Tested 4 patches together, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit a4f5564c85)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit db50ac5b8c)
2015-12-31 18:31:28 +01:00
Jonathan Druart c7db8a68f0 Bug 15344: Remove some other calls of GetMemberDetails from pl scripts
Same as previously.
For these files it's a bit less obvious.
To make sure these changes won't introduce any regression, check that
the variable returned by GetMember is never used to get something
else than a borrower fields.
The 'flags' should not be get neither.
For opac-user.tt it's different, other keys are got but there are defined
in the pl script.

On the way:
- 'showname' is removed (never used)
- fix scope var issue in opac-user.tt (BORROWER_INF.OPACPatronDetails vs
OPACPatronDetails)

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 010a32d95f)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 95e9dafa38)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-31 18:13:01 +01:00
Jonathan Druart f7c6e9f586 Bug 15344: Remove unucessary call to GetMemberDetails
This subroutine does a lot a processing and should only be called when
necessary.
In the get_template_and_user subroutine (so called from any pages of
Koha), it is call to pass the branchcode, title, firstname, surname and
borrowernumber values for the logged in user.
This subroutine calls GetMemberAccountRecords which retrieve the items
infos for all accountlines entries of the logged in user.
On members/members.pl, let's say you have 74 entries in the accountlines
tables, the page will execute 115 SELECT instead of 35 if you don't have any
accountlines entries.
With this patch, the number of SELECT is always 31.

To test this patch you should have technical skills to know what to do.

Note that USER_INFO was an array of... 1 element. Now it's a hashref.

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit ac541e0fa1)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 44202df6ac)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-31 18:08:27 +01:00
Jonathan Druart 33137f4bdd Bug 15101: Correct typo AllowPkiAuth vs AllowPKIAuth
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit d36280e36e)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 87ce8e85ec)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-31 17:51:13 +01:00
Bernardo Gonzalez Kriegel f2dfce1a95 Bug 14971: fix RIS export
This patch removes a limit in RIS.pm print_isbn sub.

To test:
1) Find in opac a book with an isbn with length(isbn) > 10
(with dashes or isbn13)
2) Export record to RIS format, check truncated SN field
in exported file
3) Apply the patch
4) Export again, no more truncation

Signed-off-by: jvr <jvr@fct.unl.pt>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 906d2108b9)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit f6d9e04b88)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-14 18:56:15 +01:00
Bernardo Gonzalez Kriegel 32bc47f6d4 Bug 11038: Enable use of IntranetUserCSS on staff client login page
This patch enable use of IntranetUserCss on staff client
login page.

To test:
1) Add something to IntranetUserCSS to modify login page,
for example

 #login h1 a {
   height:30px;
 }

2) Logout from staff client, no changes on login page.
3) Apply the patch
4) Reload, now logo is cut in half :)
Bonus) Login again an try changing image, add

 #login h1 {
  background: url(http://example.com/img/other-logo.png) no-repeat top center;
 }

and fix height. Logout and check

This also affects 3.20 and perhaps earlier versions.
Re-upload to fix examples

Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 11e4c42e05)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit 14dc51472a)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  Merging issue due to intranetusejs syspref renaming. Fixed.
2015-12-11 18:09:13 +01:00
Frédéric Demians c122b9b6f8 Revert "Bug 11190: sitemap.pl -- Generate a Catalog sitemap"
This reverts commit ed166abbf3.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-05 08:31:59 +01:00
Frédéric Demians c8afcd1311 Revert "Bug 11190: sitemap.pl -- Generate a Catalog sitemap"
This reverts commit e0a8173d10.

This feature introduces new dependencies, and make UT failing without them,
which prevents package building.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-12-05 08:29:57 +01:00
Frédéric Demians e0a8173d10 Bug 11190: sitemap.pl -- Generate a Catalog sitemap
Add a script sitemap.pl to process all biblio records from a Koha
instance and generate Sitemap files complying with this protocol as
described on http://sitemaps.org. The goal of this script is to be able
to provide to search engines direct access to biblio records. It avoid
leaving search engine browsing Koha OPAC and so generating a lot of
traffic, and workload, for a bad result.

Thanks Magnus for testing, and helping to improve the script design.

[2015.04.16] Switch from Moose to Moo.

[2015.08.20] Add complete (more) UT.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
All options to the script work as expected and the output looks
good. Nice enhancement!

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

I signed-of my own patch after fixing various QA errors.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: replace tabs with spaces.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

(cherry picked from commit ca341f6840)
2015-11-30 10:12:22 +01:00
Frédéric Demians ed166abbf3 Bug 11190: sitemap.pl -- Generate a Catalog sitemap
Add a script sitemap.pl to process all biblio records from a Koha
instance and generate Sitemap files complying with this protocol as
described on http://sitemaps.org. The goal of this script is to be able
to provide to search engines direct access to biblio records. It avoid
leaving search engine browsing Koha OPAC and so generating a lot of
traffic, and workload, for a bad result.

Thanks Magnus for testing, and helping to improve the script design.

[2015.04.16] Switch from Moose to Moo.

[2015.08.20] Add complete (more) UT.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
All options to the script work as expected and the output looks
good. Nice enhancement!

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

I signed-of my own patch after fixing various QA errors.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: replace tabs with spaces.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

(cherry picked from commit ca341f6840)
2015-11-30 10:11:45 +01:00
Colin Campbell a7f6d8238e Bug 15215: Remove warning due to misuse of UNIVERSAL
Calling UNIVERSAL's internal methods will cause a depreciation
warning in perls less that 5.22 as of 5.22 the warning is a fatal
error causing compilation to abort

Replace the use UNIVERSAL with UNIVERSAL::can to work around the
buggy construct perldoc UNIVERSAL::can for more info

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No more worning/error
No qa errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d69b6c0480)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:15:40 +01:00
Kyle M Hall fc5804e6f1 Bug 13411: (QA followup) Add logging
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit feafa273e4)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:13:54 +01:00
Kyle M Hall c87520d90a Bug 13411: Koha's SIP server returns not ok for checking in items that are not checked out
If an item is not checked out when a checkin via SIP2 is attempted,
Koha's SIP server sends back an "ok" of 0, and the AF message "Item
not checked out". I am not entirely sure this is good and correct
behavior by the SIP2 protocol.

In particular, this will cause SIP2 book sorting devices to fail on
all items that are not checked out, causing them all to be put into
the "special handling" been that should be reserved for things like
items checked in at the wrong library and items on hold.

Test Plan:
1) Apply the patch for bug 13159 so you can use the new enhanced
   SIP2 command line emulator
2) Use a command similar to the following to check in an item:
   sip_cli_emulator.pl -a localhost -su <sip user> -sp <sip password> -l <instituation id> --item <barcode> -m checkin
3) Note the 3rd character is 0, and there is an AF field saying the item is not checked out
4) Apply this patch
5) Restart the SIP server
6) Repeat steps 2-3, note that nothing has changed
7) In the SIP config file, Add the parameter checked_in_ok="1" to the SIP account you are using.
8) Restart the SIP server
9) Repeat steps 2-3, note that this time the 3rd character is 1, and you do not recieve the item not checked out message.

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 181d3aa56d)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:13:54 +01:00
David Cook 3b510cee00 Bug 15182: Conditionally load Koha::NorwegianPatronDB
This patch loads Koha::NorwegianPatronDB if it can, or adds a warning
to the log if it can't load it.

Since the Koha::NorwegianPatronDB functionality in C4::Members is
wrapped in system preferences, the loading of the module is
irrelevant unless one actually wants to use the module and its
associated functionality.

NOTE:

This patch fixes a problem where we were getting errors saying
Crypt::GCrypt couldn't be loaded even though it's not a required
dependency.

This patch will likely only affect people not using Debian-based
systems where libcrypt-gcrypt-perl is available. The current
version of Crypt::GCrypt doesn't build so it's not an option
for most non-Debian users to install this not required
dependency in order to work around this issue...

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised for Debian-based systems

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1801a9462e)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:08:05 +01:00
Fridolin Somers 27d0b20488 Bug 14078: (followup) converting from ISO5426 is not complete
Conversion of MARC from ISO5426 is defined in C4::Charset::char_decode5426().
Each character or combined characters conversion is defined in a map.

This patch adds missing conversions.

See http://www.gymel.com/charsets/MAB2.html

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 636050f9be)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:01:33 +01:00
Fridolin Somers 2ceab7145e Bug 14078: converting from ISO5426 is not complete
Conversion of MARC from ISO5426 is defined in C4::Charset::char_decode5426().
Each character or combined characters conversion is defined in a map.

This patch changes some odd actual conversions.

In char_decode5426(), only characters between 0xC0 and 0xDF will be used for combining with following charater :
  ($char >= 0xC0 && $char <= 0xDF)
So conversion like "$chars{0x81d1}=0x00b0" will never be used.
Rules for "h with breve below" use combining with 0xf9 but looks like the correct caracter is 0xd5.

See http://www.gymel.com/charsets/MAB2.html

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5e3882bcec)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 22:01:33 +01:00
Jonathan Druart c32edbd6e1 Bug 6657: Prevent biblionumber to be duplicated
If the biblionumber field is displayed in the framework, on editing a
biblio the field/subfield will be duplicated.
To prevent that this patch adds a check when building the field list.

Test plan:
1/ map biblio.biblionumber with 999$c
2/ Display 999$c in a framework
3/ Edit a biblio using this framework
4/ Save => The field should not have been duplicated

5/ map biblio.biblionumber with 001
6/ Display 001 in a framework
7/ Edit a biblio using this framework
8/ Save => The field should not have been duplicated

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works as described, aldo removes duplicate values.
No errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9ae556a212)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:58:11 +01:00
Colin Campbell 9dace4e21e Bug 15036: Do not overwrite complete status in basket ops
Reopening or closing a basket should preserve the completed
status for receipted orders.

This patch excludes orderlines with the completed status
from having their status rewritten as a result of the
change in basket status

Made the subroutines involved more efficient by removing an
unnecessary loop and by not fetching a large amount of
superfluous data

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 4a4dbbf123)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:47:20 +01:00
Jonathan Druart 1cd654313b Bug 14388: Funds should be sorted by budget_code
Before this patch, the funds were sorted by budget_id, which does not
make any sense.

This patch adds a sort by budget_code on the fund list (acqui/acqui-home.pl and
admin/aqbudgets.pl)

Test plan:
On both pages (acqui/acqui-home.pl and admin/aqbudgets.pl) confirm that
the funds are now sorted by fund code (DB column budget_code)

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@theke.io>
(cherry picked from commit e0032c46e9)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:39:59 +01:00
Joonas Kylmälä eea56d4124 Bug 14687: Patron's transaction history changes items' order after paying fines.
Sorts Patron's accounting data consistently from newest to oldest.
It doesn't depend on anymore to timestamp (which can be same for multiple
entries) from database but instead uses accountline's id to sort.

Signed-off-by: Liz Rea <liz@catalyst.net.nz>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 307fe0ac53)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:39:18 +01:00
Tomas Cohen Arazi bc668dccd3 Bug 15151: Avoid DB access to load C4::Members
In order to avoid loading Koha::NorwegianPatronDB a DB query was
used. Instead, a require should be used. This causes non-db_dependent
tests that load C4::Members to fail.

To test:
- Shut mysql down
  $ sudo service mysql stop
- Run the tests:
  prove t/Circulation_barcodedecode.t
=> FAIL: DB connection is expected, tests fail
- Apply the patch
- Run the tests:
  prove t/Circulation_barcodedecode.t
=> SUCCESS: Tests pass
- Sign off .-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
cherry-picked from f25fe6ddb4
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:37:02 +01:00
Lyon3 Team 34ae0f50ae Bug 15130: useless unitialization warnings when updating authorities
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
  Fixes a trivial coding error.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 6c94dc7987)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:30:31 +01:00
Colin Campbell 374f5f4a38 Bug 14673: Work around change to AddIssue return
Return from AddIssue used to be due date or undef.
Now it is less straightforward returning am issue object
if an issue row is created or undef. If the issue is a renewal
undef is returned. As that case was not handled properly it
caused the server site to crash the listener causing a
communications error on the client.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b4967bf0ed)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:27:06 +01:00
Marc Véron 0d0b4ae848 Bug 14781: Creation of barcode types 2of5 not functional
This patch fixes the rendering of "COOP2of5" or "Industrial2of5" barcodes in the label creator module.

To test:
- Create a label layout with COOP2of5 barcode type
- Create labels (make sure that the items's barcode values are numeric only!)
- Export batch and download PDF.

Without patch:
- No barcodes rendered
With patch
- Barcodes should render as expected. Test for both barcode types.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works as described, tested both formats.
Non digit barcode is not printed.

No koha-qa errors, no t/ & xt/ errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Note: To be printed, barcode should be numerical.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2b88f0cb38)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:25:45 +01:00
Jonathan Druart 0dc59ab982 Bug 15066: Make transfer rotating collection works under Plack
This patch the 2 following errors:
Undefined subroutine &C4::RotatingCollections::transferbook called at
C4/RotatingCollections.pm line 451.
Undefined subroutine &C4::RotatingCollections::GetTransfers called at
C4/RotatingCollections.pm line 450.

And this warning:
"my" variable $colId masks earlier declaration in same scope at
/home/koha/src/rotating_collections/transferCollection.pl line 75.

Test plan:
Create a rotating collection
Transfer it to another branch
It should work with this patch

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@theke.io>
(cherry picked from commit 1ef0b3c471)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:20:44 +01:00
Jonathan Druart 7853b503ab Bug 10799: Limit the SCO user to the SCO module
The SCO user should only be allowed to access to the SCO module.

This patch make the session ends if the user tries to access another
page after the SCO module.

Test plan:
0/ Configure the SCO module correctly
1/ Go on the sco main page (sco/sco-main.pl)
2/ Try to go somewhere else: you should not be logged in

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 02feeca14f)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
2015-11-29 21:16:05 +01:00