Galen Charlton [Fri, 2 Oct 2015 20:50:03 +0000 (20:50 +0000)]
webstaff: more changes to holdingsSvc
- convert holdingsSvc from a singleton to a provider
of holdings service instance objects
- adjust the catalog app accordingly
- add a new egVolumeList directive that displays
a list of volumes attached to a bib record, including
owning library, call number, and copies
Galen Charlton [Fri, 2 Oct 2015 14:19:52 +0000 (14:19 +0000)]
webstaff: make overlay record modal wider
This patch defines a CSS class, eg-wide-modal, that can be
set as the windowClass of 'lg' Boostrap modals and increase
their width from a fixed width to 95% of the window.
Galen Charlton [Thu, 1 Oct 2015 20:31:08 +0000 (20:31 +0000)]
webstaff: move some "mark for" buttons to record summary
This patch moves the "Mark for..." overlay, volume transfer,
and conjoined items buttons from the MARC editor to
the record summary (next to the "Add To Bucket" button).
Galen Charlton [Thu, 1 Oct 2015 19:24:57 +0000 (19:24 +0000)]
webstaff: add drop-down for item type Z39.50 search field
It should be noted that this works *only* for OCLC, as
not all targets support use attribute 1001, and the list
of values for that use attribute are target-defined.
A more general solution might be creating a new
config.z3950_attr_value_list table.
webstaff: adjust URL when navigating catalog search results
Navigating from record to record after performing a catalog
search now sets the URL in the browser to /eg/staff/cat/catalog/record/{record_id}.
Clicking on the "Back To Results" button will set the URL
back to /eg/staff/cat/catalog/index.
This allows staff to copy and paste record URIs more conveniently.
webstaff: give more feedback for Z39.50 edit-then-import
The "edit then import" modal now varies the label of the
MARC editor's save button based on whether one has yet
to import the current record or if one is just making
changes to it after having imported it. The dialog now
also has a button for going to the newly-imported record
in catalog view.
When editing a record that has not yet been saved
to Evergreen (either because it is new or because it
is a record coming from a Z39.50 target), ensure that
the context menu 'delete field' operation works.
Jason Stephenson [Tue, 22 Dec 2015 14:11:55 +0000 (09:11 -0500)]
LP#1528596: Add another eval/warning check in marc_export.
This one checks if the $marc->insert_grouped_field for adding items
throws an error or warning. This happened on my records with a bad
field that somehow made it through the conversion from XML.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Jason Stephenson [Mon, 25 Jan 2016 18:00:13 +0000 (13:00 -0500)]
README: Note about web staff client prerequisites & developer prereqs.
If you're intalling on Debian Jessie or Ubuntu Trusty, you can skip
the manual installation of Node.JS is you've already installed the
<osname>-developer prerequisites.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 3 Dec 2015 21:13:09 +0000 (16:13 -0500)]
LP#1522538: Improper detection of jtitle search type
Before this change, the system would only check the first qtype URL parameter
to see if it needed to apply the journal title "bib_level(s)" filter. Instead
it should check each qtype in turn while it turns an advanced search into a
simple search string. Here the code is moved into place to accomplish that.
To test, load all test datasets into a fresh database. Perform an advanced
search on journal title for "proceedings" (no quotes) using the second search
input row. Before this commit, two records are retrieved. After, only one
is retrieved.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Tue, 24 Nov 2015 18:57:33 +0000 (13:57 -0500)]
LP 1519465: POs with spaces in the name cause EDI problems.
This is a small modification to the regular expression for parsing
the id from the edi line item fields in EDIReader.pm that allows the
ids to parse correctly when the PO name contained a space or spaces
in it. This change was suggesting by Bill Erickson (berick) in
http://irc.evergreen-ils.org/evergreen/2015-11-24#i_216736
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Boyer [Fri, 4 Dec 2015 06:17:21 +0000 (01:17 -0500)]
LP1522686: Force SSL for Web Staff, Add Basic Redirect for Staff URL
1 minor change, 1 less minor change.
First, add a simple redirect for staff that forget to enter the
final '/' at the end of <server>/eg/staff/.
Second, and most importantly, force all connections to the web
staff client to be redirected through an HTTPS connection. By
default the system would accept whichever connection type you
enter by hand, and fewer and fewer people actually enter the
protocol specifier these days.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Wed, 30 Dec 2015 16:00:26 +0000 (11:00 -0500)]
LP#1530158: ensure that Business::OnlinePayment::PayflowPro is installed
Business::OnlinePayment::PayflowPro is a Perl module required if
the user wants to use PayflowPro as a credit card processor; without
it, attempts to make payments in TPAC using that processor will fail
with an internal server error.
This patch ensures that the module will get installed on Debian,
Ubuntu, and Fedora.
Strictly speaking, the Perl module is strictly optional, as
Business::OnlinePayment uses lazy loading for its drivers, but this
patch is making the assumption that its easiest all around if
we just install all dependencies that an Evergreen application
server might need.
To test
-------
[1] Install or upgrade Evergreen, then run settings-tester.pl to
verify that the module is installed.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 13 Feb 2014 16:56:19 +0000 (11:56 -0500)]
LP#1526543 Truthiness check for reset_password is flawed
We expect boolean options in config.tt2 to be 'true' or 'false',
but the code was simple asking 'IF reset_password', which is true
for either value.
Instead, match on the string (as we do in other places).
To test:
- Load the stock catalog login page
- Notice the "Forgot your password?" link staying no matter which way
'reset_password' is set in config.tt2
- Apply patch, and change 'reset_password' value in config.tt2 to 'false'
- RESULT: Password reset link doesn't show up
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Josh Stompro [Wed, 25 Nov 2015 19:36:08 +0000 (13:36 -0600)]
LP#1519925 - Allow MARC Federated Search to search UPC index of local catalog.
If a organization added UPC search for certain Z39.50 servers then the UPC search box
would display in the MARC Federated Search interface, but the local catalog would
not be searched. This adds the ability to search the local catalog "Evergreen Catalog"
UPC index from that interface.
Confirm the Issue:
1. To trigger the initial problem you need a Z39.50 server setup that includes a UPC
Search. For OCLC the following Z39.50 attributes add UPC searching.
Name:upc, Label:UPC, Code:1007, Format:4, Truncation:0
2. Now the MARC Federated Search should include a UPC search option. Try searching
for a UPC that exists in the local catalog. Nothing should come up.
After patch applied:
1. Now if you search for a UPC in the MARC Federated Search that you know exists,
it will show up.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Kathy Lussier [Wed, 18 Nov 2015 21:24:14 +0000 (16:24 -0500)]
Docs: Missed some acknowledgements in the 2.9.1 point release notes
Missed a few ackwnowledgements in the release notes. Apologies to those who
I missed. Also added bshum since he made a doc change after the release notes
were merged.
Kathy Lussier [Wed, 18 Nov 2015 00:13:57 +0000 (19:13 -0500)]
Adding bug fixes and acknowledgements to 2.9.1. Release Notes
The structure of these point release notes is a little different from what
we did with the 2.8 series. I restructured the headings a bit so that there
is just the one level one header. The two headers in the 2.8 release notes
led to a confusing outline.
Also, I'm adding acknowledgements for each point release rather than adding the
entire batch at the bottom of the file. There are two reasons for this change:
1. The release notes in the official documentation are broken up into different
sections, whereas the ones on the downloads page are available all on one page.
In the official docs, it appeared as if everyone being acknowledged had
contributed to the .0 release, when, in actuality, some had contributed patches
in other point releases. By adding acknowledgements to every point release
section, it is clear who contributed to which release.
2. Consistent contributors get acknolwedgement for every point release they
contribute to, which is a nice thing to do.
Because phrases are subqueries, we need to look at the top of the parse tree
when looking for modifiers for cover density. This is because modifers are
normally only allowed at the top of the parse tree (or in the floating sub-
query). We do that by asking the plan's QueryParse for it's reference to its
parse_tree member, which is always the top of the parse tree in QP.
Included in this commit is a small change to the QP testing script to
facilitate testing of this fix.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This little patch will open up the acq copy location dropdown UI
to include other library's copy locations outside of the workstation
registration. When the user permissions are scoped to more branches.
Steven Chan [Thu, 19 Sep 2013 19:51:35 +0000 (12:51 -0700)]
Fix LP1175711, OPAC can't renew item on booking resource list
A test sequence to show the behaviour before and after the fix:
1. Using staff client, check out an item to test account.
2. Go to Copy Details on the OPAC, click Book Now, and cancel the form;
the side effect is to put the item on the Resource list.
3. Using the OPAC on a web browser, log in with test account.
4. Go to Items Checked Out, select the item in the list and click Renew
Selected Items.
Before the fix, we saw the OPAC spin forever, and we saw the Javascript
console of the web browser log the error noted in previous comments.
With the fix, we see an error prompt saying, 'The system is unable to
renew the selected item at this time. This usually means the item is
needed to fulfill a hold. Please see a librarian for further help.'
Note: A patron with the normal group of permissions will not be able to
renew an item on resource list.
The fix is to check for an error object emitted by the function
Booking.pm/reservation_list_by_filters(), and to propagate it back to
the client, by returning a call to bail_on_events().
We also clarify the coding of the function's parameter list and how the
function checks for mandatory parameters.
Jason Stephenson [Mon, 16 Nov 2015 21:15:22 +0000 (16:15 -0500)]
LP 1516786: 0938 Upgrade Script ends in END and not COMMIT.
Change the END; on the last line of 0938.data.some_rda_attributes.sql
to COMMIT; for reasons of consistency and to avoid issues when wrapped
in larger upgrade scripts using the make release script.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
It was previously possible to delete reserved rows in
the acq.cancel_reasons table via the UI. We take a belt
and suspenders approach here:
1) Grey out the checkboxes beside cancel reasons with an
ID lower than 2000.
2) Create a trigger on the acq.cancel_reason table that
prevents deletion of rows with an ID lower than 2000.
The trigger executes a new generally available function
for use in similar situations in the future.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Galen Charlton [Thu, 29 Oct 2015 15:39:16 +0000 (15:39 +0000)]
LP#937789: various improvements to logical deletion of parts
This patch ensures that when a monograph part is marked as
deleted, that mappings between it and its copies are also
removed, similar to the previous behavior of the cascade
on delete.
This patch also adds some pgTAP tests and ensures that
unapi.bmp() and unapi.holdings_xml() get updated during upgrade.
To test the fix for this bug:
[1] Apply the patches.
[2] Create a monograph part on a record, then delete it. Verify that
it no longer shows up in the parts maintenance interface, but that
a row in the biblio.monograph_parts table still exists with the
deleted flag set to true.
[3] Create another monograph part on the same record.
[4] Create a new volume/copy and assign the part created in step
3 to it. Verify that the part shown in step 2 is *not*
included in the XUL part selector.
[5] Place a part-level hold. Verify that the hold request
is displayed correct in both the public catalog and the staff
interface.
[6] Delete the part created in step 3.
[7] Verify that viewing the list of the patron's holds in the XUL staff
client doesn't result in any 'network errors'. Also verify that
the hold request is still displayed in patron's view in the public
catalog.
[8] Using SQL or some other means, set the expire_time and
prev_check_time of the test hold request to a couple days in the
past, then run the hold targeter. Verify that the hold gets
cancelled for lack of a suitable copy to fill it.
Mike Rylander [Thu, 7 Jun 2012 18:54:24 +0000 (14:54 -0400)]
LP#937789: fake-delete support for monograph parts
Unlike copies, call numbers, and bibs, parts can be directly removed from the
database. This has a negative impact on holds, in that the holds become not
just orphaned, but broken entirely. With this commit we bring part holds to
parity with other hold types such that they can be system-canceled when their
target goes away. This will avoid spurious UI-level errors to staff.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
[1] Install the translation for a language that uses
non-Latin-1 characters, such as Russian.
[2] Start the XUL staff client and open the reports
interface. Note that labels are mangled.
[3] Apply the Apache configuration changes in this patch,
reload Apache, clear cache in the staff client, and
reload the reports UI. The labels should now be
displayed correctly.
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Josh Stompro [Sat, 31 Oct 2015 15:38:41 +0000 (10:38 -0500)]
LP#1511828: sort proximities numerically when targeting holds
The hold targeter had three instances of using lexical sorting
rather than numerical sorting.
Two of the instances affected hold targeting if proximity values were
over 9. Proximity values were being sorted lexically. For instance,
1,2,5,11,15,100,120 was sorted as 1,100,11,120,15,2,5, causing
interesting hold targeting results. Normally proximity doesn't go
that high so it isn't a problem, but we were using proximity adjustments
to strictly order locations so each location had a different proximity,
driving the numbers above 9.
One instance wasn't causing any current issue but could cause problems in
the future if more best hold selection sort options are added to bring the
total number of sort options over 9.
Also included are some changes to reduce warnings in the logs
suggested by Bill Erickson. The sorting problem was found by
Galen Charlton, thanks Galen.
Testing Notes - to trigger this issue you need to have adjusted
proximities over 9.
1. Use proximity adjustment rules to add a +10 proximity adjustment to
one item circ lib, Branch A and a +2 proximity adjustment to the
item circ lib Branch B.
2. Find a title with a copy at Branch A and B. Place a hold with a
pickup location of Branch B.
3. The copy at Branch A should get targeted since it has a proximity of
12-14 (10+normal proximity) and Branch B has a proximity of 2
(2+normal proximity). 12 gets sorted before 2 lexically.
4. After the fix the copy at Branch B should get targeted since 2
is sorted before 12.
Josh Stompro [Thu, 11 Jun 2015 01:12:10 +0000 (20:12 -0500)]
LP#1400801 - Updated email validation regex for Org Unit admin gui
Grabbed the example of a simplified RFC 5322 email regex from
http://www.regular-expressions.info/email.html and lightly modified it
for case sensitivity and removed the "&" character from the localpart allowed
characters, which causes a 500 server error for some reason.
This matches many more of the valid localpart special characters.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Mark Cooper [Wed, 3 Apr 2013 21:23:56 +0000 (14:23 -0700)]
LP#1164174: have authority linker handle author/title series added entries
Support for 800 field author/title series added entry is
missing from authority_control_fields.pl. This adds it.
Subfields match:
http://www.loc.gov/marc/bibliographic/bd800.html
Example bib link:
=800 1\$aTolkien, J. R. R.$q(John Ronald Reuel),$d1892-1973.
$tLord of the rings (1986) ;$vpt. 1.$0(DLC)7
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Jason Boyer [Tue, 30 Jun 2015 12:53:21 +0000 (08:53 -0400)]
LP1464765: Speed Up Number Padding for Sort Keys
[New commit message by Galen Charlton:]
This patch was originally written to fix a problem with
normalization of various labels, but the patches for
bug 1155313 fixed the function problem. However, testing
shows that this version of evergreen.lpad_number_substrings()
is about a third faster, so this patch is being merged to
get the speed improvement and the additional tests.
Thanks to Thomas Berezansky for a much simplified approach.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Adam Bowling [Mon, 19 Jan 2015 17:05:19 +0000 (12:05 -0500)]
LP#1406387 Fix for Holds Placement Advanced Options
In the staff client, when placing a hold and clicking
Advanced Hold Options, the barcode input will populate
with the staff member's barcode if it was previously
empty, regardless of whether the radio input for the
hold was specified for a patron or the staff member.
This patch corrects that behavior, and also populates
the input radio on load after clicking Advanced Hold
Options.
Signed-off-by: Adam Bowling <abowling@emeralddata> Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1501471: add DB function for batch retrieval of OU settings
This adds a new stored function and a utility routine that uses it
for retrieving a set of OU settings in one fell swoop. This offers
a significant speed boost for the Dojo patron editor, which loads
about 70 OU settings when it initalizes itself.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>