Providers excluded when more than 50 exist
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
New
|
Undecided
|
Unassigned |
Bug Description
Seen in production on 3.4.1.
In Load MARC Order Records screen, if there are more than 50 providers across the consortium that start with a particular letter, providers can be excluded from the combobox search.
Example: Across PINES we have 74 providers that start with "B". One of my libraries tried searching for one of their BT providers, but because that comes alphabetically later in the list of 74, it was excluded from the top 50 cutoff even though her org has <50 "B" providers. Therefore she was unable to select her provider in the Provider combobox; it just comes up with an error that says it's an invalid entry and the box stays blank.
So it looks like it's limiting to the top 50 providers starting with a particular letter, *then* doing the org permission check. So if you fall below the 50 mark on the list, you can't see your provider(s) starting with that letter. It should either do the org permission check first and then limit those to the top 50, or just remove the limit on results.
I also see the same issue on the "Create Purchase Order" screen/popup, and the PO Search when you search by Provider.
I don't have access to the Angular Acq Search port right now, so I don't know if this is also present in that work.
SQL generated by the Dojo acq search:
SELECT "acqpro".id,
oils_i18n_ xlate(' acq.provider' , 'acqpro', 'name', 'id', "acqpro".id::TEXT, 'en') AS "name",
"acqpro" .owner,
"acqpro" .currency_ type,
"acqpro" .code, "acqpro" .holding_ tag,
"acqpro" .san, "acqpro" .edi_default,
"acqpro" .active, "acqpro" .prepayment_ required,
"acqpro" .url,
"acqpro" .email,
"acqpro" .phone,
"acqpro" .fax_phone,
"acqpro" .default_ claim_policy,
"acqpro" .default_ copy_count
FROM acq.provider AS "acqpro"
WHERE "acqpro".code ilike 'b%'
ORDER BY code ASC
LIMIT 50;