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.
Dan Scott [Mon, 16 Mar 2015 19:14:39 +0000 (15:14 -0400)]
Add an electronic journal MARC template for OSUL
This will include an 856 for a simplified SFX lookup by ISBN that
will satisfy the 856 $9 visibility requirements, now that we don't
add dummy barcodes to purely electronic resources.
Dan Scott [Tue, 16 Dec 2014 04:29:35 +0000 (23:29 -0500)]
LP#1402921: Add the ability to link to sameAs and exampleOfWork entities
Look for standard identifiers with known URIs, such as
LCCNs, OCLC numbers, and URIs identified in 024 fields,
and add http://schema.org/sameAs or
http://schema.org/exampleOfWork properties to the record.
This helps us link out to the broader linked data world,
and should help those consuming our data to better
understand what resources we have to offer.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 12 Mar 2015 20:06:16 +0000 (16:06 -0400)]
LP1431541: SRU UTF8 encoding issues
The SuperCat SRU service was encoding MARCXML using an encode_utf8()
call that ended up corrupting non-ASCII characters. In addition, the
HTTP header charset was not being set, meaning that the return header
would default to ISO-8859-1.
Jason Stephenson [Wed, 18 Feb 2015 21:28:31 +0000 (16:28 -0500)]
LP#1424755: Org Unit Setting view permissions can be bypassed
Fix private org. unit setting leakage by forcing the $auth argument
to true if not passed in when open-ils.actor.ou_setting.ancestor_default
or open-ils.actor.ou_setting.ancestor_default.batch are called.
Other than a change to the desc of the public methods to reflect that
they now check permissions if permissions are required, there are no
required api changes to the back or the front ends.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Mon, 2 Mar 2015 20:06:03 +0000 (15:06 -0500)]
lp1427331: Remove relator information from author links
Removes the display and linking of relator information from the author field
on the search results page. The display of subfield e was limiting the number
or results retrieved when clicking these links.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
It was decided that these changes caused too much potential for
confusion, and would be better served by a simultaneous change to
making 'granularity' case insensitive. Pulling back for now.
Bill Erickson [Mon, 11 Aug 2014 20:45:21 +0000 (16:45 -0400)]
LP#1287370: allow AutoGrid to persist filter state and page offset
By turning on a new AutoGrid option called urlNavigation,
the current filter and offset is stored in a URL parameter
called djgridops. This permits using the back button
to return to an AutoGrid page at the place in the search
results where the user left it.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Adam Bowling [Tue, 20 Jan 2015 21:54:11 +0000 (16:54 -0500)]
LP #1406350 Mobile Device Navigation Issue Fix for Shelf Browser
Currently, when a browser window is narrowed too much, whether
in a mobile browser, or on a desktop or laptop machine, the
"Previous Page" and "Next Page" navigation links disappear. The
only solution that seems to solve this is by removing the
"THEAD" element from the shelf browser table.
This patch removes that tag, adds a new row to imitate a new
border as existed before, and modifies the CSS in .../opac/
css/style.css.tt2 to address that difference.
Signed-off-by: Adam Bowling <abowling@emeralddata.net> Signed-off-by: Yamil Suarez <yamil@yamil.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Josh Stompro [Tue, 13 Jan 2015 19:36:40 +0000 (13:36 -0600)]
LP#1205072 - Assorted fixes for action trigger granularity settings
- Added "weekdays" option to match up with example crontab file
- Change granularity example back to lowercase
- Change granularity labels to lowercase in the docs
Bill Erickson [Wed, 26 Nov 2014 19:31:41 +0000 (14:31 -0500)]
LP#1205072 A/T granularity UI sane default, honors case
Present A/T granularity options as untranslated, lower-case strings to
match the crontab examples. Also, honor alternate case variations for
granularity values so that "Daily" and "daily" are both seprate, valid
options.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Mike Rylander [Tue, 4 Mar 2014 16:31:13 +0000 (11:31 -0500)]
LP#1287791: Restrict authority browse to controlled subfields
Back in bug 1175308 I added some logic that improves the behavior
of the MARC editor's right-click authority popup. Now we need to
go a little farther and adjust that logic to be more careful about
which subfields it uses to browse for authority records. Specifically,
it should only use controlled subfields.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Pearl [Fri, 15 Mar 2013 19:04:37 +0000 (15:04 -0400)]
LP#1155313: Repair generation of label_sortkey for monograph_part entries
The evergreen.lpad_number_substrings function attempts to codify numeric
fields within labels. It does this by finding the strings, padding them
to a given size, and replacing them in the source string. For instance:
3 => 0000000003
15.4 => 00000000150000000004
Many database tables need to explicitly set the id sequence (often to
100) to provide room for stock data with static ids. This commit does so
for vandelay.merge_profile, and also updates the ids of any non-stock
profiles (both in the merge_profile table and in related settings).
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
In a previous commit, code was added for force summaries to be limited
to a certain type (to prevent cross type contamination of summaries).
This had the negative side-effect of preventing summaries on units, as
the units were not requesting a 'type' for their summary.
While we could force the unit code to send a type, it seemed generally
more flexible to restore the removed support for returning all summary
information in the absense of a requested type. This could lead to
cross-type summaries for units, but that is a larger issue altogether
(i.e. how we can properly support cross-type units at all).
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Wed, 25 Feb 2015 20:20:51 +0000 (15:20 -0500)]
lp1373203: Allow users to escape metarecord holds (backport version)
Provides a means for users to escape a metarecord hold if they accidentally
clicked the Advanced Hold Options link. A "Go Back" link will be
provided to allow the user to return to a title hold. If the hold starts as a
metarecord hold, this link won't display since we don't know which bib the
patron wants.
Also fixes an issue where the hold cancel button always returned the user to
the previous screen.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Fri, 13 Feb 2015 17:22:19 +0000 (12:22 -0500)]
LP#957466 Vandelay set the 905$u to current user if not defined
This version only adds a 905$u if none already exist in the document. It
does so by creating a new 905 tag with subfield u. It does not add on
to any possibly existing 905 tag that does not have a subfield u.
This will cause the code in the previous commit to trigger and update the
appropriate fields in biblio.record_entry.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Remington Steed [Mon, 13 Oct 2014 16:22:32 +0000 (12:22 -0400)]
LP#957466: Update editor/edit_date/source on overlay
This commit does three things.
1. It removes some declared variables that are never used in this
function.
2. It updates the bib record edit_date field (along with the editor) if
an editor is found in the MARC. If an editor is not found (or doesn't
match an Evergreen user), it seems best to leave the edit_date
unchanged so as not to imply that the previous editor is responsible for
the newest edit.
3. If a bib source is chosen in the vandelay importer UI, it updates the
bib record with the source. To access this field, the reference to table
"queued_record" is replaced by its child table "queued_bib_record".
Since the new table is a child of the other, all of the other needed
values are still available.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Martha Driscoll <driscoll@noblenet.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Galen Charlton [Mon, 23 Feb 2015 20:25:02 +0000 (20:25 +0000)]
LP#1154579: explicitly alert if copy location failed to be deleted
This patch adds an alert if the act of deleting a copy
location in the staff interface fails -- which would
most commonly happen if there are still active items
attached to the location to be deleted.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Thu, 5 Feb 2015 16:52:36 +0000 (16:52 +0000)]
LP#904581: when calculating hold status, be more careful about fetching transits
This patch fixes a problem where if a hold meets the following
criteria, an "Invalid date format: at /usr/share/perl5/Error.pm"
error can be thrown when fetching its details:
- the hold has a captured item
- the captured item has status 8 (on hold shelf)
- there is another item that is currently in transit to fill the hold
- the pickup library (or one of its ancestors) has the
circ.hold_shelf_status_delay library setting set.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Steven Chan [Mon, 22 Jul 2013 19:39:48 +0000 (12:39 -0700)]
LP#1418772: Avoid internal server error on viewing full record when copy create_date is null
In the TPAC client, when it tries to show record details containing a copy
record with no create date, it shows an Internal Server Error instead.
1. The error is caused by trying to execute the parse_datetime() method
in the parse_date() function in the WWW/EGCatLoader/util.pm module with
an empty date string. The function will normally translate a datetime
string from the database to a datetime string that is formatted for TPAC
templates. The fix is to not execute parse_datetime() and just return
an empty string.
2. In the record/copy_table.tt2 template, if an empty datetime string is
the value for copy_info.create_date, the format() method of the Date
plugin will show the current datetime by default. The fix is to show '-'
in its place, replicating the same template logic as for
copy_info.due_date.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Chris Sharp [Mon, 9 Feb 2015 14:24:11 +0000 (09:24 -0500)]
LP#1419813 Fix default joins for config.rule_age_hold_protection.
config.rule_age_hold_protection had a "has_a" relationship
to several copy and copy-like sources when age protection
is optional. Changing those to "might_have" to allow left
joins by default.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
We can't alter a table, enabling triggers in this case, while a
table has trigger events pending. We move the trigger enabling
to outside the transaction to resolve this.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Repair reference to undefined variable (offline) in spawn_editor()
function, which is responsible for opening the tab for the linked
patron. Variable should be "offlineStrings".
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Josh Stompro [Wed, 12 Nov 2014 15:19:11 +0000 (09:19 -0600)]
LP#1390138: Updating Upgrade and Install docs for 2.7
Upgrade Docs
- Bolded all linux user names so the format matches the install docs.
- Added note about postgres 9.3 being recommended version and 9.1 being the minium version.
- Added Fedora to list of supported linux distros so it matches install docs.
- Added a note about the different apache config files for apache 2.4+ vs Apache 2.2.
- Added a link to troubleshooting section of install docs.
Install Docs
- Added notes about 9.3 being recommened version of postgres and 9.1 being the minimum.
- Changed opensrf version from 2.3.0 to 2.4.0
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Added in section about checking the release notes for other upgrade steps to the end.
Added in the step to restart memcached as Galen Charlton mentioned in his 11/5 dev list email
about clearing out old login sessions for security reasons.
Added in Jessie and Trusty with a pointer to the Ruby EDI bug that users of the distributions
will run into.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Tue, 8 Apr 2014 20:22:33 +0000 (16:22 -0400)]
LP#1078593 Regenerate summaries when deleting issuances
Both interfaces currently allow you to delete issuances even if they
have items attached and have the delete cascade. While this might be
a dangerous allowance, we should still make sure to keep our summaries
updated when this happens.
This commit adds automatic summary regeneration when deleting issuances
in either serials interface.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Wed, 10 Apr 2013 22:42:11 +0000 (18:42 -0400)]
LP#1078593 Add method for regenerating serial summaries
Right now, serial summaries only update when receiving or
resetting items. They need to update more often, so lets start
by adding a method just for doing that.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
1) fleshed_issuance_alter() changes
- First, if one of the inner updates returns an event, abort early.
Otherwise, we might overwrite the event while looping and lose
the error.
- Second, add authtoken to the created editor. This editor gets
passed around, and other functions might look for it there.
2) pass $type down into _summarize_contents()
- Right now, we have a bug where supplement/index contents in a
merged MFHD record will get added to the basic contents (and
vice-(vice-)versa). By passing in $type, we can assure that
we only return the type of contents we are looking for.
3) _prepare_summaries() should acknowledge empty summaries
- Under normal use, summaries will generally grow, and never shrink
to nothing. However, we must still handle cases where we have
discarded/deleted our last issuance, and in those cases, make sure
we "empty" the generated_coverage field in our summary.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Wed, 28 Jan 2015 17:24:02 +0000 (17:24 +0000)]
LP#1415572: ensure correct version of authority.normalize_heading() is in place
Some upgraded Evergreen databases can have the wrong version
of the authority.normalize_heading() function in place because
of a mixup in the 0848 schema upgrade script. The problem can
manifest itself by there being rows in authority.record_entry
where the heading and simple_heading columns have "NOHEADING"
values regardless of the control set:
This patch ensures that the correct version is in place and
updates authority.record_entry to fix up affected rows without
requiring a full authority ingest.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Update search metadata without a reingest by identifying records that
use a space in the audience field, and be sure that the coded value map
has a space for "uncoded" audience.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Mon, 26 Jan 2015 16:05:10 +0000 (16:05 +0000)]
LP#1414112: avoid excluding record attribute values that contain only blanks
Certain record attributes, chiefly the ones whose values comes
from MARC fixed fields and which have a coded value map associated
with them, can have a string consisting of one or more blanks as a
valid value. Consequently, this patch ensures that
reingest_record_attributes() no longer excludes all attributes that
have blank values from the final attribute list.
This fixes a problem where MARC records with the target audience (008/22)
coded as a blank (unknown or not specified) could no longer be retrieved
using an "audience( )" search filter.
After applying this patch, a reingest of record attributes should be
performed, e.g., by doing
select metabib.reingest_record_attributes(id)
from biblio.record_entry
where not deleted;
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Thu, 29 Jan 2015 13:02:03 +0000 (08:02 -0500)]
LP#1415898 Fix Potential Cstore Starvation in the OPAC
When a user views their current circulations and/or renews them via
the OPAC, a connection is made to a cstore drone so that the user's
circulations can be retrieved from the database, bypassing the cache.
This connection is not closed, and thus a cstore drone is left unable
to respond to new requests for several seconds. On a busy server,
this has actually caused the number of cstore drones to hit the limit
configured in opensrf.xml. If that situation continues for too long,
it leads to the load on the server spiking to the point where services
must be restarted.
This commit changes from xact_rollback to rollback so that the connection
will be closed.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Stephenson [Thu, 29 Jan 2015 12:59:07 +0000 (07:59 -0500)]
LP#1415898 Fix Potential Cstore Starvation in KPAC
The getit_results function in EGKPacLoader.pm does xact_begin, which
opens a connected session to a cstore drone. It later does xact_rollback,
which does not disconnect the session. This leaves a drone hanging for
several seconds unable to responde to new requests. This commit switches
to a rollback call that does disconnect the session.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Ben Shum [Wed, 21 Jan 2015 21:30:53 +0000 (16:30 -0500)]
LP#1412893: Only apply lost and paid status with the proper transactions
As discovered while testing the lost and paid feature, when closing earlier transactions where
the item is currently lost, it could change the item status to lost and paid prematurely.
Change the logic so that it only does this if the current transaction being closed either has
a status of lost or longoverdue.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Remington Steed [Wed, 26 Nov 2014 14:21:52 +0000 (09:21 -0500)]
LP#1396161: Improve public docs and change osrf-config default from script help
The public docs have an "Action Triggers" chapter, so this commit
applies the same improvements there to match the help docs in the
script. Also in the public docs, in two places a filename was split
across lines, causing a gap to appear in the HTML version of the docs.
That is corrected here. This commit also removes the 'osrf-config'
option from the examples in the script help docs, since they are using
the default value.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
- Removed --granularity-only help docs. Ever since the script was changed to
support parallel execution of different granularity levels the granularity-only
setting has always been set when using --granularity.
- Added --verbose help docs. This option wasn't included in the help docs.
- Clarification - added some clarification to a few of the help descriptions.
- Added an additional example for processing hooks and running pending events
with a granularity set.
- Removed two references to the --granularity-only flag in the Telephony docs.
I believe this change is valid for 2.7, 2.6 and 2.5 since the change to the script
was made in 2010.
Ben Shum [Tue, 16 Dec 2014 19:34:12 +0000 (14:34 -0500)]
LP#1373594: Also ignore subfield 7 in get_graphics_880s
In the Czech Republic the subfield 7 of MARC fields 1XX and 7XX are used for
the National authority control number.
The problem is, that in current Evergreen versions, the subfield 7 is displayed
as a part of the link to author seach in search result or record details, but
when using the linkt to search rcords of the same author, no results are
returned, no matter whether the records exist or not.
That is why we nedd to add the subfield 7 into get_graphic_880s.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Chris Sharp [Mon, 21 Apr 2014 13:10:28 +0000 (09:10 -0400)]
LP#1310619: Add links in reporter.classic_item_list to legacy_cat1 and legacy_cat2 views.
Currently, the reporter.classic_item_list view has the Legacy Cat 1 and 2
fields defined as "text", not "link", so all it will report out is the ID
number of the stat cat. We want nullability control over stat cat entries,
so these need to be "link".
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 8 Jan 2015 21:30:59 +0000 (16:30 -0500)]
LP#1408803 Add 'persist' login type to auth_proxy sample config
A recent version of EG added the option to "stay logged in", and this
was implemented as a new login type. Since basically everyone will use
this option via the OPAC, it makes sense that this should be part of the
sample config for auth_proxy.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 6 Feb 2015 22:13:27 +0000 (17:13 -0500)]
LP#1414033: Add rel="nofollow" to search/browse links
Mark links in the TPAC that robots should not attempt to crawl (such as
search results, call number browsing, adding records to temporary lists,
placing holds, logging in) using the rel="nofollow" convention, per
https://support.google.com/webmasters/answer/96569?hl=en
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/record/navigation.tt2
Dan Scott [Mon, 12 Jan 2015 18:13:03 +0000 (13:13 -0500)]
LP#1409844: Towards more meaningful catalogue <title> elements
Currently the catalogue <title> elements are formed by concatenating the page
title to "Catalog - ". This means that on browsers with more than a few tabs
open, users will only see "Catalog -", which doesn't help them navigate their
tabs. Also, in search results in general search engines, "Catalog - " is
expected to be a significant word as it appears first in the title of the page.
Instead, let's remove the "Catalog - " prefix entirely and add "- <library
name>" as a suffix to the page title. That way, a user will see the page title
in bookmarks, search results, and other contexts with the most important
information up front (whether that's the title of the work in record details,
or the fact that it's a search for some string), followed by the name of the
library to give it a specific context.
In addition, use the name of the library in the OpenSearch definition to be
more meaningful than the current hardcoded "Evergreen OpenSearch" (many users
will not even know what Evergreen is, if they stumble across the little "Add
search engine" widget at all).
And finally, use the HTML and URI filters appropriately to avoid any possible
damage :)
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/base.tt2
Dan Scott [Sun, 11 Jan 2015 03:09:48 +0000 (22:09 -0500)]
LP1406451: Prevent some catalogue pages from being indexed
Tell search engines that they should not index search results
pages, call number browsing pages, and the like. We really
just want them to focus on records and the library pages.
Dan Scott [Wed, 31 Dec 2014 05:33:41 +0000 (00:33 -0500)]
LP1406451 Set rel=canonical for record and library pages
Search engines use the "<link rel=canonical>" convention to determine that, no
matter how many variations on a URL you might generate through the likes of
appending &query= parameters, etc, those URLs are all the same as the value of
the href attribute in the <link> element.
Start with a simple implementation that, first, provides a placeholder in the
TPAC base where any page-specific <meta> or <link> (or really, any other <head>
contents) should go; then denotes the current page URL (stripped of all query
params) as the canonical URL for record and library pages.
This should help prevent search engines from crawling endless variations of the
same page, lowering load on Evergreen servers and potentially improving the
ranking of the canonical URLs.
Dan Scott [Sun, 28 Dec 2014 03:35:37 +0000 (22:35 -0500)]
LP1406025: Provide graceful human output for HTTP errors
For the expected HTTP errors of HTTP_GONE (record deleted)
and HTTP_NOT_FOUND (record never existed), return the HTML
pages that we used to return (red border warning that the
record was deleted, or just an empty template for
non-existing records) so that the user can at least try
another search. However, the HTTP status code gets set to
410 or 404 as expected so that machines can react
accordingly.
As suggested by Mike Rylander, keep the escape_email_header helper
around to avoid breaking templates that already adopted it, but make it
a no-op as the SendEmail reactor now encodes the email headers of
interest by default.
Dan Scott [Wed, 14 Sep 2011 20:02:14 +0000 (16:02 -0400)]
Add and use a patron search that overrides opt-in invisibility
Something like this is required for API calls that need to operate
against a number of libraries in a given instance that are using opt-in;
otherwise, attempts to search for users will fail and you may end up
creating near-duplicates etc.
The implementation adds an
open-ils.actor.search.patron.advanced.opt_in_override method to
open-ils.actor, which, if invoked, checks to see if the caller has the
OPT_IN_OVERRIDE permission. If so, then the crazy_search ignores the
normal opt-in limits and searches all pertinent users in the database.
As a global permission, OPT_IN_OVERRIDE is a blunt instrument. Others
might want to put together a more refined version that uses OU depths to
define boundaries.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm