Koha/t
Jonathan Druart 24d6d83ada Bug 9811: Patron search improvement
This patch add DataTables using server-side processing for the patrons
search.

It adds:
- 1 module C4/Utils/DataTables/Members.pm
- 2 services svc/members/search and svc/members/add_to_list
- 1 template members/tables/members_results.tt
- 1 new practice which is to add template for DataTables in a
  subdirectory named 'tables'.

Impacted scripts: members/members-home.pl and members/members.pl

To go further: We can imagine that all patrons searches use the same
service with no big changes: 1 little template creates a JSON file and
to implement DataTables on the template page, that's all.

Amended patch: Since bug 10565 has been pushed, these patches don't
apply cleanly. I had to rewrite a part of the patron list feature.
I removed the choice to add all resultant patrons from a search. I think
this choice is useless with this patch: we are able to display the
number of patrons we want and to select all of them.

Test plan:
- Check that there is no regression on searching patrons.
- Try filters on the left of the screen.
- Try to sort each column.
- Try the "Browse by last name" links.
- Check that the "Clear" button clears yours filters.
- Try with IndependantBranches ON and OFF.
- Verify this feature does not break the patron list feature (cf bug
  10565).

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, couldn't find any regressions
or problems. Some notes left on the bug.

Bug 9811: Add unit tests for C4::Utils::DT::Members

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Bug 9811: QA followup

- removes 2 tabs
- removes mysqlisms
- add sort on borrowernotes
- fix wrong capitalization
- cat => Category

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Thx for fixing these!

Bug 9811 - multilines notes brakes JSON

In new patron search feature, the search results are fetched using Ajax and returned in JSON format.
The JSON is created by TT using koha-tmpl/intranet-tmpl/prog/en/modules/members/tables/members_results.tt.
One of the fields is the borrower notes. When this notes contains several lines, the JSON is broken.

This patch uses TT fileters to consert in notes linefeeds into HTML line break (html_line_break) and then remove linefeeds (collapse).

Test plan :
- perform a member search that does not return a borrower with a circ note
- edit one of the borrowers returned by this search
- enter serveral lines of text in "Circulation note" and save
- reperform the member search
=> circ note is well displayed on several lines

Bug 9811: use count(primary_key) instead of count(*)

Bug 9811: A limit clause should be always added.

By default, we want to retrieve 20 first results.

Bug 9811: Load the page without any data.

Displaying the first 20 patrons is not useful. With this patch, the
table is hidden and no record is retrieved by default.
On the same way, the existing side effect on redirect disappears.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
-------------
-TEST REPORT-
-------------
For the filter: Tested all the search fields, branches, search type.
Found a bug with "date of birth", followup provided.
Tested display limits and verified that AJAX-queries are
  efficient (using LIMIT clause) to not stress DB needlessly.
