]> git.koha-community.org Git - koha.git/log
koha.git
10 years agoBug 11179: (follow-up) add comment to item-status.inc
Galen Charlton [Thu, 19 Dec 2013 17:02:19 +0000 (17:02 +0000)]
Bug 11179: (follow-up) add comment to item-status.inc

This patch adds a comment to item-status.inc to describe
the parameters it can accept.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11179: (follow-up) apply fix to Boostrap theme
Owen Leonard [Thu, 14 Nov 2013 20:41:02 +0000 (15:41 -0500)]
Bug 11179: (follow-up) apply fix to Boostrap theme

This follow-up applies the same fix to the Bootstrap theme. This patch
also includes the changes to item-status.inc in the Bootstrap theme
which were made to the prog theme in Bug 10820: display item status as
lost if item is both lost and on loan.

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Bootstrap theme looking so nice. Also the patch works.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11179: make OPAC course details page display status of checked out items correctly
Kyle M Hall [Thu, 31 Oct 2013 18:27:30 +0000 (14:27 -0400)]
Bug 11179: make OPAC course details page display status of checked out items correctly

If an item is listed for a course and is checked out, the item will
still show as being available from the course details page which lists
all the items that are part of a course. This is due to the way the
course reserves system handles items and issues separately, while
item-status.inc assumes the due date has been embedded in items.datedue

Test Plan:
1) Create a course
2) Add an item to that course
3) Check the item out to a patron
4) View the course details from the opac
5) Note the status says "Available"
6) Apply this patch
7) Repeat step 4
8) Note the status no longer says "Available"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11228: Improve hint on patron notification when adding/editing subscriptions
Katrin Fischer [Thu, 5 Dec 2013 20:47:25 +0000 (21:47 +0100)]
Bug 11228: Improve hint on patron notification when adding/editing subscriptions

The hint was not quite correct, as it said patrons on the routing list
would be informed, but it's only the patrons that have subscribed to
email notifications in the OPAC who will receive the email when a
new serial issue is received.

To test:
- Add a new subscription, find the hint about patron notification on the form
- Apply patch
- Refresh page
- Verify the new hint text makes sense and is correct

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11417: make sure remove_unused_authorities.pl accepts --test
Gaetan Boisson [Wed, 18 Dec 2013 14:19:50 +0000 (15:19 +0100)]
Bug 11417: make sure remove_unused_authorities.pl accepts --test

This patches adds support for the --test option, as well as a
short message telling the user the script is running in test mode.

Test plan :
- Launch the script with -h to see the help
- Launch the script with --test and --aut with an authtypecode
  that is used in your instance
- Make sure it does the same thing as launching it with -t
- Launch the script for real and make sure it still works as
  expected, deleting unused authorities.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11279: (follow-up) remove unnecessary check on number of quotes
Jonathan Druart [Thu, 19 Dec 2013 10:05:54 +0000 (11:05 +0100)]
Bug 11279: (follow-up) remove unnecessary check on number of quotes

It is not necessary to process the case where the number of quotes
is just one, as int(rand(1)) will always produce 0, which is a valid
offset.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11279: Improve how a new quote of the day is selected
Katrin Fischer [Wed, 11 Dec 2013 23:54:08 +0000 (00:54 +0100)]
Bug 11279: Improve how a new quote of the day is selected

If there is a gap in the id sequence for the quotes table, it
is possible that no new quote will be selected. This will happen
particularly when a lot of the older quotes with low ids have been
deleted.

This patch improves the selection of a new quote.

To test:
- Load sample quotes
- Delete the first half of the quotes.
  Note: With 34 quotes, delete the quotes with ids from 1-17
- Activate the QuoteOfTheDay system preference
- Check if a quote is displayed in OPAC
- Reload the page a few times, no quote should be displayed
  Note: make sure you don't have a quote with the current
  date in your quotes table before running those tests
- Run 'perl t/db_dependent/Koha.t'
  Note: requires sample quotes!
- Apply patch
- Reload the OPAC start page
- Verify a quote was now picked
- Run 'perl t/db/dependent/Koha.t' again - all tests should still pass

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Patch modified to use "LIMIT 1 OFFSET ?" rather than "LIMIT ?, 1"; the
latter construction does not work in PostgreSQL.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11279: regression test for picking random quote
Katrin Fischer [Thu, 12 Dec 2013 19:50:52 +0000 (20:50 +0100)]
Bug 11279: regression test for picking random quote

This patch adds new tests based on the db_dependent tests in
t/db_dependent/Koha.t for GetDailyQuote().

Tests run on an empty database and don't require Test::Deep.

Tests will fail before applying the patch for 11297, but will
pass after applying the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9673: (follow-up) update DBIx::Class schema classes
Galen Charlton [Thu, 19 Dec 2013 06:29:25 +0000 (06:29 +0000)]
Bug 9673: (follow-up) update DBIx::Class schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9673: DBRev 3.15.00.007
Galen Charlton [Thu, 19 Dec 2013 06:26:46 +0000 (06:26 +0000)]
Bug 9673: DBRev 3.15.00.007

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9673: QA followup
Jonathan Druart [Mon, 4 Nov 2013 11:23:23 +0000 (12:23 +0100)]
Bug 9673: QA followup

This followup fixes the wthdrawn typo exist in updatedatabase.pl and
does not display the lostitem date if the lostitem value is not set (!=
"").

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9673 - Track when items are marked as lost or withdrawn
Kyle M Hall [Wed, 20 Feb 2013 14:34:38 +0000 (09:34 -0500)]
Bug 9673 - Track when items are marked as lost or withdrawn

Add date fields to track when an item was marked as lost or withdrawn.
Display those fields on catalogue/moredetail.pl

Test Plan:
1) Apply patch
2) Run updatedatabase.pl
3) Pick a record with items, browse to the 'items' tab ( moredetail.pl )
4) Mark an item as lost, verify the field "Lost on:" displays below
   the "Lost status" field with todays date.
5) Mark the item as not lost, verify the field no longer displays
6) Repeat steps 4 and 5 with the Withdrawn field.

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoMerge branch '3.16-help-split' of https://github.com/bgkriegel/koha-translate
Galen Charlton [Tue, 17 Dec 2013 20:03:03 +0000 (20:03 +0000)]
Merge branch '3.16-help-split' of https://github.com/bgkriegel/koha-translate

10 years agoTranslation update - split staff UI and help files
Bernardo Gonzalez Kriegel [Tue, 17 Dec 2013 19:22:49 +0000 (16:22 -0300)]
Translation update - split staff UI and help files

10 years agoBug 9807: (follow-up) quell warning if invoice price not set
Galen Charlton [Tue, 17 Dec 2013 17:34:21 +0000 (17:34 +0000)]
Bug 9807: (follow-up) quell warning if invoice price not set

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9807: (follow-up) reindent basketgroup.tt
Mathieu Saby [Fri, 8 Nov 2013 15:15:33 +0000 (16:15 +0100)]
Bug 9807: (follow-up) reindent basketgroup.tt

Basketgroup.tt is very hard to read. This patch simply reindents it.
No visible changes expected

Regression test :
- check the list of opened and closed basketgroups for a vendor is
  displayed properly
- check an individual basketgroup (closed and opened) is displayed
  properly
- check you can edit a basketgroup and save changes
- check you can print and export a basketgroup
- check you can close and reopen a basketgroup

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9807: (follow-up) fix variable name
Mathieu Saby [Thu, 7 Nov 2013 20:01:46 +0000 (21:01 +0100)]
Bug 9807: (follow-up) fix variable name

Fixing closedbg name in template

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9807 : Make it possible to view a basket group without reopening it
Mathieu Saby [Thu, 7 Nov 2013 19:16:40 +0000 (20:16 +0100)]
Bug 9807 : Make it possible to view a basket group without reopening it

This patch make possible to view an individual closed basket group

without reopening it.
- It adds a new "View" button on closed basket group list
- It creates a view for closed basket groups, with 3 buttons (reopen,
  print, export)
