LP#
1850547: Angular Acq Search: Perl API changes
This patch makes a variety of changes to methods used by
acquisitions search and retrieval. The overall intention of this
patch is to not change functionality used by the old Dojo
search interface but to add support for new functionality for
the Angular search form.
Specific changes include:
open-ils.acq.*.unified_search
-----------------------------
* Add __age (interval), __starts, __ends, __gt, and __lt operators.
Update __between to support __castdate modifier, for a more natural
comparison of dates entered by humans to timestamps stored in the
database.
* fix sorting by line item attributes
* add support for __gte, __gt, __lte, and __lt for acqlia searches
* add permissions checks for retrieving POs and invoices via
unified_search
* improvements to server-side sorting of search results
- create joins for aou, acqim, and acqipm as needed
- look up identity column for a class rather than assuming
that it's always 'id'
* allow searching on an explicit null value
This adjusts the special logic introduced in LP#
1031535 so
that explicitly searching with a field set to not null (e.g.,
when using the Angular grid 'exists' filter) will work.
* add __isnotnull as an acq search field modifier
* allow __fuzzy to override au_by_id in unified search
* Sort by remote selector column when sort-on-link is requested and
selector exists
* Add additional fleshing for purchase order, selection lists,
and invoice searches.
* Add au_by_id option
This specifies performing queries on au-linked fields by
ID rather than adding joins to query the fields by user
barcode or username, etc.
* Implement "contains" operator for searches on provider
fields.
This is similar to how user searches are handled.
Other methods
-------------
* teach open-ils.acq.lineitem.retrieve more fleshing
In particular, teach it how to flesh the LI provider, Vandelay queue,
creator, editor, selector, and claim policy so that Angular LI search
can display them without having to make additional server requests.
* clarify open-ils.acq.picklist.clone
Method is now clear that _nothing_ of the acq.picklist row
itself gets copied over.
This patch contains work by Mike Rylander, Galen Charlton, and Jason
Etheridge.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>