LP1821950 & LP1980409 Option to require call number label This uses a new Library Setting for "Require call number labels in Copy Editor" for the benefit of libraries that with to use a predefined Prefix (such as FIC or EZ) instead of individual call number labels for each volume. When the setting is True, the call number label field is marked required and the Save buttons disabled until a value is present. When the setting is False, the call number label is not required. In addition, the Angular interface adds an additional check for Prefix, so if the call number label is empty then the Prefix is required. Acknowledgements: Org Unit Setting created by Kyle Huckins Angular and AngularJS changes done by New Developers Working Group Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
lp1821950 Require Call Number Label YAOUS - Add YAOUS to Require Call Number Labels in Copy Editor - Set new YAOUS to true - Don't display empty call number field warning if call numbers aren't required on the copy editor. - Properly enable/disable saving an item in the volcopy editor when CN label is empty, based on Require Call Number Label setting. Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Changes to be committed: modified: Open-ILS/src/sql/Pg/950.data.seed-values.sql new file: Open-ILS/src/sql/Pg/upgrade/XXXX.lp1821950-call-number-label-required-yaous.sql modified: Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
LP#1930617: reduce parallel requests initiated by AngularJS holdings editor This patch decreases the number of parallel requests spawned by the AngularJS holdings editor. This can reduce load on open-ils.pcrud when the editor is used to handle a large number of items in one batch. This patch takes the following approaches: - the fetching of call number affixes now only makes one request per relevant org unit - item alerts are now retrieved via fleshing when the batch of items is requested (as opposed to doing a PCRUD request for each copy) - fetching monograph parts is now done serially To test ------- [1] Apply the patch. [2] Create a bucket with a few hundred items and edit all of them in the AngularJS holdings editor (which is what you get when you edit items from the bucket interface). [3] Verify that the editing loads itself without causing errors or PCRUD drone spikes. [4] Verify that item alerts and monograph parts are loaded [5] Verify that the call number prefix and suffix drop-downs are correctly populated. [6] Verify that copy alerts can be attached to newly-created items and saved. Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
LP1951162 Migrate copy templates setting Rename the user setting "webstaff.cat.copy.templates" to "cat.copy.templates" and migrate any existing values. This operation is not performed for any databases where a "cat.copy.templates" user or workstation setting type already exists. Teach the Angular copy editor to avoid looking up templates in local storage, since only XUL templates are stored there, which are not compatible. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1929136: (follow-up) reduce bounce time to 500ms During testing, 500ms was enough to avoid excessive PCRUD calls while still keeping the interface's display of duplicate or missing barcode warnings responsive. Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP#1929136: delay barcode lookup on change in holdings editor In the Holdings Editor, any change to the barcode field results in an immediate API call. Thus, if you type the barcode "123456789", you would get 9 separate calls: 1, 12, 123, 1234, 12345 ... This commit adds a 1000ms delay to avoid excessive pcrud calls when typing a barcode. Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP1896285 Add new items avoids looping settings lookup Refactor AngJS volcopy item add actions so it makes the minumum necessary settings API calls for default copy status. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
LP1811466 Add fields to holdings editor column pickers Adds item fields creator, editor and last edit date to the working and completed grids in the holdings editor. Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP1761142 Volume Copy Editor Changed Fields Hard to Discern Add a changed_fields object to the scope and update it as copies are changed. The function field_changed(field) determines if any of the selected copies have altered the given field. finally, a CSS class, field-changed, is applied to add a green border to fields whose values have been modified. Signed-off-by: a. bellenir <abelleni@grpl.org> Signed-off-by: Ruth Frasur <rfrasur@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1731370: Distinguishing new copies and volumes with aditional means (WCAG 1.4.1) Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
lp1731370 CSS styling for new items and volumes previous commit just handled volumes, this handles copies Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
lp1731370 CSS styling for new items and volumes in vol/copy editor Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1873286: Fix Bad End Tags Fix self-closing tags used in non-void HTML and non-empty XHTML tags. These tags now cause errors with jQuery version 3.5.0 and were technically wrong from the start. Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
LP1825403: Do not Include Tag Owner in Tag Copy tags were accidentally having their owning location shortname included in the tag values, this patch allows the owner to be displayed but not included in the value used. Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1777698 Duplicate barcode alert appearing on new barcodes When scanning new copy barcodes, ng-change quickly fires multiple times and sends promises to check for duplicates. If 1234 exists and you scan 12345, if the 1234 promise resolves after 12345, it will indicate it's a duplicate. This patch keeps a count of the promises sent and only the latest promise will set the boolean to indicate if it's a duplicate. Hard to test because the promises usually resolve in order: 1. Add a new holding with the first few characters of an unused barcode 2. Scan the new barcode multiple times until you see the dup error 3. Apply patch and scan the new barcode multiple times (no error) Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP1803584 Avoid JS errors when clearing copy templates Minor fix to sanity check multi-copy data in the copy template editor after clearing the template contents. This cleans up some ugly console errors. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1803584: Fix Clear button in template editor There are multiple controllers in staff/cat/volcopy/ and 2 of them have a clearWorking() function. The template editor controller is referencing $scope.MultiMap[] which will never exist in the template editor, while the actual item editor controller clearWorking() does not reference $scope.MultiMap[], meaning that clearing multiple items at once would not work as expected. This branch clears up this confusion. Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Beth Willis <willis@noblenet.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1830394: remove console noise from the holdings editor This patch removes browser console noise that occurs (among other places) when moving a working item to the completed list in the holdings editor TypeError: "$scope.working.MultiMap[keys[i]] is undefined" hasMulti https://evergreen.example.org/js/ui/default/staff/cat/volcopy/app.js:1203 ... To test ------- [1] Open the holdings editor to add or edit an item, then open the browser debug console. [2] Make a change and move the item from working to complete. Note that the error message above shows up repeated in the console log. [3] Apply the patch and repeat steps 1 and 2. This time, the errors should not appear. Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Bill Erickson <berickxx@gmail.com>