Dan Wells [Fri, 3 Jun 2011 17:43:40 +0000 (13:43 -0400)]
Clean up a few stock perm mistakes
This upgrade file does cleanup for three errors:
1) deletes errant inserts from 0545 (group 4 is not the circulation admin group)
2) accounts for spelling errors (Admin != Administrator)
3) adds a group missed in 0542, for upgraders
Stat cats can now have a sip_field and sip_format.
sip_field is the field identifier code, sip_format is one of the following:
1 - Null/Empty, places stat cat value in as-is
2 - A plain string, placed in value as-is when stat cat has value
3 - A plain string with a %s, 1 and 2 combined, where the stat cat value replaces the %s
4 - A regular expression surrounded by | characters (ex, |([0-9]*) -|):
If the regular expression does not match the value, nothing
If the regular expression matches and has a capture group, the captured group
If the regular expression matches and does not have a capture group, the entire match
The | was used because it would otherwise be stripped from the final result anyway.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 1 Jun 2011 21:29:01 +0000 (17:29 -0400)]
Permission to allow transit abort on lost/missing
This patch introduces a permission that allows staff to abort transits
for items in the lost/missing status. Previous, this was disallowed by
a hard-coded block.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 1 Jun 2011 21:01:36 +0000 (17:01 -0400)]
Collections exemption user setting
Adds a new user setting "circ.collections.exempt" which, when set to
true for a user, means the user will not be considered for collections.
It does this by ignoring the user when calculating the list of users of
interest in the "open-ils.collections.users_of_interest.retrieve" API
call.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Wells [Wed, 1 Jun 2011 18:33:59 +0000 (14:33 -0400)]
Serial holdings display consistency fix
When holdings are sourced from both MFHD and the DB, display may be
inconsistent due to a hard-coded ', ' in Serial.pm. This patch works around
the problem by storing generated_coverage as a JSON array instead of a string,
leaving display formatting to the OPAC.
Dan Wells [Wed, 1 Jun 2011 15:10:34 +0000 (11:10 -0400)]
Remove specific admin perms, reorganize seed file
The various administrators already have 'EVERYTHING' at their
respective levels, so no need to assign new perms there. The
seed file is now more consistently organized.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Dan Wells [Wed, 1 Jun 2011 13:43:53 +0000 (09:43 -0400)]
Change a few permission levels and assignments
In an attempt to be consistent with existing perms, a few were moved to
levels lower than 'Consortium', and ADMIN_SERIAL_ITEM is only in the
'Serial' group.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Also note that the CREATE OR REPLACE function calls will
fail on an existing database due to the changed return
type of the functions - so if this gets moved into its
own upgrade script, DROP FUNCTION calls will be
required.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 31 May 2011 16:16:16 +0000 (12:16 -0400)]
Repaired typo on schema and upgrade SQL
ARRAY_ACUM is not a defined function. Per Dan Scott, replaced with
ARRAY_AGG instead of the correctly spelled ARRAY_ACCUM, since we'll be
using that function in place of ARRAY_ACCUM going forward.
Thanks, Dan.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Mike Rylander [Thu, 26 May 2011 20:03:39 +0000 (16:03 -0400)]
Patch suggested by Jason Boyer for LP#788601
The <script> tag for the chrome frame message has a misplaced semicolon,
which causes an odd looking display issue in Internet Explorer. I
realize that ideally very few people will be using IE, but even if
they're not interested in a quality browsing experience we should
probably put our best face forward.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Thu, 26 May 2011 07:55:26 +0000 (03:55 -0400)]
Don't rely on call number column being rendered before prefix/suffix/class columns. Also, remove prefix/suffix/class from the check-in interface, since those column definitions can make extra network calls and we want that interface to be as fast as possible.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Dan Wells [Tue, 24 May 2011 14:53:09 +0000 (10:53 -0400)]
Make label_class on any new call numbers default to org_unit setting
Evergreen 2.0 added a label_class column to the call number table with
one major purpose being the generation of correct sort keys. You can
also specify a default label class as an org unit setting. However:
1) There are no interface elements for setting the label class of an
individual call number.
2) The default setting from the actor.org_unit_setting
'cat.default_classification_scheme' value, if set, is not consulted
(that is, not set in the call number table) when new call numbers are
created.
These two facts together greatly reduce the utility of this very
valuable feature, as all new call numbers end up in the 'Generic' class.
While #1 has been addressed in 2.1+, there is still work to be done in
setting this class on import. Also, which interface parts (if any) make
it back to 2.0 is subject to debate.
This commit addresses #2.
See lp #787150.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dan@coffeecode.net>
Jason Etheridge [Tue, 24 May 2011 18:55:57 +0000 (14:55 -0400)]
remove restriction on resetting pw to random number when Use Phone Password setting is active. uEditMakeRandomPw will still get called for new users, but should get overwritten once a phone number is entered
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Dan Wells [Mon, 23 May 2011 13:30:43 +0000 (09:30 -0400)]
Apply Apache file expiration to the current official Javascript content type
At least on Ubuntu 10.04, Javascript files are generally delivered with a
Content-Type header of 'application/javascript', not
'application/x-javascript'. This change applies the much shorter 18 hour
expiration to the affected files, rather than allowing them to default to
1 month.
The action_trigger event def template for printing acq invoices was
syntatically broken. The collapse filter isn't important per se, but
it balances the extra [% END %] at the bottom of the template, and it
was there originally, and I see no reason not to put it back.
Incidentally, maybe the database upgrade script in the commit will be
the first in master to successfully use the new
evergreen.upgrade_deps_block_check() function ?
Jason Etheridge [Fri, 20 May 2011 16:45:08 +0000 (12:45 -0400)]
Restore the Replace Barcode option in Holdings Maintenance, as the Edit Item menu will only serve the same duty if the unified volume/copy editor is activated via org setting (otherwise, it's just the Item Attribute Editor). klussier++ for the catch
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Fri, 20 May 2011 09:30:55 +0000 (05:30 -0400)]
align the batch edit menus in the vol creator. mostly aesthetic, but can save horizontal real estate, so usability as well for horizontal vol/copy editor.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Fri, 20 May 2011 09:04:17 +0000 (05:04 -0400)]
usability tweak for controlling screen real estate, in unified vol/copy editor don't embed the the Record Summary in the vol editor, but in the main wrapping UI. Also move CN batch edit bar into groupbox
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Fri, 20 May 2011 07:55:37 +0000 (03:55 -0400)]
usability tweak, pull the Create button out of the embedded interfaces and into the wrapping UI for the horizontal variant of the unified vol/copy editor
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Fix a problem with open-ils.circ.holds.retrieve_all_from_title
Anoop Atre spotted this bug that's triggered by selecting "View Holds"
from "Actions for Selected Record" in the catalog seen through the staff
client.
Said method would error out like this:
[2011-05-20 10:04:03] open-ils.circ [ERR
:31866:CStoreEditor.pm:109:13058333633194115] editor[0|1] request error
open-ils.cstore.direct.serial.issuance.id_list.atomic :
{"subscription":[]} : Exception:
OpenSRF::DomainObject::oilsMethodException 2011-05-20T10:04:03
OpenILS::Utils::CStoreEditor
/openils/lib/perl5/OpenILS/Utils/CStoreEditor.pm:412 <500> Severe query
error -- see error log for more details
because when trying to gather issuance-type holds, it didn't properly test
whether there actually were any subscriptions and issuances related to
the bib record in question.
We must not force P-type holds as not all copies may not use parts. Imagine a situation where
only one library breaks up a season of Seinfeld by using a part per DVD, and all others leave
them bound and therefore need no part designations.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Add permission checking for updating and deleting volumes.
This addresses LP #784062 reported by Ben Shum, and I think others?
Creating volumes was already covered. The ability to delete volumes
without permission would be less often an issue in practice since you
would need permission to delete the volume's copies before you could
delete the volume itself.
Dan Scott [Wed, 18 May 2011 17:18:14 +0000 (13:18 -0400)]
Make Perl 'make check' work without 'make all'
Factor the build of Build from Build.PL into its own
make target and then make that target a prereq for the
other make targets so that we make Build from Build.PL
when we build Makefile from Makefile.am and run 'make check'
Jason Etheridge [Wed, 18 May 2011 05:05:17 +0000 (01:05 -0400)]
Include call number prefix/suffix in display and sorting of holds for Print Full Pull List (Alternate strategy). Also fix things so that we're sorting on the label_sortkey for call number, and not the label. So, for this interface, the hard-wired sort order is Copy Location Order (as defined by Admin -> Local Administration -> Copy Location Order), Call Number Prefix, Call Number Label, Call Number Suffix, and Hold Request time.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Wed, 18 May 2011 02:27:07 +0000 (22:27 -0400)]
have the call number checkbox for pocket labels include prefix/suffix. A %call_number% macro is still available for the bare call number label without affixes
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Wed, 18 May 2011 02:24:21 +0000 (22:24 -0400)]
Can't use encodeURI and decodeURI for everything with persist_helper (in particular, something like "%macro1% %macro2%" as a custom entry in the label interface), so try/catch them and fall back to the original behavior.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Database tables/access functions for prefix/suffix info
Table: config.barcode_completion
Function: evergreen.get_barcodes
Takes org unit, context, and input barcode
Context is a string and can contain:
asset - asset.copy barcodes
serial - serial.unit barcodes
actor - actor.usr (via actor.card) barcodes
booking - booking.resource barcodes
Special case: asset and serial both in context
Returns non-serial asset entries as asset
Returns serial entries as serial
Type for function return: evergreen.barcode_set
With editing interface: Admin->Local Admin->Barcode Completion
OpenSRF Call: open-ils.actor.get_barcodes
Basically a passthrough to the database function
Checks for permissions:
STAFF_LOGIN - To do anything
VIEW_USER - At home_ou of the user owning the returned
barcode when in actor context
Add get_barcode to menu.js and to xulG in a number of places
Takes a window handle, a context, and an input barcode
Passes the current OU, the context, and the input barcode to the db
If multiple results come back it pops up a dialog
Returns boolean false on no results
Returns "user_false" on dialog cancel
Returns an object with type, id, barcode on success
If dialog was brought up, returns data used to populate button
Add option for looking up actors at checkout
Org unit setting: Load patron from Checkout. Default: Don't.
Call sites for get_barcode:
Lookup Patron By Barcode (actor only)
OPAC's Staff Client Place Hold (actor only)
Checkout (asset only by default, with actor if above option set)
Checkin (asset only)
Item Status (asset only)
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 17 May 2011 04:29:47 +0000 (00:29 -0400)]
LP#783486: Improve authority lookup performance
Testing showed that the two indexes added herein improve
authority lookup performance radically; on a 16 GB RAM
database server with 1.1M records, lookup times decreased
from 5500 ms to 0.223 ms. Recommended, would EXPLAIN ANALYZE
again.