Tested adding Patrons to a list.
A good feature, which seems to work quite well.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Adding my test plan to the last patch of this bug.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-01 09:57:09 -03:00
..
Acquisition bug 8854: fix some invoice search filters 2013-11-19 16:12:31 +00:00
Biblio Bug 12343: Add regression test for TransformKohaToMarc 2014-06-15 11:27:20 -03:00
Budgets Bug 12019: ensure that it is optional to define an owner if a fund is restricted 2014-05-03 19:00:08 +00:00
Circulation Bug 11630: (follow-up) unit tests can be independent of DB 2014-04-16 14:55:39 +00:00
DataTables Bug 9811: Patron search improvement 2014-07-01 09:57:09 -03:00
db_dependent Bug 12419: (QA followup) regression tests 2014-06-30 15:57:23 -03:00
Koha/Plugin Bug 7804 - Add Koha Plugin System - QA Followup 2 2013-03-20 14:50:19 -04:00
lib Bug 10298: Mock C4::Context->preference 2013-08-09 16:34:50 +00:00
Members Bug 108661: (follow-up) enshrine letting CardnumberLength specify just a maximum 2014-03-12 04:07:03 +00:00
Search Bug 10807: Add an authority search history for the OPAC 2014-05-05 02:32:27 +00:00
searchengine Bug 10298: Adapt existing code 2013-08-09 16:36:17 +00:00
Serials Bug 7688: (follow-up) rewrite 'for' loop in unit tests 2013-10-30 00:38:52 +00:00
00-checkdatabase-version.t Bug 9191 follow-up: remove example updatedatabase stanzas 2012-12-11 08:29:11 -05:00
00-deprecated.t Bug 5105 Regression test for switch statement 2010-11-11 21:32:31 +13:00
00-load.t Bug 10807: (follow-up) exclude C4::Search::History from t/00-load.t 2014-05-05 21:59:50 +00:00
00-merge-conflict-markers.t Test suite: ignoring backups from vi (files ending with a ~) 2011-12-07 15:17:54 +01:00
00-testcritic.t Bug 8798: (follow-up) remove DBIC_DONT_VALIDATE_RELS 2013-10-14 22:51:44 +00:00
00-valid-xml.t bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files 2010-11-13 11:51:49 +13:00
AuthoritiesMarc_MARC21.t Bug 5327 added unit tests for C4/AuthoritiesMarc/MARC21.pm 2012-01-31 17:21:47 +01:00
AuthoritiesMarc_UNIMARC.t Added unit test for AuthoritiesMarc/UNIMARC.pm 2011-12-15 13:41:41 +01:00
AuthUtils.t Bug 9611: (follow-up) move new password hashing routines to separate module 2013-10-09 03:29:22 +00:00
Barcodes_annual.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_EAN13.t Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Barcodes_hbyymmincr.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_ValueBuilder.t Bug 8524 follow-up: fix broken test 2012-08-31 17:42:44 +02:00
Biblio.t Bug 11032: Check a valid MARC::Record passed to Biblio 2013-12-10 05:01:54 +00:00
Bookseller.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Boolean.t Added missing reference case to Boolean.t and corrected count 2011-12-15 13:50:41 +01:00
Branch.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Breeding.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Budgets.t C4::Bookfund no longer exists, removing the test 2009-12-20 14:31:37 +01:00
Cache.t Bug 12041 - improve Koha::Cache 2014-06-19 13:05:04 -03:00
Calendar.t Bug 9209: Skip tests for older DBD::Mock 2012-12-28 20:15:36 -05:00
Charset.t Bug 11540: (follow-up) add a couple of tests more 2014-01-14 21:29:49 +00:00
Circulation_barcodedecode.t Bug 6448 [1/3] EAN-13/UPC-A itemBarcodeInputFilter 2012-08-02 18:41:40 +02:00
ClassSortRoutine.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ClassSortRoutine_Dewey.t Bug 9770: test case for sorting of Dewey call numbers that contain prefixes 2013-07-15 16:12:47 +00:00
ClassSortRoutine_Generic.t Bug 5327 added unit tests for C4/ClassSortRoutine/Generic 2012-01-17 15:31:55 +01:00
ClassSortRoutine_LCC.t bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers 2013-06-10 07:56:53 -07:00
ClassSource.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Context.t Bug 11848: Fix C4::Context::interface, add POD and UT 2014-05-05 04:32:31 +00:00
Contract.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Creators.t Bug 8375: (follow-up) final adjustment to t/Creators.t 2014-05-07 01:00:34 +00:00
Dates.t Fix for Bug 4473 - Recent comments view for the OPAC 2010-12-13 09:43:01 +13:00
DateUtils.t Bug 11148: (follow-up) add more test cases 2014-04-18 21:51:09 +00:00
Debug.t Added extra unit tests to Debug.t 2011-01-18 11:59:07 +13:00
dummy.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
External_Overdrive.t Followup for bug 10320: minor bugfixes and style improvements 2013-09-08 07:04:02 +00:00
External_Syndetics.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Form_MessagingPreferences.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Images.t Bug 5327: Testing c4 Images 2012-09-07 14:42:18 +02:00
ImportBatch.t Create Unit Test for ImportBatch 2010-10-31 10:32:29 +13:00
Input.t Input.t permissions fix 2007-11-16 13:24:37 -06:00
Installer_PerlDependencies.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_PerlModules.t bug 11544: increasing test coverage for Installer_PerlModules.pm 2014-01-14 21:48:43 +00:00
Installer_pm.t Bug 4905 Runtime errors in about.pl 2010-06-24 14:16:36 -04:00
ItemCirculationAlertPreference.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ItemType.t Bug 10513: display a warning/message when returning a chosen item type 2013-09-16 17:45:31 +00:00
Koha.t Bug 12288: add regression test 2014-05-19 19:59:40 +00:00
Koha_MetadataRecord.t Bug 9755 QA follow-up: move MARC-specific functionality to utility class 2013-07-23 23:10:21 +00:00
Koha_Template_Plugin_Cache.t Bug 11452: Add unit tests for Koha::Template::Plugin::Cache 2014-01-10 15:42:23 +00:00
Koha_Util_MARC.t Bug 5202: merge authorities from the authority file and reservoir 2013-10-10 21:32:27 +00:00
Labels.t Bug 11402: (follow-up) add one more unit test 2013-12-30 16:23:10 +00:00
Labels_split_ccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_ddcn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_lccn.t bug 9370: add invalid call number to LC splitting test cases 2013-06-12 07:44:05 -07:00
Languages.t Bug 11848: Move language detection function in C4::Languages 2014-05-05 04:29:34 +00:00
Letters.t Bug 11742: (QA followup) wrong number of tests 2014-06-23 15:23:37 -03:00
Log.t Bug 11537: (follow-up) mock C4::Context::preference 2014-01-14 19:27:07 +00:00
Maintainance.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Matcher.t Bug 5327 Tests for C4::Matcher 2012-09-07 14:31:52 +02:00
Members_Attributes.t Remove diagnostic output from t/Members_Attributes.t 2009-12-20 14:31:39 +01:00
Members_AttributeTypes.t Bug 7919: Fix unit test (Members_AttributeTypes.t) 2012-12-07 18:26:37 -05:00
Members_Messaging.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Message.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Output.t Bug 10016: force zero browser-side caching of SCO pages 2013-10-21 18:05:12 +00:00
Output_JSONStream.t Bug 11480: Fix invalid assumptions in JSONStream test 2014-01-10 15:42:17 +00:00
Overdues.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards_Batch.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Layout.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Lib.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Patroncard.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Profile.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Template.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
perlcriticrc Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and use strict; 2012-01-27 11:33:15 +01:00
Print.t bug 11542: Increase test coverage for Print.pm 2014-01-14 20:41:31 +00:00
QueryParser.t Bug 9972: (follow-up) add new indexes to the QueryParser config 2014-04-20 16:47:28 +00:00
RecordProcessor.t Bug 7417: Include see from references in bibliographic searches 2012-09-13 14:19:28 +02:00
Review.t create unit test files 2010-10-30 20:12:50 +13:00
Ris.t bug 5327 added unit tests for C4/Ris.pm 2012-01-31 17:21:49 +01:00
RotatingCollections.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-01-31 17:21:49 +01:00
Scrubber.t Added unit tests for Scrubber 2011-12-15 13:41:43 +01:00
Search.t Bug 12443: (QA followup) Unit tests for _build_initial_query 2014-06-27 08:52:13 -03:00
Search_PazPar2.t Bug 5327 added unit tests for C4/Search_PazPar2.pm 2012-01-31 17:21:50 +01:00
SimpleMARC.t Bug 8015: Add unit tests for SimpleMARC and MarcModificationTemplates routines 2013-10-31 22:50:11 +00:00
SIP_Sip.t Added unit tests for Sip Checksum.pm 2011-12-15 13:41:37 +01:00
smolder_smoke_signal Bug 2524: Adding script to submit test reports to smolder server 2008-08-18 07:16:35 -05:00
SMS.t Bug 12455: (QA followup) license text missing 2014-06-30 12:28:23 -03:00
SocialData.t Bug 5327: Unit tests for C4 socialdata 2012-09-07 14:32:00 +02:00
Stats.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
SuggestionEngine.t Bug 8726 follow-up: fix QA issues 2012-09-28 17:14:15 +02:00
SuggestionEngine_AuthorityFile.t Merge remote-tracking branch 'origin/new/bug_8209' 2012-10-01 16:39:52 +02:00
TmplToken.t Bug 5327 added unit tests for C4/TmplToken.pm 2012-01-31 17:21:50 +01:00
VirtualShelves_Merge.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
XSLT.t bug 10292: improve fallback logic for picking XSLT 2013-05-29 07:39:41 -07:00