LP#1269042: prevent acq seach from building dropdown of every copy ID in the DB
authorGalen Charlton <gmc@esilibrary.com>
Tue, 14 Jan 2014 16:00:38 +0000 (11:00 -0500)
committerMike Rylander <mrylander@gmail.com>
Tue, 14 Jan 2014 16:16:19 +0000 (11:16 -0500)
This patch ensures that if a user sets a search field in the
acquisitions general search form to the line item details copy ID
(labeled "LID - Evergreen Copy ID"), the form presents a normal
input widget rather than trying to build a drop-down containing
every copy ID in the database.  Except for very small databases,
the previous behavior would mean that an open-ils.pcrud backend
would eventually consume a great deal of memory trying to service
a request for all copies in the system.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/web/js/ui/default/acq/search/unified.js

index 1eaad19..926662f 100644 (file)
@@ -159,10 +159,13 @@ function TermSelectorFactory(terms) {
                 );
             } else if (term.hint == "acqlia" ||
                 (term.hint == "jub" && term.field == "eg_bib_id") ||
+                (term.hint == "acqlid" && term.field == "eg_copy_id") ||
                 (term.datatype == "link" && target == "au")) {
-                /* The test for jub.eg_bib_id is a special case to prevent
-                 * AutoFieldWidget from trying to render a ridiculous dropdown
-                 * of every bib record ID in the system. */
+                /* The tests for jub.eg_bib_id and acqlid.eg_copy_id are
+                 * special cases to prevent AutoFieldWidget from trying
+                 * to render a ridiculous dropdown of every bib or copy
+                 * record ID in the system.
+                 */
                 wStore[widgetKey] = dojo.create(
                     "input", {"type": "text"}, parentNode, "only"
                 );