The switch to toISOString() to format dates introduced an off-by-one error in
the closed dates display, showing one extra day of closure due to the timezone
being ignored in toISOString().
toLocaleDateString() is the future of locale-sensitive date formats. In XUL,
because it is an old version of Firefox, it lacks locale sensitivity, but for
the purposes of the web staff client it's a good base to build on as even
Internet Explorer supports the locale and options arguments as of IE 11.
And for the immediate purposes of showing the right dates in the closed dates
editor, it works.
Dan Scott [Mon, 12 Dec 2016 20:39:08 +0000 (15:39 -0500)]
LP#1432753 Restore "All day" verbiage to Closed Dates editor
Commit ede7e78925 replaced the JSAN calls to util.date.formatted_date() with
inline date/time handling, in the process returning times with granularity to
the minute instead of to the second. This resulted in the test for "all day"
closings always failing.
Dan Scott [Wed, 14 Sep 2016 03:55:30 +0000 (23:55 -0400)]
Disable most added content types
We're using OpenLibrary, which rarely provides hits for this kind of added
content. Save ourselves 5 additional web server hits and delayed record display
time by disabling the added content outright. Note that we will still get cover
images!
Dan Wells [Tue, 13 Sep 2016 17:40:43 +0000 (13:40 -0400)]
LP#1620803 Add missing workstation passthru to AuthProxy
The AuthProxy.pm login function was not passing through a possible
'workstation' parameter to auth_internal's 'session.create' method.
Without this, all login's end up with a workstation set to the user's
home_ou, which can affect things including opt-in and transit
behaviors.
While not needed for the initial 'user.validate', it seems cleaner
and simpler to just bring it over when constructing the initial
$args hash.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Propagate lineitem MARC 'price' attribute value to the lineitem
estimated_unit_price field. This allows users to apply a lineitem
price directly from the ACQ Brief Record interface.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 6 Sep 2016 17:53:02 +0000 (13:53 -0400)]
LP#1620750 Prevent log warning for uninit var in checkin_retarget()
If the retarget_mode variable is not initialized, then a warning is generated
in the logs every time an item is checked in. Avoid the warning by
short-circuiting before testing the value in the regex.
LP#1588543: tests for verifying correct generated of record attributes
This patch adds tests to verify that the expected
set of record attributes are generated when a bib record
is ingested. The tests serve a couple purposes:
- verifying that changes to the record attribute ingest
stored procedure don't have unexpected side-effects
- validating record attribute definitions in the seed data
LP#1588543: further speed up record attribute ingest
Following a suggestion from Dan Wells, this patch adds
an index on config.coded_value_map(ctype). My testing shows
that the index by itself can halve the time required to
fully ingest a new record; in conjunction with the
change in the previous patch, full reingest time is
reduced by about 60%.
A huge number of rows (700+) have been added to
config.record_attr_definition in recent versions of Evergreen. However,
these rows do not actually define any indexing at all, but are used for
other purposes. The reingest process currently churns over all of these
rows to ultimately do nothing.
This commit limits the group of attributes considered at ingest to only
those which might index something. Testing indicates a substantial
speed boost to typical use of metabib.reingest_record_attributes()
(over 2x speedup).
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Sun, 4 Sep 2016 18:43:14 +0000 (14:43 -0400)]
Add the entire 990 unapi schema to work around schema bugs
When we dump and restore the database, we get qualified schemas that prevent
some of our references from working; in this specific case, hstore vs.
public.hstore. So rebuild the whole schema and let's hope that works?
Dan Wells [Thu, 25 Aug 2016 19:27:56 +0000 (15:27 -0400)]
Translation updates - po files
Translations have been significantly increased. In particular, Spanish
has received a huge update with over 8,000 new translations, Czech has
received a sizeable update of over 800 translations, and additional
smaller updates have been added for Arabic, French (Canada), and
Armenian.
Jason Stephenson [Thu, 25 Aug 2016 15:57:42 +0000 (11:57 -0400)]
LP#1613709: Make DOB validation alert failure translatable.
The alert message about an invalid DOB being entered in the OPAC
patron registration is not translatable. The solution, suggested by
Eva Cerninakova, is to wrap the string in the l() template function to
make it so. That is what this branch does.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Jason Stephenson [Mon, 30 May 2016 17:01:45 +0000 (13:01 -0400)]
LP 1583608: The make_release script always makes a db upgrade script.
Alter make_release to always create a db upgrade script, even when no
actual db upgrades need to be applied. The minimal script created
will at least set the upgrade version in config.upgrade_log.
It also normalizes how 'fail_part' is set in the renewal response,
as the payload of an event returned when a renewal fails can
be either a hash or an acp Fieldmapper object depending on the
type of event. In the former case, attempting to access an
nonexistent ->fail_part method is what causes the crash.
To test
-------
[1] Create an item that requires a deposit or a rental fee
and check it out.
[2] Attempt to renew the loan in the public catalog. Note
that an internal server error is returned.
[3] Apply the patch and attept step 2 again. This time, the
public catalog should display a notification to the patron
that the renewal cannot take place, rather than crashing.
[4] Set up other situations where a renewal should fail for
reasons other than a deposit/rental fee being required. Verify
that appropriate error messages are displayed in the public
catalog.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Some format icons had a white background instead of a transparent one. The
transparent ones will look better in the My Account screens, where the icons
site on a gray background.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
When retrieving the holds history page on a mobile device, re-orient the table
as we do with other My Account screens.
Test plan
Pre-patch, retrieve the holds history screen for a patron that has enabled
holds history. Resize the screen to a width of 600 pixels or smaller. No
adjustments will be made to the table, and horizontal scrolling is required to
see some data.
Post-patch, after resizing this screen, the table should reorient itself with
the headers displaying in the left column, as is done on the other My Account
screens.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Sat, 20 Aug 2016 04:54:40 +0000 (00:54 -0400)]
LP#1614807: Fix spacing issues in responsive design for My Account screens
This commit fixes the following spacing issues that are found in the My Account
screens when loaded on a small-screen device:
* When a field has no value, the text in the table header, which displays along
the left, is cut off at the bottom. The Notes field on the Holds page is one
place where this issue is commonly seen. With the fix, the headers are slightly
out of alignment with the field data, but this is still an improvement over
cutting off text on the screen.
* If the only title(s) listed on the screen are short, requiring little width
in a table cell, the text in the table header runs into field data. A good
example in the Concerto data is if the user only has a check out for record ID
2 (Le concerto) on their account.
* The checkboxes in the Check Out History and Items on Hold screen were pushed
to the right. We fix it by giving the cells with a checkbox a "checkbox_column"
class, which was already in use by the checkbox on the Items Out screen.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Fri, 19 Aug 2016 17:41:14 +0000 (13:41 -0400)]
LP#1614807: Holds history should look like other My Account screens
The Holds History My Account interface looks entirely different than the Items
Out, Check Out History, and Items On Holds interfaces. This commit adds a new
acct_holds_hist_header CSS class that shares the same styles as the CSS classes
used for the other three interfaces. Inline styles are removed from this table.
Test plan
Pre-patch: Go to the My Account Items Out, Check Out History, Items on Hold,
and Holds History interfaces. While the first three interfaces use a table with
a white background for the headers and a gray background for the body, the Holds
History interface is the opposite.
Post patch: All four interfaces should show a similar style to each other.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Fri, 19 Aug 2016 15:59:27 +0000 (11:59 -0400)]
LP#1614807: Fix Circ History table header display on small screens
Because the table in circs.tt2 and circ_history.tt2 shared the same CSS class,
circ_history.tt2 was displaying circs.tt2's column headers on mobile devices
and other small screens. The two tables now have distinct classes, and
styles.css.tt2 has been updated to provide the correct table headers for the
circ history page.
Test plan
Pre-patch, pull up a user account that has a circ history in My Account, go to
the Check Out History tab, then resize the screen to a width of 600 pixels or
smaller. The table headers will now display along the side, but the headers
will be the ones that typically display in the Items Out screen. The Barcode
will display in the Date Returned row and the Call number will display in the
Barcode row.
Post-patch, after resizing the screen, the headers that display along the side
should match the ones from the Checkout History interface. All data should
display in its appropriate row.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Mon, 20 Jun 2016 16:38:00 +0000 (12:38 -0400)]
LP1593834: Add Date Header to A/T Email Examples
RFCs 822 and 2822 specify that a Date: header has to be sent
indicating when an email was sent. Without this, clients that
default to displaying the Sent Date may end up using a "NULL"
date, or 1970-01-01 00:00:00 UTC, which is not ideal. This
adds the header to the example A/T templates for email and
SMS messages, and includes instructions on correcting
existing tempalates.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
These tests check that the copy status is correct after aborting
transits dependent upon the status of the copy. More tests could be
added to cover more situations, but these tests cover the basics.
Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Fri, 18 Mar 2016 20:38:33 +0000 (16:38 -0400)]
LP 1306666: Abort Transit Only Change Copy Status if In Transit
When aborting a transit, the copy status is presently changed, either
to the status stored in action.transit_copy or to Reshelving if the
transit was for a hold. This causes problems with "hanging" transits
where something was not handled properly before. We've had cases
where a transit sticks around on a copy that is later checked out, and
while that copy is checked out, the transit is aborted, thus setting
the copy status to Reshelving when it should be Checked Out.
The code change in this branch only changes the copy's status if it is
In Transit. A copy in any other status has its status left untouched.
Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Fix TPAC circ history retrieval code thinko so that history rows are
retrieved one at a time instead of in a batch (.atomic) to avoid
overwhelming Ejabberd.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Wed, 17 Aug 2016 15:01:26 +0000 (11:01 -0400)]
LP#1476049: disable serve-cgi-bin Apache config on Jessie
This patch ensures that the stock Apache configuration
"serve-cgi-bin" is disabled when installing on Debian Jessie,
as otherwise the default cgi-bin location
can override what Evergreen specifies for offline.pl.
To test:
[1] Run the Makefile.install step on Jessie; verify
that there is no /etc/apache2/conf-enabled/serve-cgi-bin.conf
symlink.
[2] Proceed with the rest of the Evergreen installation; verify
that the Apache error log doesn't contain a warning like this:
"The Alias directive in /etc/apache2/sites-enabled/eg.conf ...
will probably never match because it overlaps an earlier
ScriptAlias."
[3] For extra credit, verify that one can access offline circulation
sessions.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jim Keenan [Fri, 12 Aug 2016 18:51:28 +0000 (14:51 -0400)]
lp1592934 removed lines referencing edition fields 534 and 775. These fields refer to other, different editions of the work and not to the work actually being returned.
Signed-off-by: Jim Keenan <jkeenan@cwmars.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 11 Aug 2016 12:20:34 +0000 (08:20 -0400)]
LP#1612054: unbreak test case now that SSN is no longer an ID type
The patch for bug 1566016 broke the live_t/17-lp1579225_new_patron_passwords.t
test, as it used a patron ID type that is no longer in the seed
data. This patch fixes the test.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <ben@evergreener.net>
The previous patch had a side-effect of changing the 852$d
value from the circ library's shortname to its long name. This
patch restores the previous behavior.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Davis [Wed, 27 Jul 2016 21:00:28 +0000 (14:00 -0700)]
LP#1609556: use unapi functions to retrieve holdings for SRU/Z39.50
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Wells [Tue, 9 Aug 2016 19:50:50 +0000 (15:50 -0400)]
LP#1611495 Don't use .xml for MARC21 files in Vandelay Export
The new 'Export Non-imported Records' feature in Vandelay (see bug
LP#1548147) was tweaked before merge to export MARC21 files by default
(rather than MARC-XML). However, the file save dialog still defaults to
(and filters by) ".xml" for the file extension. This is confusing and
otherwise problematic.
Let's go ahead and save the export using a ".mrc" extension instead.
While not an official extension (as far as I know), it is widely used,
easy to understand, and far less likely to cause issues with other
software.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
For Content Cafe, jam two B&T entrys into the hash so that Business::ISBN
doesn't register them as invalid prefix ISBNs.
B&T uses internal ISBN's with country codes 630 and 631 for materials
ordered through them when no assigned ISBN exists. The ContentCafe
added content service knows about these ISBNs, but they are not generally
used by other providers.
To Test: This only works if you are using the ContentCafe added content provider.
- Before Patch -
1. Add the isbn 9786315820243 as the only isbn on a record. Remove UPCs also..
2. Clear the added content cache by restarting memcached or using the staff link.
3. View record in catalog and you should see no cover art.
- After Patch -
1. Clear the added content cache.
2. View the record in the catalog and you should now see cover art for the title
"Video games: the movie"
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Rearranging the order of the various sources of hold
failure messages makes it less likely to see spurious
"Item is too new to transit this far" messages. Now
errors due to excessive fines or number of existing
holds.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/templates/opac/parts/place_hold_result.tt2
Dan Scott [Mon, 1 Aug 2016 22:09:04 +0000 (18:09 -0400)]
LP#1608711: Update schema.org property name from "seller" to "offeredBy"
Per the 2015-11-05 release of schema.org
(http://schema.org/docs/releases.html#v2.2), the "offeredBy" property is now
the preferred property to use for non-commercial entities (such as libraries)
making an offer of an item for borrowing, sale, etc.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <ben@evergreener.net>
This commit fixes two small AsciiDoc syntax problems that prevented a
line of code from displaying properly. First, it changes the code block
lines from three dashes to four dashes. Second, it adds a plus sign on
the preceding line, to connect the code block to the previous list item.
This commit fixes a small AsciiDoc syntax bug caused by a real '_' that
accidentally closed the '_' italics tag. This block of documentation
will now more closely match the identical content found in
'admin/template_toolkit.txt' (chapter labeled "TPac Configuration and
Customization").
Update too_many_overdue and excessive_fines in OpenILS::SIP::Patron
to account for the fact that the user object in this context no
longer contains an array of ausp objects, but just an array of ausp
IDs.
This fixes SIP2 failures with patron information messages when a
patron has one or more blocking penalties that are not otherwise
ignored.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch wraps the standing penalty checks in evals so that if they
crash, the test script can carry on -- and make it to the point where
it cleans up the standing penalties it adds.
Galen Charlton [Wed, 16 Dec 2015 16:03:42 +0000 (11:03 -0500)]
LP#1526858: speed up queries for shelf-expired holds during checkin
This patch adds indexes on action.hold_request and tweaks
the definition of the alhr IDL view to more efficiently
identify holds that can be canceled if the "Clear Holds Shelf"
checkin modifier is in use. This can prevent a problem
where such checkins can time out in very large databases.
The tweaks were created by Jason Etheridge and have been in
production at a large consortium for some time.
To test
-------
[1] With a suitably large database, set up an item that
is on the holds shelf but has passed its shelf-expiration
time, then check it in using the "Clear Holds Shelf" modifier.
[2] The checkin may fail with a "network failure" message due
the query on the alhr timing out.
[3] Apply the patch and repeat step 1. This time, the checkin
should succeed.
Codey Kolasinski [Mon, 16 May 2016 13:28:09 +0000 (09:28 -0400)]
Adds two missing link fields (patron profile and patron home library) to
the fm_idl.xml for the Combined Active and Aged Circulations (combcirc)
reporter source. The fix was originally posted in a comment to the
Launchpad bug by Codey Kolasinski.
This patch removes the SSN (Social Security Number) as a stock
patron identification type, as it is no longer recommended
practice for libraries to store SSNs.
To test:
[1] Verify that in a fresh installation of Evergreen that
has this patch in place, that SSN is no longer listed
as a patron identification type.
Galen Charlton [Mon, 23 May 2016 16:29:04 +0000 (12:29 -0400)]
LP#1373578: fix translatability of hold placement errors
This patch fixes a circumstance where ->maketext() could be
passed an empty string, causing it to emit the PO file header text
rather than a desired string.
To test
-------
[1] Configure Evergreen to use a TPAC localization (e.g.,
the Czech translation).
[2] Enable the "Has Local Copy Alert" library setting.
[3] In the OPAC, change locale and attempt to place a
hold that would trigger the alert saying that there's
already a local copy available.
[4] Note that the alert reads as "Project-Id-Version: evergreen Report-Msgid-Bugs-To: ..."
[5] Apply the patch.
[6] Try step 3; this time the alert will be translated correctly,
e.g., "Ve vaší domovské knihovně je již dostupný exemplář."
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Jason Stephenson [Thu, 26 May 2016 19:23:03 +0000 (15:23 -0400)]
LP 1548993: Remember the Show More/Fewer Details button selection.
The state of the Show More/Fewer Details button selection was
previously not remembered across searches or across changes to
advanced search. This commit attempts to remedy that.
Jason Stephenson [Thu, 19 May 2016 19:53:48 +0000 (15:53 -0400)]
LP 1548993: Restore Show More/Show Fewer Details button functionality.
When using a show_more_details.default setting of true in config.tt2,
the Show More/Show Fewer Details button functionality is broken. The
detail record view is always shown, regardless of the button's state.
This patch attempts to repair the behavior so that the user can toggle
the detail record view even though the default is set to true.
Galen Charlton [Mon, 23 May 2016 14:29:09 +0000 (10:29 -0400)]
LP#1584801: fix tagging of previous circs in metarecord search results
This patch fixes a bug where previously-checked-out items were not
indicated as such in search results when doing a metarecord search.
To test:
[1] Ensure that the opac.search.tag_circulated_items library setting
is enabled and that you are testing with a user that has opted-in
to retaining circ history.
[2] Make a couple loans to that user.
[3] Log into the public catalog using that user.
[4] Perform a catalog search, choosing search terms such that
the previously-loaned items appear in results.
[5] Verify that "I have checked this item out before" is displayed
on the relevant hits.
[6] Click the "Group Formats and Editions" checkbox; note that
after the page refreshes, previously-borrowed hits are /not/
tagged.
[7] Apply the patch and restart the open-ils.search service.
[8] Repeat step 6; verify that this time previously-borrowed hits
are tagged.
Josh Stompro [Wed, 30 Mar 2016 13:47:57 +0000 (08:47 -0500)]
LP#1517556 - Exclude inactive event defs from find_event_def_by_hook.
Currently when find_event_def_by_hook is called to find an appropriate
event_def based on the hook, it doesn't exclude inactive event defs. So
strange behavior can happen if inactive event defs are present.
I ran into this issue when I was trying out different versions of the self
check receipt event def. I had one ative and one inactive while I was
troubleshooting, and when the system would grab the inactive event def by
chance, the self check UI would freeze. I think it is a resonable expectation
that an event def marked inactive doesn't get used by the system.
To test this out, clone one of the self check event defs, such as
"Self-Checkout Items Out Receipt" and mark the copy as inactive. Now
go and trigger this event in the self check interface by attempting to
print from the Items Out screen. It should now fail 50% of the time, since
both the active and inactive defs are returned.
After the fix the inactive event def will always be excluded, so the action
should no longer fail.
This patch fixes a typo in the error message presented
if the queued record could not be cleaned up for some
reason; it also reports the correct type of the record.
Delete the successfully imported authority record from the vandelay
authority queue instead of the bib record that happens to have the same
ID as the imported authority record.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The script was not inserting the version into config.upgrade_log when
run standalone because the line to do so was still commented out.
This commit removes the comment characters.
Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>