Bill Erickson [Fri, 22 May 2015 20:07:29 +0000 (16:07 -0400)]
LP#1312308 remove deprecated open-ils.penalty service
open-ils.penalty service has not been used by Evergreen since before
version 2.0. Instead of just cleaning out the script configuration,
clean out the entire application.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Yamil Suarez [Fri, 19 Jun 2015 14:50:45 +0000 (10:50 -0400)]
LP#1465830: authority linker now ignores $e and $4 in bib name headings
presence of relator terms or codes in $e or $4 can prevent authority
headings linking
To test
-------
[1] Create an authority record with a name heading like this
100 $a Example, Natalia $d 1945-
[2] Create a bib record that contains the name and a relator
code or term, e.g.,
100 $a Example, Natalia $d 1945- $4edt
[3] Run authority_control_fields.pl. Note that the
heading in the bib is *NOT* linked, as evidence
by no $0 being added to the bib heading and no
rows added to authority.bib_linking for that bib
and authority.
[4] Apply the patch and re-run step 3. This time,
the link gets established:
100 $a Example, Natalia $d 1945- $4 edt $0 (CONS)xxx
Ben Shum [Tue, 3 Mar 2015 02:40:47 +0000 (21:40 -0500)]
Remove alpha and RC scripts for 2.3-2.4
These were in the repository from the testing phase of 2.3-2.4 during the
2.4 alpha/RC period. These script are not required and may be confusing if
run. Remove as unnecessary.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mike Rylander [Thu, 11 Jun 2015 12:49:21 +0000 (08:49 -0400)]
LP#902255: Correct "ILS Event at check in" logic
In a classic case of "fix a bug to reveal another" it turn out that
there was a small logic bug hiding in the check in hold-capture code.
The result of this bug was that the wrong ILS Event object was being
returned when we ran into the double-scan hold-capture situation by
overwriting the correct one immediately after we construct it, which
in turn prevented the previous commit from working as designed.
We now return the correct ILS Event immediately so that we can
properly detect the situation. Two birds with one branch.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mike Rylander [Mon, 8 Jun 2015 15:11:04 +0000 (11:11 -0400)]
LP#902255: Protect against hold double-capture
When the staff client is in Fast Scan (async) mode, it is possible
to double-scan at checkin and cause two holds to be captured by the
same item. By creating a specially crafted unique index we ensure
that the database rejects this situation.
This protection would cause unhandled errors in the staff client, so
we also register a new string to be displayed when this particular
situation occurs, alerting staff to the possible double-scan of a
barcode at checkin IFF they are using async mode.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Adam Bowling [Fri, 16 Jan 2015 22:18:24 +0000 (17:18 -0500)]
LP#1365661 Found patrons with same name not opening
This patch fixes the error, while registering a new patron
and clicking the link "Found {$0} patron(s) with the same
name" did not previously work in the staff client.
To reproduce the bug, register a new patron with the name of an
existing patron. The little widget with the message described
above will appear. The message is a hyperlink, but nothing
appears to happen if you click it. The JavaScript console will
contain an error ReferenceError:js2JSON is not defined.
After applying this patch, clicking the hyperlink does a search
for matching patrons as intended. The ReferenceError also
disappears.
Signed-off-by: Adam Bowling <abowling@emeralddata.net> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Michael Peters [Tue, 9 Jun 2015 14:10:04 +0000 (10:10 -0400)]
LP#1154656 MARC Expert Search "Add Rows" adds duplicate row
This patch changes the behavior of the "Add Search Row" link
(JavaScript function from simple.js "addExpertRow()") so that
we are always cloning the initial "empty" row instead of
potentially cloning a row -- by way of cloneNode() -- with user
input in place, and causing duplicate search rows.
To reproduce the bug, go to Advanced Search, fill in all three
search fields with some text, click on Add Search Row. You wil
see that the Title search row along with the data in the text
box is duplicated and added to the search.
After this patch, the new row should be added with an empty
text box.
Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Rashma Kumaran <rkumaran@kcls.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Chris Sharp [Tue, 7 Apr 2015 00:17:30 +0000 (20:17 -0400)]
LP#1342227 - Allow EDI Ruby dependency installation on Ubuntu 14.04
Create a script for Ubuntu 14.04 ruby installation and installation
for EDI dependencies. Remove 'rcov', which has been deprecated for
Ruby 1.9.1 and install Bill Erickson's GIR improvements.
In the future we will need to remove this dependency altogether (see
bug 1373690), but for now, at least get it working on Ubuntu 14.04.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
This commit borrows two screenshots from the Sitka Evergreen Training
Manual to replace one in the Alternate Serial Control View section.
Thanks Sitka!
Chris Sharp [Wed, 15 Apr 2015 18:05:23 +0000 (14:05 -0400)]
LP1444623: Remove "Safe" CPAN dependency from Debian/Ubuntu Makefile.install files
Following up on IRC discussion at http://irc.evergreen-ils.org/evergreen/2015-04-15#i_170386
it was agreed that it is no longer necessary to install Safe from CPAN
since it is included in the standard Perl package.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/extras/install/Makefile.debian-jessie
Terran McCanna [Wed, 10 Jun 2015 19:44:46 +0000 (15:44 -0400)]
LP#1396263: Fix for 'Return to Record' link breaks after texting
If user is already logged into OPAC when texting a call number from
the record screen, the 'Return to Record' link works properly. However,
if user is not logged in and is prompted to log in first, the 'Return to
Record' link actually returns the user to 'My Account.' This patch
corrects that problem and returns the user to the record regardless of
whether they were initially logged in or not.
Mike Rylander [Wed, 10 Jun 2015 18:17:37 +0000 (14:17 -0400)]
LP#1463973: Use dollar-quoting for report literals
When inserting string literal into SQL for Clark, we quote
apostrophes with a backslash. That worked fine until Postgres
changed its default for the standard_conforming_strings GUC to "on"
after which it no longer worked fine.
So, we will now use "dollar quoting" for string literals instead
in much the same way we do for our search queries.
Test plan
---------
Pre-patch: Try to run a report where a string value is required as
a filter parameter, and include an apostrophe in that string. The
report will fail with an SQL error.
Post-patch: Do the same, it will not fail.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Angela Kilsdonk <akilsdonk@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Chris Sharp [Wed, 22 Apr 2015 13:54:11 +0000 (09:54 -0400)]
LP#1446860 - Correct mistaken logic in previous fix.
See https://bugs.launchpad.net/evergreen/+bug/1446860/comments/2
for reference. The logic was not enforcing the "if the editing
staff member doesn't have permission to edit a user in this
permission group" check. This corrects that.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Chris Sharp [Tue, 21 Apr 2015 21:10:49 +0000 (17:10 -0400)]
LP#1446860 Staff were able to edit their own accounts.
This change reverses what appears to be a thinko in the
original programming. If the editing user is the same
as the user being edited, disable the Save button.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Davis [Thu, 16 Apr 2015 15:58:17 +0000 (08:58 -0700)]
LP#1074096: Remove Bib Call Number from query type selector
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Thu, 28 May 2015 02:11:49 +0000 (22:11 -0400)]
LP#1403966: Remove publication-specific information from metarecord results page
The records that make up a matarecord search result typically contain different
publication information. Therefore, we should remove the master record's
specific publication information from that search results page.
Test plan
Prior to loading the patch, conduct a search on the Concerto dataset
for "brahms piano concerto no. 1" with "Group Formats and Editions" turned on.
In the brief view, you will see a call number and, in the more details view, you
will see publisher and physical description information. Run the same search
after loading the patch, and you will no longer see that information.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Andrea Neiman <aneiman@kent.lib.md.us> Signed-off-by: Ben Shum <bshum@biblio.org>
Blake Henderson [Mon, 8 Dec 2014 21:52:15 +0000 (15:52 -0600)]
LP#1194860: You have permission to override some of the failed holds. appearing when it should not for patrons in the OPAC Edit
A quick value check before assigning the override variable.
This should eliminate the OPAC showing the override option
for those who do not have the permission.
Josh Stompro [Sun, 31 May 2015 22:49:34 +0000 (17:49 -0500)]
LP#1456021 Enable apache modcgi during install for Debian Jessie
Apache mod cgi isn't enabled when installing apache2.4 on Debian Jessie,
this causes the /updates/manualupdate.html to not be processed and
to just return the raw code of that script since it uses mod cgi.
This adds 'cgi' to the list of apache modules to enable during the
dependency install.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Josh Stompro [Sun, 31 May 2015 22:19:58 +0000 (17:19 -0500)]
LP#1457094 Switch to package libtemplate-plugin-posix-perl for Debian Jessie
Debian Jessie includes a package for Template::Plugin::Posix that was
being installed via CPAN. This patch removes the CPAN install and adds
the Debian package.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Mon, 8 Jun 2015 21:30:52 +0000 (17:30 -0400)]
LP#1289486: Remove blocking constraint from audit table
The ACQ lineitem audit table was augmented with an fkey pointing
to the queued record that was related to the line item. That's
bad because there are also triggers which attempt to manage that
table. Hilarity ensues. We should not have an fkey on an audit
table, so, we now remove that.
In order to test this, first attempt to delete an ACQ queue and
have that fail. Apply the DB change, attempt again, and have it
succeed.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Mike Rylander [Fri, 22 May 2015 17:11:18 +0000 (13:11 -0400)]
LP#1449709: Always get a real hostname for the cache key
EGCatLoader overwrites $ctx->{hostname} when serving the staff client
version of TT-generated content. This is bad for us because we use
that as part of the TT Processor cache key. Instead, we'll just
always ask Apache, via $r.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Tue, 5 May 2015 22:15:39 +0000 (22:15 +0000)]
LP#1452366: allow EGWeb context loaders to have child_init actions
This patch adds the ability for EGWeb to call
an initialization function for context loaders
during the child_init phase of Apache backend
startup.
In particular, portions of the R/O object cache
for EGCatLoader are now initialized when a backend
starts up; testing indicates that this can shave
a couple seconds off the time it takes for a
backend to render a bib details page the first time.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Wed, 6 May 2015 18:23:49 +0000 (18:23 +0000)]
LP#1452352: use fresh CStore editors when populating R/O cache
This change ensures that there's no longer a cached
editor with its original session locale grabbing
the wrong labels when a template invokes ctx.search_foo.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Wed, 6 May 2015 13:50:32 +0000 (13:50 +0000)]
LP#1452352: fix generation of locale-specific RO object fetchers
The TPAC R/O object cache is now keyed by locale. This
fixes an issue where an OPAC session that starts in one
locale and gets switched to another could see (e.g.)
format labels for the original locale.
The issue fixed by this patch can be most readily reproduced
as follows:
[1] Enable both the en-US and fr-CA locales. Make sure
that there are some translations for record format
coded values in place as well.
[2] Run Apache in single-process mode
(e.g., ". /etc/apache2/envvars && apache2 -X")
[3] Visit a record details page in the en-US locale. Note
the label associated with the record format.
[4] Change the locale to fr-CA. Note that the label is
still the English version.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This patch enables caching of compiled Template Toolkit
files on Evergreen web servers, which can provide a modest
improvement in the time it takes (say) TPAC to render
a page, particularly by a fresh Apache backend.
This is controlled by a new Apache virtualhost variable,
OILSWebCompiledTemplateCache, which can be set to a
directory on the webserver for storing compiled templates. This
is enabled by default for new installations.
This patch also adds OILSWebTemplateStatTTL, which can be
use to tweak the STAT_TTL Template Toolkit setting. Note this
bit works because of the caching of TT handlers added by
the previous patch.
Finally, this patch also fixes a bug where attempting to
disable OILSWebDebugTemplate would result in internal server errors;
it also sets the default value of this setting to false.
Note: the caching added by this patch and the previous one
mean that if a change to (say) TPAC templates is made on
the file system, it is now required to reload Apache to have
a guarantee that the change is visible, although one can also
wait the OILSWebTemplateStatTTL interval.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
By persisting the Template Toolkit processor object per
vhost/locale/context-loader/xml-strictness instead
of creating a new one for every request, we allow TT
to maintain an in-memory cache of all the templates it
has compiled. This increases speed by as much as 80%.
In addition, we reduce the number of times the TPAC checks
for the existance of a template by remembering the state
of the first readability probe. This is most important
on systems where the templates are stored on NFS, where
stat(2) system calls can be particularly expensive.
We now pass the Apache object ($r) to the template processor
instead of relying on tied-STDOUT behaviour, because each
request gets a new tied file handle. After the first one,
it's the wrong one.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Lynn Floyd [Tue, 9 Jun 2015 15:44:16 +0000 (11:44 -0400)]
Docs: New chapter for Library Settings Editor
This commit removes the old piecemeal documentation and adds a more
complete chapter on using the Library Settings Editor, including
categorized tables of the various library settings.
Thanks to Lynn Floyd for the documentation and screenshots.
Terran McCanna [Fri, 15 May 2015 17:02:17 +0000 (10:02 -0700)]
LP1406317: Stray Semicolons in OPAC Browse
Fixed display issue where semicolons were appearing at the end of
each result in browse title screen. Semicolon had been placed outside
of a bracket rather than inside a bracket. Moved semicolon to inside
bracket to correct.
URL of page showing error:
https://my-library/eg/opac/browse?blimit=10&qtype=title&bterm=m&locg=1
Galen Charlton [Tue, 12 May 2015 19:27:07 +0000 (15:27 -0400)]
LP#800706: add index to serial.record_entry.record
This patch adds index on the record column of serial.record_entry,
which can improve performance when displaying record details pages
in databases that have a large number MFHDs.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
- Adding in a few missed references to Debian Jessie
- Noted instances where Jessie uses the same instructions as Trusty
- Debian Jessie includes Apache2.4 so needs to use those steps.
- Added Jessie to postgres server install
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1449283: fix auth when running under Apache 2.4
When running under Apache 2.4 using the stock configuration
derived from apache_24/eg_vhost.conf.in, protected
URLs such as https://eghost/reporter/ that are meant to
require valid EG staff credentials were not in fact
requiring authentication.
This patch does the following to fix this:
[1] Removes several uses of "Require all granted" that
was causing authentication to be ignored.
[2] Changes OpenILS::WWW::Proxy::Authen so that it always
sets the username in the Apache request object if
authentication was successful; it appears that starting
with Apache 2.4, authentication handlers must ensure
that a user name is set for a "Require valid-user"
directive to work.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Boyer [Mon, 2 Mar 2015 20:06:33 +0000 (15:06 -0500)]
LP#1427309 Fix Crash in Collections User Balance Summary
Previously a patron in collections that paid off all
transactions would cause a crash and stop processing
any balance summary file that they are supposed to
appear in. Now user balance summaries can be created
in full even if some users have a 0 balance.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Stephenson [Tue, 14 Apr 2015 14:43:49 +0000 (10:43 -0400)]
LP 1444130: Add max_chunk_size guards to Holds.pm.
Web staff client fixes introduced a bug in using the Clear
Holds Shelf checkin modifier. Commit 4ccbf980 added calls
to max_chunk_size on the client to use chunked responses for
better feedback during long operations. Thise works just
fine when a regular OpenSRF AppRequest is used, but leads to
a network error when AppSubrequest is used, as apparently the
xul client does with the Clear Holds Shelf checkin modifier.
This commit adds code to check if the client object can do
the max_chunk_size call when the max_chunk_size call is
made. This will prevent the network errors in cases where
the client is an AppSubrequest object and will still use
chunked responses when the client is capable of doing it.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This commit moves the lost fine logic out of the lost processing
portion of Circulate.pm and into the new handle_fines() method.
This is accomplished through setting a new flag and lost
options hash on the main Circulator object.
This change improves the overall process flow, and in doing so
addresses a bug where overdue fines could be doubled if both
restore-overdue-on-lost-return and generate-new-overdues-on-lost-return
are enabled. Before this change, the new fines would generate before
the old fines were unvoided, which effectively circumvented the max
fines setting.
A secondary change made here is that stop_fines is also now being set
during the handle_fines() stage. This improves any case where overdues
are being set on checkin, particularly lost returns, as the stop_fines
will end up as the proper value of MAX_FINES or CHECKIN.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Fri, 20 Feb 2015 22:28:44 +0000 (17:28 -0500)]
LP#1443952 Move overdue restore above lost void/adjustment
If a person loses something and has their overdues voided/zeroed,
then pays for part of it, then returns the item, the part they
actually paid should apply to the overdues. In order for this to
happen, the overdues must exist *before* the lost fines are adjusted.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1442695: install purge_pending_users.srfsh to /openils/bin by default
Since purge_pending_users.srfsh is in the example crontab, it should
be installed to the Evergreen binaries directory (typically /openils/bin)
by default.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1442701: prune 'message_id' and 'single' CGI params from TPAC dashboard links
This patch fixes a bug where if one goes to the single patron
message view in TPAC, clicking on the 'Message' button in the
dashboard button bar does not return one to the list of messages, but
instead takes the user back to the single message the user was
viewing. This patch also prunes the CGI parameter from other
links in the patron dashboard.
Refresh the PO summary amounts (spent, encumbered, estimated) each time
an amount-changing event occurs. These include changing the lineitem
price, adding/removing a direct charge, and adding/removing copies via
the copy grid.
Note that adding/removing copies via the batch-updater alread causes a
page refresh, which updates the summary amounts.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Mon, 6 Apr 2015 18:54:55 +0000 (14:54 -0400)]
LP#1380803 Include direct charges in PO esimated price
Move the estimated PO price calculation into the middle layer, along
with the total encumbered and spent calculation. Add a new
PO.amount_estimated field for carrying the data.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
DOCS: Simplify release notes entry for AccessHandler
This commit trims down the AccessHandler docs to provide a simpler
introduction to the feature for use in the release notes. Also, a few
minor wording edits were made.
Bill Erickson [Mon, 6 Apr 2015 15:24:33 +0000 (11:24 -0400)]
LP#1436906 clean up PO direct charges on delete/cancel
1. Deleting a "direct charge" from a PO removes the linked fund_debit if
the fund_debit has not been paid (i.e. it's still encumbered).
If the debit has been paid, the charge cannot be removed, unless/until
the debit is re-encumbered by un-invoicing the charge.
2. When a PO is canceled, fund_debits linked to PO items are removed.
As above, if the debit has been paid (invoiced), the PO cannot be
canceled, unless/until direct charge debits are un-invoiced.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>