Bill Erickson [Fri, 19 Feb 2016 16:28:25 +0000 (11:28 -0500)]
LP#
1468422 Release notes documenting work factor
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Thu, 18 Feb 2016 15:42:11 +0000 (10:42 -0500)]
LP#
1468422 Release notes example avoid re-migrate
Update the batch password migrate example code in the release notes to
avoid attempts at migrating already migrated passwords.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Thu, 18 Feb 2016 15:28:46 +0000 (10:28 -0500)]
LP#
1468422 Manual password migrate does not re-migrate
Avoid migrating already-migrated passwords when actor.migrate_passwd()
is called manually.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 17 Feb 2016 22:33:39 +0000 (17:33 -0500)]
LP#
1468422 Release notes manual pw migration comments
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 17 Feb 2016 22:23:34 +0000 (17:23 -0500)]
LP#
1468422 Drop auth work factor from 14 to 10
Avoid what may be an unacceptible login delay caused by work factor 14
by dropping down to 10. This reduces the CRYPT() time from ~1 second to
~.1 seconds.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 1 Feb 2016 15:15:23 +0000 (10:15 -0500)]
LP#
1468422 Always default to root org unit
If no org unit is passed by the caller, always default to the root org
unit.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Dan Wells [Tue, 26 Jan 2016 19:22:21 +0000 (14:22 -0500)]
LP#
1468422 Use auth_internal.validate to shore up AuthProxy
Even if a user has valid credentials in the external system, we should
block them from logging in if their Evergreen account is out of sorts.
Use the API designed for this.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Tue, 26 Jan 2016 18:36:14 +0000 (13:36 -0500)]
LP#
1468422 "Aut" to "Auth" typo fix
Just cosmetic for now, but potentially for future sanity protection.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Wed, 27 Jan 2016 17:11:33 +0000 (12:11 -0500)]
LP#
1468422 Auth efficiency improvements
1. Adds an oils_utils function for retrieving the ID of the root org
unit.
2. Avoid multiple cstore/db lookups for the root org unit by caching the
ID at the process level.
3. Move permission checks from open-ils.storage to open-ils.cstore.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 27 Jan 2016 16:46:17 +0000 (11:46 -0500)]
LP#
1468422 Login permission checks are global
For backwards compat, perform all login permission checks using the root
org unit as the context org unit.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 26 Jan 2016 19:16:06 +0000 (14:16 -0500)]
LP#
1468422 Return vanilla login failure on nonexistent username/barcode
For backwards compatibility (and security), return the same login
failure for nonexistent usernames/barcodes as for bad passwords, etc.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 11 Jan 2016 16:02:23 +0000 (11:02 -0500)]
LP#
1468422 Report inactive card on password OK
Prevent leaking information from authentication by only reporting that a
card is inactive if the caller provided the correct credentials. This
is consistent with how the code handles inactive patrons.
To avoid a lot of code duplication and to reduce the potential for
leaking memory (C code, amiright?), this commit includes a number of
changes to avoid exiting the API function early and saving the memory
cleanup routines until the end of the API call.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 8 Jan 2016 20:06:14 +0000 (15:06 -0500)]
LP#
1468422 auth-internal validate API
Adds a new open-ils.auth_internal API
open-ils.auth_internal.user.validate for checking whether a user should
be allowed to login.
It tests user existence, active=true, barred=false, deleted=false.
If a barcode is also provided, it confirms the barcode exists and is
active.
Modifies open-ils.auth.authenticate.complete to use the new API instead
of implementing the logic directly.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Dan Wells [Tue, 5 Jan 2016 19:24:21 +0000 (14:24 -0500)]
LP#
1468422 Make AuthProxy.pm work with new auth
Previously, AuthProxy.pm would simply lookup and use the hashed password
when the external authentication had passed. This simple method no
longer works, since even cstore doesn't have access to the hashed
password.
Instead, take advantage of the new 'auth_internal' service to create the
user session after the user has been externally authenticated.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Tue, 5 Jan 2016 19:21:11 +0000 (14:21 -0500)]
LP#
1468422 Tighten AuthProxy argument requirements
Basically, if we aren't given a username, and we can't find a username
by barcode, give up immediately. This helps simplify the rest of the
code a bit.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Tue, 24 Nov 2015 17:18:16 +0000 (12:18 -0500)]
LP#
1468422 Remove deprecated open-ils.storage remote_update
User update in Actor.pm was the only remaining code that leveraged
the open-ils.storage remote_update API. With that code moving to
open-ils.cstore, save some RAM by no longer auto-loading/publishing
remote_update methods.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 24 Nov 2015 16:46:32 +0000 (11:46 -0500)]
LP#
1468422 SIP password verification
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 24 Nov 2015 16:31:06 +0000 (11:31 -0500)]
LP#
1468422 Implement password reset updates
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 24 Nov 2015 16:15:06 +0000 (11:15 -0500)]
LP#
1468422 Port user update to cstore
Migrate the user update code from open-ils.storage to open-ils.cstore.
This has several benefits:
1. We can re-use the patron password update code
2. Several actions (bad contacts, invalid address) which previously
resulted in data modifications outside the main transaction now
take place with the main patron update transaction.
3. Bigger, better, faster, stronger.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 23 Nov 2015 22:13:48 +0000 (17:13 -0500)]
LP#
1468422 Password verify and password update
These API's now support new-style passwords:
open-ils.actor.verify_user_password
open-ils.actor.user.password.update
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 23 Nov 2015 18:56:36 +0000 (13:56 -0500)]
LP#
1468422 Admin seed data sets new-style passwd
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 23 Nov 2015 18:22:37 +0000 (13:22 -0500)]
LP#
1468422 Password storage release notes
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 23 Nov 2015 17:51:31 +0000 (12:51 -0500)]
LP#
1468422 Admin seed data sets new-style passwd
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Thu, 19 Nov 2015 20:00:20 +0000 (15:00 -0500)]
LP#
1468422 New open-ils.auth_internal service
Service is responsible for adding user data to the authentication cache.
Cache times are determined from opensrf.xml/AOUS settings. No
authentication checks are performed.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 24 Jul 2015 15:20:06 +0000 (11:20 -0400)]
LP#
1468422 Add libpcre to build for open-ils.auth
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 22 Jul 2015 22:02:19 +0000 (18:02 -0400)]
LP#
1468422 open-ils.auth API salted pw changes
Added .init.barcode and .init.username methods.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 17 Jul 2015 20:00:17 +0000 (16:00 -0400)]
LP#
1468422 Password storage/migration SQL getting started
* Backwards compatible salted password storage using pgcrypt
* Adds actor.passwd and actor.passwd_type tables
* Includes pgtap tests
* Includes installation of pgcrypto
Current flow:
1. Application requests a salt to use as the CHAP-style seed
2. If new-style password exists, salt is returned.
3. Else, old password is migrated and the new salt is returned.
4. App finalizes login by checking verify_passwd.
== continued...
Store the iter_count and start using the crypt_algo column.
Make it possible to change the salt, and potentially strengthen
the salt, when changing passwords.
Make is possible to start salt-less passwords, for pw's that are managed
outside of the DB.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Kathy Lussier [Wed, 17 Feb 2016 19:43:24 +0000 (14:43 -0500)]
Forgot an acknowledgement in the 2.9.2 point release notes
Sorry Ben!
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Wed, 17 Feb 2016 19:34:18 +0000 (14:34 -0500)]
Adding 2.9.2 bug fixes and acknowledgements to the 2.9 release notes
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Wed, 17 Feb 2016 18:03:40 +0000 (13:03 -0500)]
Adding 2.8.6 bug fixes to the 2.8 Release Notes
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Ben Shum [Wed, 17 Feb 2016 18:39:22 +0000 (13:39 -0500)]
LP#
1544606: Copy the new directories we make for locales
Make it cp -r to copy the directories and not just the files (of which
there won't be any by default).
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Thu, 11 Feb 2016 20:40:05 +0000 (15:40 -0500)]
LP#
1544606: Change i18n Makefile so that there are different dirs for opac vs webstaff
In i18n Makefile, we only have a single directory variable TT2_DATA_DIR.
Remove that variable, and add distinct variables for TT2_OPAC_DATA_DIR and
TT2_WEBSTAFF_DATA_DIR that point to more distinct defined areas.
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Thu, 11 Feb 2016 19:54:49 +0000 (14:54 -0500)]
LP#
1544606: Change docs to more specific locale/opac location
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Thu, 11 Feb 2016 19:30:57 +0000 (14:30 -0500)]
LP#
1544606: Change apache examples for TPAC to more specific locale/opac location
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Thu, 11 Feb 2016 19:36:35 +0000 (14:36 -0500)]
LP#
1544606: Change static entry to variable in config example for locale/staff
We were using a hardcoded entry for /openils/var here, but this should be a
variable that is altered based on how users configure/build Evergreen.
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Thu, 11 Feb 2016 19:27:20 +0000 (14:27 -0500)]
LP#
1544606: Remove trailing whitespace from sample configs for locale/staff
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Galen Charlton [Wed, 17 Feb 2016 16:11:01 +0000 (11:11 -0500)]
LP#
1067823: stamp upgrade script
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Kathy Lussier [Wed, 17 Feb 2016 13:01:54 +0000 (08:01 -0500)]
LP#
1067823 Add genre facet by default and remove tag 659 from definition
Since genre will work well as a facet, add it to the facets in config.tt2 so
that it displays by default. Also removes the 659 MARC field from the genre
definition since it is currently an unassigned tag.
Release notes have been updated to reflect these changes.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Mon, 2 Nov 2015 19:59:20 +0000 (19:59 +0000)]
LP#
1067823: add release notes
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Andrea Neiman <aneiman@kent.lib.md.us>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 2 Nov 2015 19:53:53 +0000 (19:53 +0000)]
LP#
1067823: follow-up: add back a space
Ensure that there's a space displayed between
each component of a heading coming from a subfield
boundary; this prevents
600 $aHarry Potter$c(Fictional character)
from getting displayed as
Harry Potter(Fictional character)
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Andrea Neiman <aneiman@kent.lib.md.us>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 2 Nov 2015 19:35:12 +0000 (19:35 +0000)]
LP#
1067823: tweak new identifier|genre index
[1] Adjust facet XPath to work for more Pg versions.
[2] Ensure that upgrade script adds stock search
normalizers.
[3] Make update script provide instructions for
running a partial reingest.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Andrea Neiman <aneiman@kent.lib.md.us>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 15 Oct 2015 21:20:07 +0000 (17:20 -0400)]
LP#
1067823: Genre links launch subject search
And genres are not subjects. So now we will index genres in the identifier
class and teach the tpac to build links appropriately. Genre is herein
defined as data in tags 655 or 659 (as the tpac currently thinks), restricted
to subfields [abvxyz], per LoC documentation.
To test:
[1] Apply the update and run the partial reingest as suggested
by the upgrade script.
[2] In the public catalog, navigate to a record that has one
or more 655 fields. Click on one of the genre links and
verify that it retrieves records sharing that genre heading.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Andrea Neiman <aneiman@kent.lib.md.us>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Chris Sharp [Wed, 16 Dec 2015 12:10:37 +0000 (07:10 -0500)]
LP#
1486592 - Generate prices for concerto dataset.
The "concerto" test data needs prices on copies to test
various features. This adds a function to generate a price
when a copy is populated.
To test:
[1] Create a fresh Evergreen database and load the Concerto
dataset; verify that that vast majority of copies now
have a price set.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Kathy Lussier [Tue, 16 Feb 2016 19:57:07 +0000 (14:57 -0500)]
LP
1499123: Stamping upgrade script for standing-penalty-ignore-proximity
Nearly forgot to stamp the upgrade script for lp1499123. While I'm at it,
correcting a small typo found in the release notes.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Sun, 11 Oct 2015 18:30:11 +0000 (14:30 -0400)]
LP
1499123: Add release notes.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Sat, 26 Sep 2015 15:42:35 +0000 (11:42 -0400)]
LP
1499123: Modify Perl code for csp.ignore_proximity field.
* Add get_org_unit_proximity function to AppUtils.
First, we add a helper function to OpenILS::Application::AppUtils that
returns the proximity value between a "from" org_unit and a "to"
org_unit. It takes a CStoreEditor and the ids of the two org_units as
arguments.
* Use csp.ignore_proximity in O::A::Circ::Circulate::Circulator.
Modify the check_hold_fulfill_blocks method of the Circulator object
to take the csp.ignore_proximity into account.
The new code first calculates the proximity of the circ_lib and the
copy's circ_lib with the patron's home_ou. It then modifies the main
query in the function to check if the csp object's ignore_proximity
is null or greater than either of the two calculated proximity values.
* Teach SIP::Patron about csp.ignore_proximity.
We modify SIP::Patron::flesh_user_penalties to not report penalties
within csp.ignore_proximity of the user's home_ou.
In order to have a notion of "here" for the proximity check, we modify
SIP::Patron->new to assign its authtoken argument, if any, to the
CStoreEditor. We then use this authtoken to retrieve the authsession
user so that we may use the authsession user's ws_ou or home_ou as a
context ou for penalty lookup and filtering based on the
csp.ignore_proximity in flesh_user_penalties. If we're not given the
authtoken, we fall back to using the patron's home_ou and the
penalty's context ou for the proximity lookup.
This assumes, of course, that the authsession user's ws_ou or home_ou
have a logical relationship with the desired transaction ou. For most
self-checks this will likely be true. For other uses of the SIP
protocol, this is less likely to be true.
* Add Perl live tests.
Add tests for basic checkout and hold functionality as well as for
the OpenILS::SIP::Patron->flesh_user_penalties() changes.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Fri, 25 Sep 2015 00:35:50 +0000 (20:35 -0400)]
LP
1499123: Add ignore_proximity to config.standing_penalty.
This commit adds the integer column ignore_proximity to the
config.standing_penalty table. It also adds the column to the
csp class entry in the IDL.
It also modifies the action.hold_permit_test() function from
110.hold_matrix.sql to use the ignore_proximity field from
config.standing_penalty when checking the user's penalties to see if
they block the hold.
We also modify the action.item_user_circ_test() function from
100.circ_matrix.sql to use the ignore_proximity field from the
config.standing_penalty table when checking to see if the user's
penalties block the circulation.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Fri, 6 Mar 2015 22:18:21 +0000 (17:18 -0500)]
LP#
1429268 credit card payment address fall-thru
When a patron has no mailing address linked, attempt to read address
data from the patron's billing address. Similarly, if all address
fields are properly set by the API caller, except the country, and the
patron has no addresses, attempt to determine the country from org unit
settings.
If insufficient address data is provided or divined, return an invalid
params Event (similar to other CC failures).
To test:
[1] Create a patron record that has no mailing address but does
have a billing address. Perform or simulate a credit card
payment; it shoudl fail with an internal error.
[2] Apply the patch and repeat step 1; this time, the payment
attempt should succeed and use the billing address.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Kathy Lussier [Tue, 15 Dec 2015 13:39:27 +0000 (08:39 -0500)]
LP#
1522604: Remove red alert style for non-cataloged checkouts
The non-cataloged checkouts in the patron summary had a red alert style
applied when there was a lost item count on the patron record. This branch
removes any alert styling since we don't need to highlight non-cataloged
checkouts.
Test plan:
Pre-patch, retrieve a patron record with lost transactions in the web client.
The non-cataloged count in the patron summary will be red. Apply the patch.
The count will no longer be red.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Josh Stompro [Mon, 9 Nov 2015 02:51:04 +0000 (20:51 -0600)]
LP#
1240657 - Creating and Deleting Closed Dates permissions wrong.
The code referenced two permissions that didn't exist
CREATE_CLOSEING and DELETE_CLOSEING. Should be CREATE_ORG_UNIT_CLOSING,
and DELETE_ORG_UNIT_CLOSING.
[RM note: the affected methods don't appear to be in use, however]
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Kathy Lussier [Tue, 9 Feb 2016 04:05:03 +0000 (23:05 -0500)]
lp1422802 Release notes entry
Release notes entry for more visible parts feature.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Kathy Lussier [Sat, 14 Feb 2015 19:10:54 +0000 (14:10 -0500)]
lp1422802: Improve visibility of parts on Place Holds screen
Users often miss the list of parts on the Place Holds screen, leading to
many title-level holds on records where only one or two libraries have
'unparted' copies. This branch adds some styling to add padding around the
parts selector and to bold the Select a Part text. Many thanks to Christine
Morgan whose custom work at NOBLE served as an inspiration for this styling.
The branch also adds a new config.tt2 option to display parts with
radio buttons instead of a select menu so that all of the parts will display on
the screen. With this option, no parts are pre-selected, forcing the users to
actively choose a part.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Dan Wells [Tue, 9 Feb 2016 15:22:46 +0000 (10:22 -0500)]
LP#
1526547 Re-broaden backdate note setting
The previous commit missed a case where we still want the backdate
message to appear. Let's recentralize it, but at a different level.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Wells [Thu, 28 Jan 2016 19:49:42 +0000 (14:49 -0500)]
LP#
1526547 Improve note setting for backdates
The backdate note was the default note for voiding and adjusting, but
this proved to be an unexpected default.
Let's set the note only where we need it, and also genericize the
wording to cover both voiding and adjusting.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Wells [Fri, 14 Dec 2012 18:39:21 +0000 (13:39 -0500)]
LP#
1526547 Prevent bogus notes when adjusting lost/lod overdues
If you void/adjust an overdue, but don't supply a reason, the code
automatically adds "VOIDED FOR BACKDATE" to the billing note. This is
obviously wrong for overdues adjusted or voided due to lost (or long
overdue) processing.
This commit simply adds a more appropriate note.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Fri, 20 Nov 2015 21:26:05 +0000 (21:26 +0000)]
LP#
1516867: set limit on when HTML report output sorting
To avoid taking an excessive amount of time to render an
HTML report or sort its values, dynamic sorting is enabled
only when there are at most 10,000 rows of output.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Dan Scott [Tue, 17 Nov 2015 03:20:28 +0000 (22:20 -0500)]
LP#
1516867 Make HTML report tables sortable
Using the sortable JavaScript library from https://github.com/hubspot/sortable
(MIT license), we can make HTML reports much more usable by making them
sortable by clicking on the column headers. This should save some downloading
of CSV or Excel versions of the reports.
To test:
[1] Create or use a report template and generate an HTML report; ensure
that the report has at most 10,000 rows of output.
[2] View the report output and click on one of the column headings;
verify that the table sorts itself by that column's values.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Galen Charlton [Wed, 3 Feb 2016 17:17:30 +0000 (12:17 -0500)]
webstaff: add angular-file-saver to test manifest
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Yamil Suarez [Wed, 3 Feb 2016 04:35:53 +0000 (23:35 -0500)]
Docs: small leveloffset fix for root.txt
Signed-off-by: Yamil Suarez <yamil@yamil.com>
Jennifer Pringle [Fri, 29 Jan 2016 03:24:59 +0000 (22:24 -0500)]
Docs: web client copy buckets documentation
Signed-off-by: Yamil Suarez <yamil@yamil.com>
Galen Charlton [Tue, 2 Feb 2016 00:53:43 +0000 (19:53 -0500)]
webstaff: fix more cases where new copies weren't being saved
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 2 Feb 2016 00:19:46 +0000 (19:19 -0500)]
webstaff: work around race condition in vol/copy editor
Fix (or workaround) issue whereby the volume/copy editor
could fail to select a copy's current stat cats.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 1 Feb 2016 16:43:09 +0000 (11:43 -0500)]
webstaff: clean up console noise
Ensure that if a default stat cat OU filter is not set,
that errors aren't logged when creating a new volume/copy.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Fri, 29 Jan 2016 23:38:53 +0000 (18:38 -0500)]
webstaff: fix issue that prevent new copies from being added
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 23:33:34 +0000 (18:33 -0500)]
webstaff: add copy ID column to holdings table and volcopy editor
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 23:21:57 +0000 (18:21 -0500)]
webstaff: add circulate as MARC type column to holdings table
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 23:06:19 +0000 (18:06 -0500)]
webstaff: add prefix, suffix, and parts columns to holdings table
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 22:46:36 +0000 (17:46 -0500)]
webstaff: ensure that volcopy editor saves copy part maps
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 19:46:15 +0000 (14:46 -0500)]
webstaff: add circulating library as optional column in holdings view
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 19:32:56 +0000 (14:32 -0500)]
webstaff: copy template fix
This patches fixes applying the volume portion of a
template when in the copy template tab of the volume/copy
editor.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 19:13:27 +0000 (14:13 -0500)]
webstaff: fix updating stat cats in the volume/copy editor
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 19:11:08 +0000 (14:11 -0500)]
webstaff: expose ascecm to open-ils.pcrud
Doing this allows the volume/copy editor to use
pcrud to retrieve copies with stat_cat_entries fleshed.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 28 Jan 2016 17:44:37 +0000 (12:44 -0500)]
webstaff: fix selection of stat cats in copy editor and templates
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Wed, 27 Jan 2016 22:36:37 +0000 (17:36 -0500)]
webstaff: fix setting default copy status for new items
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Wed, 27 Jan 2016 21:38:33 +0000 (16:38 -0500)]
webstaff: consolidate code for generate new copies
This patch does a bit of refactoring to get rid of
some copy-and-paste code that creates new copies
in the volume/copy editor.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 22:44:32 +0000 (17:44 -0500)]
webstaff: fix console noise spawned by OU selector
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 22:34:03 +0000 (17:34 -0500)]
webstaff: tweak setting default classification scheme in volcopy editor
With this patch, the volume/copy editor creation default for
classification scheme now can have a value of "Use Library Setting".
If this is in effect, the default classification scheme for new
volumes is taken from the library setting.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 22:01:21 +0000 (17:01 -0500)]
webstaff: add more volume transfer options
The volume/copy editor now has the following new actions:
* (Transfer) Volumes to Previously Marked Record
* (Transfer) Volumes to Previously Marked Record and Library
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 21:13:27 +0000 (16:13 -0500)]
webstaff: add a Transfer Copies to Previously Marked Library action
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 19:06:57 +0000 (14:06 -0500)]
webstaff: grab default call number from bib when creating volume
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 26 Jan 2016 18:06:14 +0000 (13:06 -0500)]
webstaff: save copy templates now unconditional
The save copy templates button in the volume/copy editor
no longer requires that a working template be active; this
way, users can save the set of templates after an import
without having to select one of them first.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 25 Jan 2016 23:34:54 +0000 (18:34 -0500)]
webstaff: implement import/export of copy templates
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 25 Jan 2016 23:30:48 +0000 (18:30 -0500)]
webstaff: add egJsonExporter directive
This directive is used to allow a piece of JSON
to be saved to the user's filesystem. For example:
<span eg-json-exporter container="foo" default-file-name="example.json">Export</span>
specifies a button that, when click, allows the user to save
the contents of the scope variable foo. The dialog that
appears will use "example.json" as the default filename.
This also adds a new dependency, the MIT-licensed
angular-file-saver service written by Philipp Alferov:
https://alferov.github.io/angular-file-saver/
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 25 Jan 2016 20:41:52 +0000 (15:41 -0500)]
webstaff: style file input buttons more nicely
Using technique devised by Cory LaViska per
http://www.abeautifulsite.net/whipping-file-inputs-into-shape-with-bootstrap-3/
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 21 Jan 2016 22:42:47 +0000 (17:42 -0500)]
webstaff: fixed client-side sorting of names in add-to-bucket dialog
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 21 Jan 2016 22:31:46 +0000 (17:31 -0500)]
webstaff: alphabetize status and location dropdowns in copy-editor
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 21 Jan 2016 22:20:43 +0000 (17:20 -0500)]
webstaff: display floating group correctly in item status
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 21 Jan 2016 22:15:53 +0000 (17:15 -0500)]
webstaff: add copy editor support for floating field
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Mon, 4 Jan 2016 20:51:14 +0000 (15:51 -0500)]
webstaff: rework Local Administration
maintain links and labels as a data structure
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 29 Oct 2015 23:24:35 +0000 (23:24 +0000)]
webstaff: tweak how element IDs in MARC editor are generated
For new records (or records that for whatever reason lack
a 901 field), use '0' as a dummy value for the record
ID when constructing element IDs (e.g., r0f5, r0f10sf0value,
etc.). This fixes a problem where setCaret() couldn't
successfully change focus after adding a field or subfield
to a new record.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Mon, 5 Oct 2015 02:05:58 +0000 (22:05 -0400)]
webstaff: users with negative balance
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Mon, 26 Oct 2015 16:13:45 +0000 (12:13 -0400)]
webstaff: Wire up statcat filtering in item attribute editor
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Fri, 23 Oct 2015 20:34:16 +0000 (16:34 -0400)]
webstaff: open title from item status in a new tab
Also, iindicate that will happen with an icon by the title link
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Fri, 23 Oct 2015 20:25:19 +0000 (16:25 -0400)]
webstaff: Move new Vol Transfer UI menu option to "misc" section to avoid confusion
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 22 Oct 2015 20:03:26 +0000 (16:03 -0400)]
webstaff: Use the record id to fetch the summary record data in item status
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 22 Oct 2015 15:42:15 +0000 (11:42 -0400)]
webstaff: for selected grids, allow display of 10000 items
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 21 Oct 2015 21:53:21 +0000 (17:53 -0400)]
webstaff: enable copy edit link from opac view
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Wed, 21 Oct 2015 17:39:08 +0000 (17:39 +0000)]
LP#
1508477: bump up minimum version of angular-hotkeys
Version 1.3.0 of angular-hotkeys is now required, as this
is the version that introduces the ability the specify
that hotkeys can be used even when inputs, selects,
and textareas have focus.
After applying the patch (and doing a bower update,
grunt uglify, and install), one can test hotkeys in
the web staff client by (for example):
- starting from the home page and hitting F1 to
get to patron search by barcode
- hitting F5 to get the item status page
Note that if the page embeds the OPAC or a Dojo
interface using an egEmbedFrame, if any element
of the iframe's content has focus, the hotkeys won't
work -- that will be the subject of another patch.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 20 Oct 2015 20:08:44 +0000 (20:08 +0000)]
webstaff: add another option for choosing volume transfer library
The actions menu on the holdings view now has two ways of
specifying a library to transfer volumes to:
* Library as Volume Transfer Destination
Pops up a modal with a library selector.
* Library from Selection as Volume Transfer Destination
Uses the currently selected volume's owning
library to specify the target library.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 20 Oct 2015 19:39:10 +0000 (19:39 +0000)]
webstaff: keep $scope.{pre,suf}fix as acnp/acns objects
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>