Before this patch : 9619 borrowers added in 31 Minutes, After : 68 seconds.
This adds Hashref to table structure in C4::SQLHelper to speed up bulk edits.
Signed-off-by: Stéphane Delaune <stephane.delaune@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
If no date of birth is provided in a new member form, the borrower gets the birthdate of "00/02/0", which
is obviously incorrect (the result of passing 0 to the database directly)
The fix is to remove a conditional check buried deep in C4::SQLHelper. This is in a helper subroutine that was changed
for the Unified Member Search dev (bug 6253). Reverting this small change to the conditional does not seem to break
search, but testing will be required.
To test:
1. apply patch, and create a new patron with blank birthdate. The new patron should now have a blank birthdate instead of '00/02/0'
2. search for a borrower by 1 part surname, confirm search works
3. search for a borrower by 2 part surname, confirm search works
4. search for a borrower across firstname AND surname; confirm
5. search for a borrower and include categorycode/branchcode filters
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
I confirm all working tests 1-5
1. Created patron with blank birthdate - birthdate was blank
2. Searched for patron "henry james acevedo III" by using "acevedo" - result was correct
3. Searched for mr. acevedo using "Acevedo III" - result was correct
4. Searched for Henry James Acevedo III, Henry Acevedo and James Acevedo - results were correct
5. Searched for Mr Acevedo with the branch he was not in, with the branch he is in, with a category he was not, and a category he was. All results were correct.
also noted: inner searching seems to be working now? Example: Henry James (firstname) Acevedo III (surname) - searching James Acevedo brings back the correct patron.
Not complaining, just noting. :)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Removes $tablename and $hash from global scope of C4/SQLHelper.pm. They are never used;
all instances of $table are locally scoped to the subroutines, and $hash is never used.
This may help with persistance; if not, it's at least a bit of trivial cleanup.
To test:
1. Search for a patron
2. Create a Contract in Acquisitions
3. Modify that Contract
4. Delete that Contract
All instances should return error free. This checks the subroutines of SQLHelper
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
in C4::SQLHelper::_Process_Operands, $operand has been modified to be cast as an array ref
if the incoming $operand is not a ref. However, the incoming $operand could be some other
kind of ref (hashref for example), which would case the dereferencing in line 419 to fail and exit.
Adding an explicit test for whether the ref is ARRAY seems to clear up this issue.
To test, run t/db_dependent/Members.t. Before, it fails after test 3. After, it completes all tests.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Removed SearchMembers() and replaced with more generic Search()
Amended Search() to try cardnumber first
Replaced SearchMembers() calls with Search()
Replaced SELECT with Search() where appropriate
C4::SQLHelper:
- added support for '' key for search filter.
- when passing an array to filter, join with OR (rather than AND)
- added support for key => [val1, val2] in filter
- did not document - there was no input documentation to start with,
and SQLHelper should be replaced with something better anyway
Signed-off-by: Liz Rea <lrea@nekls.org>
(again - testing merge issue)
The functionality of the patch seems to be maintained with Biblibre's changes.
I tested the following:
Extended attribute searching: works
3 part name searching: works
2 part name searching: works
1 part name searching: works
From:
mainpage.pl
members-home.pl
Patron search limited by branch: Works
Patron search limited by patron category: works
Ordering by cardnumber instead of surname: works
The "Check Out" field in the masthead.
Circ Autocomplete is not reliably functional at this time, but the problem appears to predate this patch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Editing an extended attribute in the extended attribute tab would lead to an Error500
This patch adds some checks for values before UPDATE in SQLHelper.pm
And Adds some checks also befaore calling ModMember in members/memberentry
Signed-off-by: Stéphane Delaune <stephane.delaune@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Removed instances of 'use YAML' that were either completely
unnecessary or which were used only in debug code. Also
removed a needless import of Data::Dumper.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
More concise and more readable
removing do local $"= using join instead
Adding Caching of queries
Adding Some tests
API between function reorganizing for more consistency
Adding support for string, hash and arrayref in SearchIntable
SearchInTable now add
limits and
sortby
filter on fields to returns (enter an arrayref here)
filter on fields to limit the search on
searchtype which can be exact or wide
GetPrimaryKey now returns an array of all the fields which are primary keys
Adding Internal functions
_Process_Operands
_filter_hash
_filter_string
_filter_fields
This update the way Member is added and editing so that import and Edition
could be best automatized
GetMember evolves and allow ppl to serach on a hash of data
Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>