- It adds a "delete" button on standard "edit" view (for open
  basket groups)

To test :
1/ regression test :
- create some empty basket groups
- create some basket groups by closing baskets
- in the list of basket groups closed and opened, check you can use
  the buttons that existed before the patch (close and print, delete,
  export, print, reopen)
- click on "Edit" to edit a opened basket group : check everything is
  like before :
-- change the billing and delivery places,
-- add a note,
-- put some new baskets  in the bg,
-- remove baskets from it
-- save it without checking "close" box => it should be saved but kept
   open
-- edit it again, and make other some changes (define a freetext
   delivery place for example)
-- save it with checking "close" => it should be saved but closed

2/ new feature test
- click on "view" button on top right column of some closed basket group
- check all the displayed informations are correct (places, free place,
  note, list of baskets)
- check you can not change anything
- click on "print" button => check a pdf is created
- click on "export" button => check a csv is created
- click on "reopen" button => you should stay on the same basket group, but
  it is now open and you can make some changes
- go back to the basket group list of the vendor. Check the reopened bg
   is in "open" tab
- click on "edit"
- click on new "delete" button => the bg should be deleted, and you are
  redirected to the bg list of the vendor.

Signed-off-by: cedric.vita@dracenie.com <cedric.vita@dracenie.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, t and xt. Works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7518: certain searches with quotation marks don't work
Fridolyn SOMERS [Thu, 7 Mar 2013 15:02:55 +0000 (16:02 +0100)]
Bug 7518: certain searches with quotation marks don't work

Under certain circumstance, a search term without quotation marks
returns the expected results while the same search with a
double quote embedded in it would fail.

Koha should ignore the quotation marks and return results anyway.

This appears when  QueryWeightFields syspref is activated (and
QueryAutoTruncate is off), as field weighting builds a complex CCL
query using double quotes around search words.  This patch simply
replaces double quotes in search words by a space.

Test plan :
- Set QueryAutoTruncate off (you may also need to set QueryFuzzy to off)
- Set QueryWeightFields off
- Perform a serch on two words where you have results, like : centre "ville
=> you get results
- Set QueryWeightFields on
- Perform same serch
=> you get the same results

Signed-off-by: Leila <koha.aixmarseille@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7518: regression test double-quote in search operand
Galen Charlton [Tue, 17 Dec 2013 16:32:09 +0000 (16:32 +0000)]
Bug 7518: regression test double-quote in search operand

Under certain circumstances, namely where QueryParser is off,
QueryWeightFields is on, and QueryFuzzy and QueryAutoTruncate are
off, a search with a double-quote embedded in it can fail: for
example

    web application

would return results where

    web "application

does not.

This patch adds an automated regression test.

To test:

[1] Apply this patch and run prove -v t/db_dependent/Search.t;
    two tests should fail.
[2] After applying the main patch that fixes the bug, the
    prove -v  t/db_dependent/Search.t should succeed.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11249: DBRev 3.15.00.006
Galen Charlton [Tue, 17 Dec 2013 15:32:17 +0000 (15:32 +0000)]
Bug 11249: DBRev 3.15.00.006

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11249: Add Db indexes on borrowers names
Fridolyn SOMERS [Thu, 14 Nov 2013 13:29:51 +0000 (14:29 +0100)]
Bug 11249: Add Db indexes on borrowers names

The borrowers search is by default on columns surname, firstname,
othernames and cardnumber.

(See C4::Members::_express_member_find).

Adding DB indexes will really increase the query speed.

This patch adds DB indexes on surname, firstname, othernames (cardnumber
has already an index).

Those indexes must be defined with a size because columns are mediumtext.

Test plan :
Test with mysql client :
mysql> explain select * from borrowers where surname like 'A%';
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
| id | select_type | table     | type  | possible_keys | key         | key_len | ref  | rows | Extra       |
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
|  1 | SIMPLE      | borrowers | range | surname_idx   | surname_idx | 767     | NULL |  395 | Using where |
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
=> key show the index is used

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, changes from updatedatabase and in kohastructure match.
I think deletedborrowers can be left out, as it's not queried when doing
patron searches. Patron deletes still work as expected.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7934: generate separate PO files for help pages
Bernardo Gonzalez Kriegel [Wed, 4 Dec 2013 23:44:36 +0000 (20:44 -0300)]
Bug 7934: generate separate PO files for help pages

This patch modifies LangInstaller.pm to enable separation
of translation for Staff UI and Staff Help files.

It's a move that make sense, Help strings accounts for
44% of total word count for Staff, and as stated on
Comment #1, it could enable a different workflow on
translation work.

It's more a hack than an elegant solution, but it works.
Feel free to suggest another approach.

To test:

We need to test complete functionality, i.e. create and update
translation files and install translation, and verify that no
string is missing.

1) Before applying the patch, we need some data from staff file.
Pick your language, say de_DE, and

cd misc/translator/
perl translate update de-DE
msginit -i po/de-DE-i-staff-t-prog-v-3006000.po -o de-old.po --no-translator --no-wrap --locale=de_DE
egrep ^msgid de-old.po | sort | tee s-old | wc -l > number-old

We have the file s-old with all strings, and the number of strings on number-old

2) Apply the patch

3) New help file is called de-DE-staff-help.po, so create one
cp'ing old staff on new help

cp po/de-DE-i-staff-t-prog-v-3006000.po po/de-DE-staff-help.po

4) Make a new update, and analize

perl translate update de-DE
msginit -i po/de-DE-i-staff-t-prog-v-3006000.po -o de-new.po --no-translator --no-wrap --locale=de_DE
msginit -i po/de-DE-staff-help.po -o de-help.po --no-translator --no-wrap --locale=de_DE
egrep ^msgid de-new.po | sort | tee s-new | wc -l > number-new
egrep ^msgid de-help.po | sort | tee s-help | wc -l > number-help
cat s-new s-help | sort | uniq | tee s-all | wc -l > number-all
cat s-new s-help | sort | uniq -d | tee s-dup | wc -l > number-dup

Ideally what we need to found is:

diff s-old s-all = zero lines (old strings vs new strings)

In my test I got one line, but it's a false positive (the string "• " is present on new staff)

On numbers,

number-old - number-new - nummber-help + number-dup = 0
or
number-old - number-all = 0

(in my test again I have 1 as result, same string. Also there are 137
repeated lines between new staff and help)

All this tells me that all string to translate are preserved

5) Install translation

perl translate install de-DE

Enable language on staff, and check that help files are translated

6) Finally, create translation files

rm po/de-DE-*
perl translate create de-DE

verify that all files are created. Tests of 4) can be repeated.

7) Verify that no strings from help are present on staff UI file

egrep help po/de-DE-i-staff-t-prog-v-3006000.po

Only results came from help-top and bottom, and a few "help" on staff strings

Signed-off-by: Fridolyn SOMERS <fridolyn.somers@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested according to test plan. Checked various pages in OPAC,
staff and intranet, translation was ok.
Passes QA script and tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11277: fix errors with search facet links in Bootstrap theme
Frédéric Demians [Tue, 26 Nov 2013 09:16:41 +0000 (10:16 +0100)]
Bug 11277: fix errors with search facet links in Bootstrap theme

This patch fixes the following rwo errors:

  1. When selecting 'show more' above a facet, the advanced search page
     is displayed.
  2. When restricting search on a library facet, all the biblio records
     of this library are returned.

The patch fixes the way URL are encoded with TT filter. See:

http://search.cpan.org/~abw/Template-Toolkit-2.25/lib/Template/Manual/Filters.pod#url

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch works nicely. Tests done:
- 'More' link on facets redirects to advanced search before applying
  the patch. After appyling the link works correctly.
- In my tests, the facet links themselves worked nicely, limiting the
  search as expected.
- Availability search works ok for me with patch applied.
- Also made sure to click on some links containing diacritcts (German
  umlauts).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10626: (follow-up) replace another use of KohaBranchName
Kyle M Hall [Tue, 27 Aug 2013 17:14:12 +0000 (13:14 -0400)]
Bug 10626: (follow-up) replace another use of KohaBranchName

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:
Make sure
- independentbranches is turned on
- Your user doesn't have superlibrarian permission
Then
- Try to check out an item with home and holding branch !=
  logged in branch

Patch works alright.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10626 - Remove doubled up TT plugins - Merge KohaBranchName and Branches
Kyle M Hall [Tue, 23 Jul 2013 13:52:08 +0000 (09:52 -0400)]
Bug 10626 - Remove doubled up TT plugins - Merge KohaBranchName and Branches

Looking at the TT plugin directory I notice we have some plugins that
seem to do the same thing:

KohaBranchName.pm
Branches.pm

This patch drops KohaBranchName in favor of Branches

Test Plan:
1) Apply this patch
2) View a basket group, note the branch name is displayed
3) View a subscription's details, note the branch name is displayed
4) View suggestions, note the branch names are displayed
5) Return an item that needs transfered, note the branch name is displayed
6) Run 'prove t/db_dependent/Koha_template_plugin_Branches.t'

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Also tested with a branch name with umlauts.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) update the POD for C4::Serials::SearchSubscriptions
Galen Charlton [Sat, 14 Dec 2013 00:33:25 +0000 (00:33 +0000)]
Bug 10852: (follow-up) update the POD for C4::Serials::SearchSubscriptions

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) regression tests
Galen Charlton [Sat, 14 Dec 2013 00:24:06 +0000 (00:24 +0000)]
Bug 10852: (follow-up) regression tests

This patch adds regression tests for the changes to
C4::Serials::SearchSubscriptions().

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) fix POD for C4::Serials::NewSubscription
Galen Charlton [Sat, 14 Dec 2013 00:21:48 +0000 (00:21 +0000)]
Bug 10852: (follow-up) fix POD for C4::Serials::NewSubscription

The error in the POD was discovered in the course of writing
test cases for the main patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) tweak wording of serials search form
Galen Charlton [Sat, 14 Dec 2013 00:10:46 +0000 (00:10 +0000)]
Bug 10852: (follow-up) tweak wording of serials search form

* "Callnumber" => "Call number"
* "Expire before" => "Expires before"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) switch from KohaAuthorisedValues to AuthorisedValues
Kyle M Hall [Fri, 13 Dec 2013 20:34:17 +0000 (15:34 -0500)]
Bug 10852: (follow-up) switch from KohaAuthorisedValues to AuthorisedValues

Bug 10626 will remove the KohaAuthorisedValues plugin and keep the
AuthorisedValues plugin.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: (follow-up) rename the "expiration date" filter name
Jonathan Druart [Wed, 4 Dec 2013 13:42:22 +0000 (14:42 +0100)]
Bug 10852: (follow-up) rename the "expiration date" filter name

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10852: serials search improvements
Jonathan Druart [Tue, 20 Aug 2013 13:06:08 +0000 (15:06 +0200)]
Bug 10852: serials search improvements

This patch adds 3 filters for the serials search:
- location
- callnumber
- expiration date

To test:
- Search serials by location and/or callnumber and/or expiration date
  and check that results are consistent.

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: (follow-up) update POD for C4::Acquisition::GetHistory
Galen Charlton [Fri, 13 Dec 2013 23:51:18 +0000 (23:51 +0000)]
Bug 8230: (follow-up) update POD for C4::Acquisition::GetHistory

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: (follow-up) repair regression on order search
Galen Charlton [Fri, 13 Dec 2013 23:42:26 +0000 (23:42 +0000)]
Bug 8230: (follow-up) repair regression on order search

This patch repairs a regression introduced by the main
patch where it became impossible to search for cancelled
orders from the advanced order search form.

This patch also tweaks the wording on the order status
drop-down on the order search form to clarify that the
default status filter is orders that have any status
except cancelled.

To test:

[1] Before applying this patch, perform an advanced
    order search (acqui/histsearch.pl) for orders
    with status cancelled.  Observe that no hits are returned.
[2] Apply the patch and run the search again.  This time,
    the cancelled orders should be returned.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: (follow-up) fix detection of cancelled orders
Galen Charlton [Fri, 13 Dec 2013 23:19:55 +0000 (23:19 +0000)]
Bug 8230: (follow-up) fix detection of cancelled orders

This patch fixes a problem where the quantity / items column
in the acquisitions detail table would display ilnks to
items for cancelled orders.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: (follow-up) don't link to basket unless user has appropriate permissions
Galen Charlton [Fri, 13 Dec 2013 23:04:59 +0000 (23:04 +0000)]
Bug 8230: (follow-up) don't link to basket unless user has appropriate permissions

With this patch, the basket number on the bib details page is linked
to the basket management page only if the staff user has the appropriate
permissions.

To test:

[1] Log in as a user with the acquisition/order_manage permission.
    Bring up a bib record that is attached to an order and verify
    that the basket number is an active link.
[2] Log in as a user that doesn't have the acquisition/order_manage
    permission.  Verify that the basket number displayed on the bib
    details page is not a hyperlink.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: DBrev 3.15.00.005
Galen Charlton [Fri, 13 Dec 2013 22:55:15 +0000 (22:55 +0000)]
Bug 8230: DBrev 3.15.00.005

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: (follow-up) reflect the fact that order statuses are now alphabetic codes
Jonathan Druart [Fri, 18 Oct 2013 13:05:11 +0000 (15:05 +0200)]
Bug 8230: (follow-up) reflect the fact that order statuses are now alphabetic codes

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised. No regressions found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8230: Display acquisition details on the catalogue detail page
Jonathan Druart [Wed, 18 Sep 2013 12:30:05 +0000 (14:30 +0200)]
Bug 8230: Display acquisition details on the catalogue detail page

This patch adds a new tab "Acquitition details" on the catalogue detail
page. It provides a list of order made for this biblio.

New system preference:

AcquisitionDetails: Hide/Show the new tab.  The default for
new and upgraded installations is to display the new tab.

Test plan:
1/ Apply the patch.
2/ Select the "placing an order" value for the AcqCreateItem pref.
3/ Create a new order with X items.
4/ Go on the catalogue detail page for the selected biblio.
5/ Click on the "Acquisition details" tab and check that your order is
displayed. Itemnumbers are present in the last column. Check that links
are not broken.
6/ Close your basket.
7/ Status become "Ordered"
8/ Receive X-1 items.
9/ Come back on the catalogue detail page. There are 2 orders: 1
complete and 1 partial. The complete one has a receive date.
10/ Receive the last item.
11/ Now you have 2 orders with a complete status.
12/ Cancel the last receipt.
13/ You have 1 ordered and 1 complete (2 items).
14/ Cancel the first receipt.
15/ You have 1 ordered (3 items).
16/ Delete your order
17/ You have 1 deleted order.
18/ Switch the AcqCreateItem pref to "receiving an order"
19/ Do again steps 3 to 17.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11124: QA Follow-up adding optional dependency HTTPD::Bench::ApacheBench
Marcel de Rooy [Fri, 6 Dec 2013 09:15:52 +0000 (10:15 +0100)]
Bug 11124: QA Follow-up adding optional dependency HTTPD::Bench::ApacheBench

This dependency is used in load testing (misc/load_testing/*)

Test plan:
Check if you see the dependency listed on About/Perl modules.
Verify if the version information is correct.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11124: QA Follow-up resolving a warning and three typos
Marcel de Rooy [Fri, 6 Dec 2013 10:13:41 +0000 (11:13 +0100)]
Bug 11124: QA Follow-up resolving a warning and three typos

Resolves warning on uninitialized author in split on line 128.
Just adds the same behavior for title on line 129 for completeness.
Fixes typo on occurrences and two other minor typos.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11124: disallow trying to run the staff benchmark script as the DB account
Jonathan Druart [Wed, 23 Oct 2013 14:48:14 +0000 (16:48 +0200)]
Bug 11124: disallow trying to run the staff benchmark script as the DB account

On step 6 (at least), the circulation and return page redirect to the
select branch page and nothing is done.

The script should die if the user used is the sql administrator account.

Test plan:
Suppose that the sql admin account is root/root and koha/koha a
superlibrarian account.

1/
perl misc/load_testing/benchmark_staff.pl --steps=6
--url=http://admin.koha.local/cgi-bin/koha/
--password="koha" --user="koha"
should produce:
  ...
  Step 6
  ...

2/
perl misc/load_testing/benchmark_staff.pl --steps=1
--url=http://admin.koha.local/cgi-bin/koha/
--password="root" --user="root"
should produce:
Authentication successful
You cannot use the database administrator account to launch this script

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11255: allow "relevance ascending" as a sort option
Jonathan Druart [Fri, 15 Nov 2013 10:10:04 +0000 (11:10 +0100)]
Bug 11255: allow "relevance ascending" as a sort option

This patch fixes a problem where if a staff member sets the
*defaultSortField/*defaultSortOrder system preferences to relevance
ascending while QueryParser is enabled, default keyword search
would break -- the query parser config did not declare relevance asc
as a possible "modifier".

Note that setting the sort order to relevance ascending does not
actually make catalog search return results with the least relevant
records showing up first; Zebra does not support such a mode.  In other
words, relevance ascending acts exactly the same as relevance descending.

Test plan:

0/ Create some biblio with "history" in the title and
   ensure that the QueryParser system preference is enabled.
1/ Define prefs defaultSortField = relevance and defaultSortOrder = asc
2/ Search "history" on the staff interface
3/ Note that no result is returned.
4/ Apply the patch
5/ Verify the queryparser config file in use takes the modification into
account (see the queryparser_config value in your $KOHA_CONF file).
6/ Relaunch the search and verify results are returned

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11261: make sample serial frequencies mandatory during installation
Jonathan Druart [Fri, 6 Dec 2013 14:44:52 +0000 (15:44 +0100)]
Bug 11261: make sample serial frequencies mandatory during installation

Test plan:
Verify all sample_frequencies.* files have been moved from optional
to mandatory directories.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11261: make sample serial numbering patterns mandatory during installation
Jonathan Druart [Tue, 19 Nov 2013 14:21:25 +0000 (15:21 +0100)]
Bug 11261: make sample serial numbering patterns mandatory during installation

Test plan:
Verify all sample_numberpatterns.* files have been moved from optional
to mandatory directories.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All sample files for numbering patterns are moved from optional
to mandatory.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 9224: Make acqui/finishreceive.pl Plack-compatible
Jacek Ablewicz [Wed, 16 Oct 2013 15:31:04 +0000 (17:31 +0200)]
Bug 9224: Make acqui/finishreceive.pl Plack-compatible

Under Plack/mod_perl wrapping, sub update_item() will become a closure,
so after the 1st run it will retain its own private instances of the
following variables: $booksellerid, $datereceived, $unitprice, $rrp,
$biblionumber.

I.e., in case update_item() gets invoked 2nd+ time (inside
the same process, but for different-subsequent receives) it may
incorrectly flag the (old, wrong) biblionumber for Zebra reindexing,
and erronously modify the current item[s] with the previously
used (wrong) values.

This simple patch should make acqui/finishreceive.pl Plack-compatible.

Test plan:
Test patched acqui/finishreceive.pl script (create and receive some
orders w/ items, etc.). Ensure items are gettting added and/or modified
correctly during receiving process.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised, no regressions found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8334: (follow-up) remove commented JS code
Jonathan Druart [Fri, 13 Dec 2013 14:46:15 +0000 (15:46 +0100)]
Bug 8334: (follow-up) remove commented JS code

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8334 - Authority UNIMARC 100 field plugin
Vitor FERNANDES [Wed, 18 Sep 2013 20:58:24 +0000 (17:58 -0300)]
Bug 8334 - Authority UNIMARC 100 field plugin

This patch adds a plugin for field 100 of UNIMARC
authorities.

To test on a UNIMARC site:
1) Apply the patch
2) Edit some authority framework, field 100
3) Link subfield 'a' to unimarc_field_100_authorities.pl
plugin, save
4) Edit or add auth record, click on '...' to bring plugin
5) Modify field 100a
6) Save record

Thanks to Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> for
converting Vitor's original patch to a Git patch and doing
some tidying.

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Stephane Delaye <stephane.delaye@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11174: fix OPAC search links built from authority 5xx fields
Zeno Tajoli [Wed, 30 Oct 2013 18:36:41 +0000 (19:36 +0100)]
Bug 11174: fix OPAC search links built from authority 5xx fields

In the templates opac-authoritiessearchresultlist of prog and
bootstrap the incorrect parameter 'valuec' is changed to 'value'

To test:

1) Insert an authority record with a 5xx field  (on MARC21 or UNIMARC)
2) Index the record
3) Search for the record in using OPAC authorities search.
4) Click one of the "see also" links built from the 5xx field, the link
   doesn't work
5) Apply the patch
6) Close the browser
7) Open the opac and select the english interface
8) Redo the search
9) Now the link works
10) To use the patch in others languages you need to regenerate the
    templates.

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

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Following commit remove the use to valuec:
 commit 31f41e2c1db9d8dca82e0249050acb8f906c8164
    Bug 8206: Specify index in OPAC authority search

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10983: Remove unused private subroutines from C4::Budgets
Colin Campbell [Wed, 2 Oct 2013 08:25:16 +0000 (09:25 +0100)]
Bug 10983: Remove unused private subroutines from C4::Budgets

The subroutine _filter_fields is not used by the module
and the sub _columns is only used by it

This patch removes the dead code.

To test:

[1] Verify that the following tests pass

    t/Budgets.t
    t/Budgets/CanUserModifyBudget.t
    t/Budgets/CanUserUseBudget.t
    t/db_dependent/Acquisition.t
    t/db_dependent/Acquisition/GetOrdersByBiblionumber.t
    t/db_dependent/Acquisition/Invoices.t
    t/db_dependent/Acquisition/OrderFromSubscription.t
    t/db_dependent/Acquisition/TransferOrder.t
    t/db_dependent/Acquisition/close_reopen_basket.t
    t/db_dependent/Bookseller.t
    t/db_dependent/Budgets.t
    t/db_dependent/Serials.t
    t/db_dependent/Serials_2.t

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Looks good to me.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7143: Adding RMaint for 3.8 to release team
Marcel de Rooy [Mon, 9 Dec 2013 07:47:59 +0000 (08:47 +0100)]
Bug 7143: Adding RMaint for 3.8 to release team

As a follow-up after December 4 meeting.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Correct addition, no problems found.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11009: (follow-up) tweak wording and remove potential log noise
Galen Charlton [Tue, 10 Dec 2013 20:20:37 +0000 (20:20 +0000)]
Bug 11009: (follow-up) tweak wording and remove potential log noise

This patch makes the message that is displayed when attempting to
view circ history for the anonymous patron more informative.  It
also removes a potential source of log noise if the AnonymousPatron
system preference happens to be set to a blank value.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11009: Do not display circulation history of anonymous patron
Fridolyn SOMERS [Tue, 8 Oct 2013 07:34:42 +0000 (09:34 +0200)]
Bug 11009: Do not display circulation history of anonymous patron

When using an anonymous patron to anonymise issues history, this patron
may have a huge number of old issues. In this case, trying to display
the reading history of this patron will perform a huge SQL query.
It is not useful to have the reading history of this anonymous patron.

This patch adds an alert instead of old issues when displaying reading
records of anonymous patron.

Test plan :
- Set syspref AnonymousPatron to 0.
- Select a borrower with old issues. For example 123.
- Look at its reading records page : members/readingrec.pl
=> Old issues are displayed in a datatable
- Set syspref AnonymousPatron with this borrower number. For example 123.
- Look at its reading records page
=> Old issues are not displayed and an alert is displayed
- Using SQL query, remove old issues of this borrower :
    DELETE FROM old_issues WHERE borrowernumber=123.
- Look at its reading records page
=> A message is displayed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This works as advertised and seems like a reasonable thing to do. I
suspect that someone will object... Perhaps that person will implement a
solution which uses an AJAX DataTable.

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11112: (follow-up) add FIXME
Galen Charlton [Tue, 10 Dec 2013 18:21:09 +0000 (18:21 +0000)]
Bug 11112: (follow-up) add FIXME

The caching introduced by the main patch is not ideal
as it won't work correctly if a persistance engine is used.

However, I have good reason to expect that bug 8089 will
be worked on (because I'm going to do it) so that Koha::Cache
can be used for this prior to the release of 3.16.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11112: (follow-up) repair Koha::Calendar->add_holiday()
Galen Charlton [Tue, 10 Dec 2013 18:11:37 +0000 (18:11 +0000)]
Bug 11112: (follow-up) repair Koha::Calendar->add_holiday()

This patch ensures that the package-level cache is updated
when add_holiday() is used.  Note that except for the test
case added by this patch, there doesn't seem to be anything
that actually calls ->add_holiday(); it may be better to remove it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11112: Koha::Calendar needs some caching
Jonathan Druart [Wed, 16 Oct 2013 13:36:30 +0000 (15:36 +0200)]
Bug 11112: Koha::Calendar needs some caching

Each time a Koha::Calendar object is created, its constructor retrieves
all holidays from the database and create a DateTime::Set object with
all holidays.

[RM note: I've observed that the time it takes DateTime::Set to be
 initialized with a set of dates increases faster than linearly with
 the number of dates.  I think this, more than just retrieving a bunch
 of holidays from the database, is what is most expensive.]

In one of our customer's DB, there are 11085 special_holidays and 598
repeatable_holidays. When a loan is returned, there are 3 calls to
Koha::Calendar->new.

This patch adds caching of the holiday list via package-level variables
as well as lazy fetching of the holidays. (RM note: this means that if
a persistance engine is in use, updates to the holiday list will not
be reflected during checkout.  I'm allowing this breakage for now on
the plan that bug 8089 will be fixed soon and we can switch to using
Koha::Cache).

Nytprof benchmarks (on a 3.8.x branch):
In DateTime::Set->from_datetimes:
3 times (5.49ms+4.90s) by Koha::Calendar::_init at line 80 of Koha/Calendar.pm, avg 1.63s/call
on a total of 7.67s (of 10.2s), executing 6353333 statements and 3031273 subroutine calls in 147 source files and 36 string evals.
for the circulation/return.pl page.

Comparing the access_log:

Without the patch:
checkout: time=2759838
checkin: time=1832751

Without the patch and with overdues:
checkout: time=1086727 + time=1144706
checkin: time=3928854 (x2)

With the patch and overdues:
checkout: time=1077839 + time=1060886
checkin: time=2420898

Test plan:
- checkout an item with a return date < today
- checkin the item and verify the suspension period is well calculated
  (depending on the holidays).
- prove t/db_dependent/Holidays.t
- t/Calendar.t

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11032: Check a valid MARC::Record passed to Biblio
Colin Campbell [Thu, 10 Oct 2013 17:06:14 +0000 (18:06 +0100)]
Bug 11032: Check a valid MARC::Record passed to Biblio

Intermittently problems in the calling environment
cause a C4::Biblio routine to be called with an undefined
MARC::Record object. This results in the process
dying and returning to the end user a low level
message such as 'cannot call method x on an undefined
object'.

For exported subroutines taking a MARC::Record object,
check that object is defined otherwise return a logical
return value and log a stack trace to the error log.
A couple of cases were checking but dying, this may have
unwelcome results in a persistent environment so croak has
been downgraded to carp

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Adds lots of checks for $record in various places, should
not affect behaviour.
Passed all tests and QA script, including new unit tests.
Tested adding and saving a new record.
Also tested detail and result pages without XSLT.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10605: fix encoding issue on basket email (INTRANET)
Jonathan Druart [Thu, 14 Nov 2013 10:31:23 +0000 (11:31 +0100)]
Bug 10605: fix encoding issue on basket email (INTRANET)

Same fix for the staff interface.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Both patches tested with English and German, diacritics
now appear correctly if UTF-8 is selected as encoding.
Passes all tests and QA script.

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10605: fix encoding issue in basket email (OPAC)
Jonathan Druart [Thu, 14 Nov 2013 11:17:38 +0000 (12:17 +0100)]
Bug 10605: fix encoding issue in basket email (OPAC)

There is an encoding issue on the received mail.
Here, we have to keep the encode_qp in order not to break links (= is a
special char for email https://en.wikipedia.org/wiki/MIME#Encoded-Word).

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10808: (follow-up) reformat auth_finder.pl
Fridolyn SOMERS [Fri, 30 Aug 2013 09:41:26 +0000 (11:41 +0200)]
Bug 10808: (follow-up) reformat auth_finder.pl

Perltidy and some format changes.

Most important : call to get_template_and_user must be at begining
of script because it checks authentification.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing notes:
- Tested various searches, selections now remain after
  submitting the search form.
Regression testing:
- Clearing the authority from the record still works.
- Creating a new authority from the plugin page
  still works.
- Autocomplete of entries still works.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10808: make authority search form retain drop-down selections
Fridolyn SOMERS [Fri, 30 Aug 2013 08:54:00 +0000 (10:54 +0200)]
Bug 10808: make authority search form retain drop-down selections

When cataloging a field defined with a thesaurus, an authority search
popup is displayed with a search from. Once operators, values and sort
selected in this form the search can be performed. The bug is that the
values entered are kept but not the selected operators and sort.

The same bug was existing in authorities module, solved by Bug 8692.

This patch corrects the bug.

Also uses in 'sort by' options the same text as search in authorities
module : Heading A-Z (default), Heading Z-A, None.

Also removes duplicated code in auth_finder.pl :
    value_mainstr => $query->param('value_mainstr') || "", ...

Test plan :
- Create a new biblio with a framework containing a field linked to a
  thesaurus. For example : 600
- Click on small icon of main entry. For example : 600$a
=> You get a search form with all operators to "contains" and sort by
   "Heading A-Z"
- Enter a value in each text box and perform search
=> You get a search form with values in text boxes and all operators
   to "contains"
- Select "starts with" in all operator comboboxes and perform search
=> You get a search form with all operators to "starts with"
- Select "is exactly" in all operator comboboxes and perform search
=> You get a search form with all operators to "is exactly"
- Select "Heading Z-A" in sort by and perform search
=> You get a search form with "Heading Z-A" in sort by
- Select "None" in sort by and perform search
=> You get a search form with "None" in sort by

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: With both patches applied no koha-qa errors

Test
1) Original behavior is whatever selection you do before patch,
search form returns to default options
2) After patch, selection remains

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass, further comments on second patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10661: format mandatory item fields the same on all forms
Owen Leonard [Thu, 15 Aug 2013 14:06:29 +0000 (10:06 -0400)]
Bug 10661: format mandatory item fields the same on all forms

Mandatory item fields are not indicated the same way in all places. This
patch corrects two places where required fields were shown in bold
rather than using the standard "required" class: When adding an order
from a staged file and when adding an item for a new issue of a serial.

This patch also normalizes the text input size on item entry forms: In
some places it was 50, others 67. I have changed the latter to 50.

Unrelated changes: Added $KohaDates formatting of date and time and
corrected capitalization on a heading on the add order from staged file
page.

It would be nice to be able to use the same method for displaying the
item form as we use on neworderentry.tt -- pulling in the form from a
separate include. However that system is designed for handling multiple
items and would need to be adapted for these cases.

To test, you must have a staged file from which to add an order. Open an
existing basket or create a new one and choose to add an order "From a
staged file." Choose a staged file from which to order. The item entry
form under the "Import all" heading should show required fields in red.

To test in serials: Begin the process for receiving an item from an
existing subscription. On the serials-edit page, find the "Click to add
item" links and click to open the item edit forms. There should be one
under the numbered issue and the supplemental issue forms. In both cases
the item edit screen should show the mandatory item fields in red.

Confirm that the cataloging add item form looks correct and works
correctly.

Revision: Left out the "required" note which should appear after each
required field.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 8683: ensure clear button clears all item fields on order form
Jonathan Druart [Wed, 13 Nov 2013 10:33:05 +0000 (11:33 +0100)]
Bug 8683: ensure clear button clears all item fields on order form

The clear js function parses input text, but input filled to a plugin
does not contain the type attribute.

Test plan:
- fill the barcode field to the barcode plugin
- go on the new order page
- verify the barcode plugin works as before
- verify the clear link clears the barcode field and all others fields.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as expected, passes all tests and QA script.
Template change only.
Barcode and date acquired are now also cleared with the
'clear' link.

But: it only works when you enter a barcode manually currently,
because the AutoBarcode functionality is broken on master (bug 11273).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10688: Don't prefix index inappropriately
Jared Camins-Esakov [Tue, 6 Aug 2013 04:48:20 +0000 (00:48 -0400)]
Bug 10688: Don't prefix index inappropriately

If you select an index in the search dropdown and then enter in a QP
query starting with the field, Koha will prepend the index you do not
want to use at the beginning of the search, resulting in a search that
probably does not match what you were hoping for.

To test:
1) Select an index in the search dropdown in the OPAC. Author is fine.
2) Enter a search term using manually entered indexes. For example:
    ti:cat in the hat
3) Note that the search fails.
4) Apply patch.
5) Repeat steps 1 and 2.
6) Note that the search succeeds.
7) Sign off.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agobug_10781: Remove C4::ILSDI::Utility
Srdjan [Fri, 23 Aug 2013 07:59:17 +0000 (19:59 +1200)]
bug_10781: Remove C4::ILSDI::Utility

This patch removes C4::ILSDI::Utility on the basis
that one of its routines (BorrowerExists) was not used
and that the other routine can be (and is) moved to
C4/ILSDI/Services.pm.

Test:
This should be a noop. Regression testing required:
/cgi-bin/koha/ilsdi.pl functioanality, in particuler:
GetAvailability - ?service=Describe&verb=GetAvailability
AuthenticatePatron - ?service=Describe&verb=AuthenticatePatron

ILS-DI syspref must be turned on

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11290: fix display of patron home page for certain translations
Chris Cormack [Fri, 22 Nov 2013 22:04:00 +0000 (11:04 +1300)]
Bug 11290: fix display of patron home page for certain translations

To test
1) In a fresh Koha, generate translation into XX
2) Select XX for the staff interface (i.e. enable it, and choose it)
3) Go to the Patrons page
4) Everything looks fine
5) In the admin page, create a patron category with any non-ASCII
   character.
6) Go back to the Patrons page, everything is broken
7) Apply patch
8) regenerate translation
9) Go back to the Patrons page, everything looks fine
10) Switch to english it still looks fine

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Tried with ru-RU and fixes the problem.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Problem is also visible on untranslated templates changing
one of the sample category descriptions to include diacritics.

[RM note: I wasn't able to reproduce this on an unstranslated
 template -- I tried using Arabic, Cyrllic, and Spanish characters]

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10970: DBRev 3.15.00.004
Galen Charlton [Fri, 6 Dec 2013 15:53:22 +0000 (15:53 +0000)]
Bug 10970: DBRev 3.15.00.004

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10970: (follow-up) update framework only for MARC21 installations
Galen Charlton [Fri, 6 Dec 2013 15:44:46 +0000 (15:44 +0000)]
Bug 10970: (follow-up) update framework only for MARC21 installations

This patch ensures that the new MARC21 subfields don't accidentally
appear in the default MARC framework for UNIMARC or NORMARC Koha
catalogs.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 10970 - Update MARC21 frameworks to Update Nr. 17 - DB update
Bernardo Gonzalez Kriegel [Sun, 29 Sep 2013 17:14:21 +0000 (14:14 -0300)]
Bug 10970 - Update MARC21 frameworks to Update Nr. 17 - DB update

Database counterpart of Bug 10962. Updates existing MARC21
default frameworks to Update Nr. 17 (September 2013)

To test
1) Apply patch
2) run updatedatabase.pl
3) Verify new subtags

biblio
    015_q 020_q 024_q 027_q 800_7 810_7 811_7 830_7

authorities
    020_q 024_q

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11225: remove \n from some strings to be translated
Jonathan Druart [Tue, 12 Nov 2013 14:31:56 +0000 (15:31 +0100)]
Bug 11225: remove \n from some strings to be translated

Some strings in the serials module contain linebreaks \n that cause
problems in translation.

Test plan:
- Update your po file
- Verify that strings in serials/subscription-add.tt and
  serials/subscription-numberpatterns.tt are present and don't contain
  "\n" character.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template only change, passes all tests and QA script.
Updated po files now contain only the strings and no line breaks.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
No regressions found. Passes koha-qa.pl and xt.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11333: use jQuery validator plugin for CSV profiles forms
Galen Charlton [Tue, 3 Dec 2013 17:06:48 +0000 (17:06 +0000)]
Bug 11333: use jQuery validator plugin for CSV profiles forms

This patch adds the use of the jQuery validator plugin for
the two forms (new and edit) on the CSV profiles page.  Doing
this standardizes messages that gets displayed on validation
errors.

This patch, in the process, fixes a bug where if a page has
more than one validated form, only the first such form would
get the validator plugin applied to it -- it looks like $.validate()
does not do implicit iteration.

To test:

[1] Apply the patch, then go to Tools | CSV profiles.
[2] Create a new profile, but leave the name and the MARC/SQL
    fields blank.  When you click the submit button, the form
    should not be submitted; instead, text will be displayed
    to the right of each input that lacks required input.
[3] As above, but change the profile type and verify that the form
    is not submitted unless all of the required fields are filled in.
[4] Edit an existing form, then empty the MARC/SQL field.  Try
    submitting the form; it should refuse to submit the form
    and display text saying that the field is required.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed some tabs, works nicely and as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11265: ensure current locale is selected when editing a subscription
Jonathan Druart [Tue, 19 Nov 2013 10:27:52 +0000 (11:27 +0100)]
Bug 11265: ensure current locale is selected when editing a subscription

Test plan:
0/ you have to have some locales defined, run dpkg-reconfigure locales
to configure locales
1/ edit a subscription (or add a new one) and select a locale
2/ save
3/ edit again and verify the locale value is selected

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described. No koha-qa errors.

Tested creating a suscription, selecting locale (have many) and saving.
When editing suscription:
1) Without patch locale value is not showed on page, empty value
2) With patch correct value is displayed

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Template change only.
Works as expected - saved locale is now shown on editing the
subscription and will not be deleted upon saving.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 2546: DBRev 3.15.00.003
Galen Charlton [Thu, 5 Dec 2013 18:45:37 +0000 (18:45 +0000)]
Bug 2546: DBRev 3.15.00.003

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 2546: make description of standard fine types translatable
Jonathan Druart [Wed, 23 Oct 2013 10:40:30 +0000 (12:40 +0200)]
Bug 2546: make description of standard fine types translatable

The descriptions for fines are stored in English in the DB
(accountlines.description). So they are not translatable.

This patch removes the descriptions automatically added and generates
the string in the template.

Test plan:
1/ Execute the updatedatabase entry.
2/ Verify in the following pages the description is consistent:
    - members/pay.pl?borrowernumber=XXXX
    - members/boraccount.pl?borrowernumber=XXXX
    - opac-account.pl
3/ Launch the translate script and update the po files in order to
translate the new strings.
4/ Verify the strings are translated in the interface.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised. Corrected few typos in the commit message.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 2310: display tooltips explaining why patron menu items are disabled
Owen Leonard [Sun, 20 Oct 2013 15:12:29 +0000 (08:12 -0700)]
Bug 2310: display tooltips explaining why patron menu items are disabled

With some staff client menus options are displayed as disabled when the
logged in user doesn't have permission to perform that function. This
patch adds Bootstrap tooltips to patron menu items with text explaining
why they are disabled.

To test, log in as a user who lacks permission to modify patrons or set
permissions. Open a patron record in circulation or patrons. Hovering
over renew, delete, and set permissions links (in the patron toolbar
"More" menu) should trigger a tooltip with a brief explanation.

Test the "Update child to adult patron" link by viewing an adult patron.

A separate patch will address catalog menu items.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
New tooltip texts are translatable, patch passes all tests
and QA script.
Tested according to test plan in Chromium and Firefox.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11101: add CSS selector to item types facet label in OPAC
Claire Stent [Tue, 22 Oct 2013 21:12:35 +0000 (10:12 +1300)]
Bug 11101: add CSS selector to item types facet label in OPAC

Note: prog-only patch.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Adds a CSS class to the Item types facet in OPAC.
Works as described.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11091: (follow-up) perltidy on serials/subscription-bib-search.pl
Fridolyn SOMERS [Mon, 21 Oct 2013 10:13:17 +0000 (12:13 +0200)]
Bug 11091: (follow-up) perltidy on serials/subscription-bib-search.pl

Signed-off-by: David Noe <drnoe@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11091: revamp search limit options for new subscription bib search form
Fridolyn SOMERS [Mon, 21 Oct 2013 09:54:16 +0000 (11:54 +0200)]
Bug 11091: revamp search limit options for new subscription bib search form

When creating a new subscription, you can click on "Search for Bilbio"
to search into catalog.

A popup opens with a text field for search terms and a combo-box to
limit search. This combo-box uses the syspref AdvancedSearchTypes to
know what list of values display.

The bug is that the code acts as if AdvancedSearchTypes has always one
value, but since Bug 7031, this syspref can have several values
(item types, collection codes and locations).

This patch removes the use of AdvancedSearchTypes syspref and defines
search form with 2 limits: item types and collection codes (from
authorised values CCODE).

One or both of this information can be on biblio. [RM note: this isn't a
true statement for the default configuration used by MARC21 libraries.]

Searching by location seems to be useless because this information is always
on item.  If CCODE authorised value does not exist or is empty, the collection
code filter is not displayed.

Test plan :
- Check CCODE authorised value exists with some values
- Choose a biblio indexed with both itemtype and ccode indexes
- Go to Serials module and click on "New subscription"
- In form, click on "Search for Biblio"
=> The popup "serials/subscription-bib-search.pl" appears with two limits
- Enter a word of biblio title, select its item type and select its collection code
- Click on "Search"
=> You get the biblio

Signed-off-by: David Noe <drnoe@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
While I am not sure how useful the collection code is for most libraries, where this
is an item level value, this fixes a broken feature and works as described.
Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11104: Wraps series label in a span for CSS selectability.
Tim Hannah [Tue, 22 Oct 2013 21:01:19 +0000 (10:01 +1300)]
Bug 11104: Wraps series label in a span for CSS selectability.

Note: patch is only for the prog theme.

Patch submitted as part of Librarian to Developer in 90 Minutes
at LIANZA 2013.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11111: (follow-up) fix column sorting on parcels page
Galen Charlton [Thu, 5 Dec 2013 15:53:23 +0000 (15:53 +0000)]
Bug 11111: (follow-up) fix column sorting on parcels page

This patch fixes issues with the column sorting on the
pending orders and already received tables introduced by
the main patch.

To test:
[1] Verify that the sort widgets on the appropriate columns
    of each table work correctly.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11111: UT: SearchOrders returns keys basketgroupid and basketgroupname
Jonathan Druart [Mon, 4 Nov 2013 08:30:38 +0000 (09:30 +0100)]
Bug 11111: UT: SearchOrders returns keys basketgroupid and basketgroupname

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11111: display the basket group name on the parcel page
Jonathan Druart [Tue, 22 Oct 2013 12:05:48 +0000 (14:05 +0200)]
Bug 11111: display the basket group name on the parcel page

Test plan:
Go on acqui/parcel.pl?invoiceid=XX page and verify the basket group name
is displayed into the 2nd column of the pending orders and already
received tables.

Signed-off-by: Ed Veal <ed.veal@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changed basketgroup to basket group to match spelling on other
pages.
Works as described, passes tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11077: Correct more warnings in C4/Auth.pm
Srdjan [Fri, 1 Nov 2013 08:42:45 +0000 (21:42 +1300)]
Bug 11077: Correct more warnings in C4/Auth.pm

This gets rid of some more warnings.

It also corrects a noisy ne condition.
    $userid = $retuserid if ( $retuserid ne '');
became
    $userid = $retuserid if ( $retuserid );

It also integrates Srdjan Jankovic's patch with Petter Goksoyrsen's
patch, while correcting the problems found.

This includes:
    my $q_userid = $query->param('userid') // '';
along with:
    my $s_userid = '';
and:
    my $s_userid = $session->param('id') // '';
Indentation does not reflect actual scoping.

A missing system preference would have triggered a ubiquitous
undef compare check failure message. This makes the flooding
message more useful, so as to help correct it.
The change to accomplish this was:
        my $pki_field = C4::Context->preference('AllowPKIAuth');
        if (!defined($pki_field)) {
            print STDERR "Error: Missing AllowPKIAuth System Preference!\n";
            $pki_field = 'None';
        }

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11077: remove uninitialized value $pki_field warning
Tomas Cohen Arazi [Fri, 18 Oct 2013 00:41:43 +0000 (17:41 -0700)]
Bug 11077: remove uninitialized value $pki_field warning

During login at the Staff interface you get warnings in the logs
regarding an uninitialized value for the $pki_field variable.

To test:
- tail -f /path/to/your-intranet-logs
- Point your browser to your staff login page
- Login
- Three warnings are showed
- Apply the patch
- Log out
- Log in
- No new warnings, and you can still log in.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
Followed test plan; it works as advertised.
Also works when I deleted AllowPKIAuth system pref.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11341: fix XSS bug in opac-search.pl (facets)
Chris Cormack [Wed, 4 Dec 2013 21:09:20 +0000 (10:09 +1300)]
Bug 11341: fix XSS bug in opac-search.pl (facets)

This patch fixes the prog theme; the bootstrap theme already
does the necessary filtering.

To test
1/ Craft a url like
 cgi-bin/koha/opac-search.pl?idx=kw&q=fish&offset=20" onmouseover%3dprompt(994000) bad%3d"
 (the search must return enough results to have a show more link in the facets)

2/ Check the source, or mouseover the Show more links in the facets
   Notice the code is executable

3/ Apply patch - notice it is no longer executable

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 5031: (follow-up) correct tabs
Bernardo Gonzalez Kriegel [Sat, 21 Sep 2013 22:04:02 +0000 (19:04 -0300)]
Bug 5031: (follow-up) correct tabs

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tiny QA follow-up corrcting whitespace to match coding
guidelines.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 5031: CSV profiles: validate required content fields
Jonathan Druart [Tue, 10 Sep 2013 15:19:10 +0000 (17:19 +0200)]
Bug 5031: CSV profiles: validate required content fields

Some fields are required on editing/adding CSV profiles.  This
patch adds HTML5 validation so that required fields must be
filled in before the form is submitted.

Test plan:
- add a new CSV profile (tools/csv-profiles.pl) without any value.
- save => error on empty fields.
- fill the "marc" content, select type="sql", fill the CSV name input.
- save => error on sql content field.
- fill the sql content
- save => the CSV profile is saved.
- retry for the edit form.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: On top of both patches for Bug 10853

Works very well, now we get an alert with empty field
Saves correctly MARC and SQL profiles

Solved minor conflict introduced by tab followup on Bug 10853
Again small tab errors corrected in followup

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, looks a bit 'non standard' for Koha,
but improves usability of the form.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11035: (follow-up) update licenses section
Galen Charlton [Tue, 3 Dec 2013 15:54:26 +0000 (15:54 +0000)]
Bug 11035: (follow-up) update licenses section

The OpenJS keyboard shortcuts library by Binny V A is licensed under
the BSD license.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11035: (follow-up) move shortcut.js
Galen Charlton [Tue, 3 Dec 2013 15:35:15 +0000 (15:35 +0000)]
Bug 11035: (follow-up) move shortcut.js

shortcut.js is not a jQuery plugin, so this patch
moves it out of the jquery plugin directory.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11035: (follow-up) update offline circ manifest
Blou [Wed, 23 Oct 2013 12:35:55 +0000 (08:35 -0400)]
Bug 11035: (follow-up) update offline circ manifest

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11035: Replace shortcut plugin jquery.hotkeys.min.js
Blou [Thu, 10 Oct 2013 17:44:27 +0000 (13:44 -0400)]
Bug 11035: Replace shortcut plugin jquery.hotkeys.min.js

To old plugin prevents the upgrade to the latest jquery. By replacing
with openjs' shortcut.js, we have now one less hurdle in upgrading
Koha to latest.

Changes:
- removed jquery.hotkeys.min.js
- added shortcut.js
- modified the related includes (doc-head-close.inc and help-top.inc)
- modified the calls in staff-global.js

Regression test:
1) apply the patch
2) in the intranet, test the shortcuts alt-q, alt-r, alt-u.

These are the only affected functionalities.  There is no new functionality.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Tested existing
shortcuts for the search bar tabs on various circulation
related pages.

This uses a Javascript under BSD license, I wonder if it
should be listed in the About>licenses section that we
are using it. As Yui is also BSD I assume the license is
compatible.

+/**
+ * http://www.openjs.com/scripts/events/keyboard_shortcuts/
+ * Version : 2.01.B
+ * By Binny V A
+ * License : BSD
+ */

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11322: rscrub bad data before storing suggestions in the DB
Chris Cormack [Mon, 2 Dec 2013 23:01:23 +0000 (12:01 +1300)]
Bug 11322: rscrub bad data before storing suggestions in the DB

1/ In the public interface, add a suggestion containing html
2/ Save, notice the html is rendered (or if you have the other patches
is displayed)
3/ Apply this paget
4/ Add another suggestion
5/ Notice the html is stripped

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11322: fix XSS bug in purchase suggestions - OPAC
Chris Cormack [Mon, 2 Dec 2013 22:46:24 +0000 (11:46 +1300)]
Bug 11322: fix XSS bug in purchase suggestions - OPAC

1/ Add a suggestion in the opac, with lots of html
2/ View that suggestion in the OPAC, note the html is rendering
3/ Apply the patch
4/ Test again, in prog and bootstrap, no more rendered html

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 11322: fix XSS bug in purchase suggestions pages
Chris Cormack [Mon, 2 Dec 2013 22:34:48 +0000 (11:34 +1300)]
Bug 11322: fix XSS bug in purchase suggestions pages

To test
1/ Switch on purchase suggestions
2/ On the public interface (OPAC) add a suggestion, put html in every
field
3/ In the staff interface go to the suggestions page
/cgi-bin/koha/suggestion/suggestion.pl
4/ Notice the html is rendered
5/ Click on a suggestion, notice the html is rendered on the show page
also
6/ Apply the patch, check these two pages again, html should now be
escaped

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests, thx Chris!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7791: (follow-up) adjust wording of basket deletion confirmation dialog
Galen Charlton [Mon, 2 Dec 2013 16:17:21 +0000 (16:17 +0000)]
Bug 7791: (follow-up) adjust wording of basket deletion confirmation dialog

This patch uses "bib" and "bibliographic record" rather than just
"record"; "record" is not quite specific enough in this context.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7791: (follow-up) add warning after deletion if some records were not deleted
Mathieu Saby [Fri, 18 Oct 2013 09:44:39 +0000 (11:44 +0200)]
Bug 7791: (follow-up) add warning after deletion if some records were not deleted

This followup add some warnings after deletion if some items were not
deleted.

4 types of messages are possible :
- x item(s) attached.
- x subscription(s) attached.
- x order(s) attached.
- Unknown error.

To test :
test a
1. create a basket with
- an order using a record A which has already an item, which is used in
   a subscription, and in other order (in an other basket)
- an order using a record B used nowhere elese
2. click on "Delete basket"
3. choose button "Delete basket, orders and records"
4. you should see a page anouncing basket deletion, and that record A was
   not deleted because of its item, subscription and order.
5. check the link around the title of record B takes you to the record
6. check the link under the warning box ("Click here to go back to
   booksellers page") takes you to booksellers page
5. check record B is deleted

test b
1. suppress the subscription linked with record A
2. create an other basket using record A
3. delete the basket on the same way as for test a
4. you should see a page anouncing basket deletion, and that record A was
   not deleted because of its item and order

test c
1. suppress the item attached under record A
2. create an other basket using record A
3. delete the basket on the same way as for test a
4. you should see a page anouncing basket deletion, and that record A
   was not deleted because of its orderBug 7791 Followup: add warning
    after deletion if some records were not deleted

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7791: (follow-up) tidy up some cruft in the main patch
Mathieu Saby [Thu, 19 Sep 2013 08:57:44 +0000 (10:57 +0200)]
Bug 7791: (follow-up) tidy up some cruft in the main patch

This patch
- delete warns
- add a missing }
- add a condition in template of avoiding asking to delete orders or
  records if the basket is empty

To test :
1. Make the same tests as defined in test plan of main patch. It should
   behave the same way
2. Try to delete a basket with no records inside. You will only have a
   "Delete basket" button, with fewer warnings

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 7791: add ability to delete records when deleting a basket
Mathieu Saby [Thu, 19 Sep 2013 07:59:31 +0000 (09:59 +0200)]
Bug 7791: add ability to delete records when deleting a basket

Currently, when a basket is deleted, all the orders are deleted (there
is a foreign key in aqorders table on basketno).

This could be dangerous, and there is no warning.
After the deletion, unused biblios are left in the catalogue.

This patch
- adds a more detailed message describing the consequences of deletion
- give the choice of also deleting biblio records if possible

To test :
Test A :
1. create a basket with 4 orders:
- an order from a new record A
- an order from a record B which has already an item
- an order from a record C used in a subscription
- an order from a record D used in an other order
2. note the biblionumbers of the records used (or open them in other
   tabs in your browser)
3. click on "Delete basket"
4. choose button "Delete basket and orders"
5. check the catalogue : records A,B,C,D should still be there
Test B:
1. create a basket with 4 orders:
- an order from a new record A
- an order from a record B which has already an item
- an order from a record C used in a subscription
- an order from a record D used in an other order
2. note the biblionumbers of the records used (or open them in other
   tabs in your browser)
3. click on "Delete basket"
4. choose button "Delete basket, orders and records"
5. check the catalogue : records B,C,D should still be there. Record A
   should be deleted

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoBug 2693: add ability to filter by reviewer name on tag review page
Owen Leonard [Wed, 21 Aug 2013 14:53:20 +0000 (10:53 -0400)]
Bug 2693: add ability to filter by reviewer name on tag review page

If you want to filter results on the tags management page by the
reviewer you have to know their borrowernumber. It would be better to be
able to search by name, but in the meantime this patch adds an
autocomplete widget to the form field so that you can do a name search
and populate the field with the borrowernumber.

To test you must have approved or rejected tags. From the tags review
page (tags/review.pl), view all, approved, or rejected tags. Type a name
in the "reviewer" form field in the left sidebar filter. You should get
an autocomplete dropdown with names matching your search. When you
select one the form field should be populated by the borrowernumber.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Patch works as described. I'm not sure whether or not it would be better
to be able to search by name, as that would involve either choosing
between names after applying the filter or showing any possible matches,
so this seems fine.

--

Owen and I did observe that we were able to cause AJAX errors while
using this autocomplete, but we are not 100% sure how we caused the error.
In my case, I was able to occasionally cause it by typing in a name
then backspacing rapidly. The ajaxError method is attached to every
element in the DOM (yikes) so it's tough to say what exactly is the
source of the error (which is signalled by a pop-up window that can be
cancelled).

The error is quite rare so I don't think it's necessarily a problem
for us.

One idea that Owen had was to remove the current error message, which
is very unhelpful and replace it with an error like "Something went
wrong. Try again."

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>