LP#1713160: fix crash viewing circ history in public catalog
This patch fixes a crash when a patron views their circulation
history in the public catalog.
To test
-------
[1] Set up a patron record that retains circ history and make
and returns some loans. Ensure that at least one of the
loans is aged.
[2] Log into the public catalog as the test patron and riew the
Check Out History page (/eg/opac/myopac/circ_history).
[3] Note that an internal server error is reported.
[4] Apply the patch, repeat step 2, and verify that the check out
history is now displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Boyer [Fri, 1 Sep 2017 21:09:36 +0000 (17:09 -0400)]
LP1714589: Use Explicit Definition for aacs
Spell out the expected fields in the expected order
for the aacs view because databases that have undergone
upgrades may drift when using * in a UNION.
Signed-off-by: <JBoyer@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
This patch accounts for the fact that the IDs returned in source_list
do not have a set order. It also no longer recreates unapi.mmr_mra()
within the test case, meaning that it can now serve as a true regression
test.
Removing the topic_subject map, since it ends up with single terms rather than
the more useful "--"-separated full subjects. Also added an "all creators"
mapping so that if the default "author" is empty for a record, the display
logic can do its best to find an appropriate value.
Gone, again, is the representative_field structure from the baseline (and from
my upgrade changes).
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
* Fix function names in drop statements for upgrade
* Adjust array concat syntax in plpgsql
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
I've rebased this to master and undertake some work to allow streamlined
reingest of specific index definitions. The API remains essentially backwards
compatable, but is reingest_metabib_field_entries() is extended to accept a
list of index definition IDs to which it should restrict its work. If that
optional parameter is not passed, all index definitions are processed.
This has the benefit of skipping XML transformation for index definitions
which won't produce output useful to the requested reingest process, which
should provide a significant speed boost for some situations.
The upgrade schema has now been realigned with some missing bits from the
baseline, but the baseline may still be lacking some from the upgrade.
The data upgrade script has been made to use the existing index definitions
where they match the needs of the new ones, and to use the new reindexing
options.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Adds functions for translating bib record display field data into a
variety of useful formats and structures. Some are best suited for
grids, others for lists of values, etc.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 11 May 2017 21:54:58 +0000 (17:54 -0400)]
LP#1251394 Compressed and wide display entry VIEWs
flat_display_entry is one row per entry with all of the relevent info.
compressed_display_entry sits atop flat_display_entry and compresses the
values into JSON scalars and arrays depending on the 'multi' value.
Wide display entry is a tabular view of the well-known fields a la
reporter.simple_record.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
'representative_field' (and its check function) create circular
references between metabib_class and metabib_field. The most
straightforward fix is to deal with those fields separate from the
initial table creation and field insertion.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Thu, 14 Nov 2013 21:43:31 +0000 (16:43 -0500)]
LP#1251394 un-squash repeated fields; some minor schema re-alignment
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Mon, 27 Jun 2011 20:53:55 +0000 (16:53 -0400)]
LP#1251394 Add display_field column to config.metabib_field
The idea is to pull the XPath definitions and i18nized labels for
config.metabib_field entries into other contexts, to avoid duplicate /
conflicting defintions in different layers of the code. If display_field
is TRUE, then it is a signal that it could be usefully exposed to users.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Cesar Velez [Fri, 11 Aug 2017 21:52:13 +0000 (17:52 -0400)]
LP#1599894 - OPAC disable Add to MyList when doing metabib search
Since adding a result to MyList yields to a random title
(due to bad id) being added to temp. lists, disable MyList if
metabib search is on, i.e "Group formats and editions"
checkbox is checked.
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
This patch is a bit of hackery to work around an intermittent
(but frequent) situation where the vendor session cookie got
cleared right before invoking the cancel hold method, leading
to its failure.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com>
- test for ebook_spinner div before attempting to set a class
- eject a couple Perlisms
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 16 Aug 2017 18:30:54 +0000 (11:30 -0700)]
LP#1673870: fix OneClickdigital handler to reflect how their API actually works, documentation notwithstanding
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Mon, 14 Aug 2017 21:03:59 +0000 (14:03 -0700)]
LP#1673870: display ebook availability when detailed holdings info is unavailable
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 12 Jul 2017 19:35:43 +0000 (12:35 -0700)]
LP#1673870: indicate suspended holds for OverDrive
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Tue, 11 Jul 2017 22:45:48 +0000 (15:45 -0700)]
LP#1673870: move ebook availability JS to standard location
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 18 Aug 2017 20:35:09 +0000 (13:35 -0700)]
LP#1673870: show spinner in My Account while loading from ebook API
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Tue, 4 Jul 2017 23:20:11 +0000 (16:20 -0700)]
LP#1673870: Handle OverDrive ebook checkout and download
The workflow for checking out and downloading a title via the OverDrive
API is relatively complex:
1. Check out a title.
2. Lock in a specific format for the checked-out title. Once you lock
in a format, you can only download the title in that format -- except
that the browser-based OverDrive Read and OverDrive Listen formats are
always available (if supported for that title), even if you've locked in
another format.
3. Request a link for downloading the title in the specified format.
Download links are dynamically generated and only work for 60 seconds
from the time of your request.
To simplify the process, we require the user to lock in a format during
checkout. Then, when the user clicks the Download button, we request a
download link; OverDrive responds with a URL, and we immediately
redirect the current browser tab/window to that URL.
A new API call, open-ils.ebook_api.title.get_download_link, has been
added for requesting the download link. Since API calls are not
vendor-specific, we also add support for the new method in the test
module, complete with unit test.
Supplementary fixes:
- show spinner in My Account while loading from ebook API
- ensure session ID is available to ebook object during transactions
- fix display of ebook formats
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 28 Jun 2017 20:49:37 +0000 (13:49 -0700)]
LP#1673870: fix bug that prevented more than one ebook transaction from appearing in list in My Account
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 28 Jun 2017 20:36:24 +0000 (13:36 -0700)]
LP#1673870: Support placing and canceling OverDrive holds
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Mon, 26 Jun 2017 23:23:54 +0000 (16:23 -0700)]
LP#1673870: Use separate templates for ebook checkouts and holds
Previously we used the same TT2 template for listing checkouts and
performing a checkout, and for listing holds and placing a hold. This
leads to problems; in particular, URL parameters required for checkout
and hold actions were "sticky," so viewing your holds after placing a
hold would show the "Place Hold" UI instead of a list of holds. This
commit introduces separate templates for ebook actions as a workaround.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 14 Jul 2017 18:56:54 +0000 (11:56 -0700)]
LP#1673870: remove separate JS function for ready-only holds
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 23 Jun 2017 22:57:49 +0000 (15:57 -0700)]
LP#1673870: Add ebook API cancel hold functionality to OPAC
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 23 Jun 2017 20:43:03 +0000 (13:43 -0700)]
LP#1673870: Link ebook transaction objects to vendor in JS
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 21 Jun 2017 19:05:11 +0000 (12:05 -0700)]
LP#1673870: Add ebook transaction links to search results and record details
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 22 Mar 2017 20:00:47 +0000 (13:00 -0700)]
LP#1673870: Add ebook API place hold functionality to OPAC
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Tue, 21 Mar 2017 22:32:48 +0000 (15:32 -0700)]
LP#1673870: Checkout/renew/checkin methods for OverDrive API
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 17 Mar 2017 22:22:32 +0000 (15:22 -0700)]
LP#1673870: Add ebook API checkout functionality to OPAC
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Adds an API method to obtain the title and author (and, eventually,
cover image URL) for a given ebook via the open-ils.ebook_api service.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Fri, 14 Jul 2017 18:48:49 +0000 (11:48 -0700)]
LP#1673870: process ebook variable in misc_util.tt2
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
- Upon applying the patch, verify that browse in the public
catalog uses See, broader or narrower term, and see also
as labels.
- Verify that scope notes now only display under the main
heading in the browse list.
- Verify that turning off the Display related headings (see-also) in browse
global flag disables display of see-also (related headings)
in the public headings browse. Note that it may be necessary to
clear memcached caching of cgf.
- Verify that see references are consistently shown.
- Verify that Server Administration | Authority Headings Fields works
- Verify that Server Administration | Thesauri now includes fields for
short code and URI.
Now that the primary key of the authority.thesarus table
has changed from the single-character code to the LC-assigned
authority code, a bit of additional translation is required.
Srey Seng [Fri, 5 Sep 2014 21:28:07 +0000 (14:28 -0700)]
LP#1358392: See references not always displaying on browse search
When browsing for an unauthorized heading, See references are not always
displaying on browse search. Those that do display surface due to the
existence of cross-reference(s).
Desired behaviour is that unauthorized headings should also surface in browse
results, even without the existence of cross-reference(s), as long as the
authority record containing the unauthorized heading controls at least one bib.
There are many authority records that do not have cross-references but do contain
unauthorized headings, so browse results that would otherwise be hidden would now
be exposed.
This fix adds an additional logic to check if the browse term is an
unauthorized term and if so, perform a slightly modified procedure
but otherwise, perform the usual procedure so as not to break any existing
functionality.
Galen Charlton [Fri, 6 Jan 2017 22:43:34 +0000 (17:43 -0500)]
LP#1638299: improve extraction of headings from authority records
This patch sets up configuration tables, seed data,
and functions for extracting headings from authority records based on
(usually) the MARCXML to MADS XSLT.
Ben Shum [Tue, 15 Aug 2017 22:43:09 +0000 (18:43 -0400)]
LP#1710991: Do not translate username and workstation in webclient navbar
In the web client's navbar, do not translate username and workstation. This
causes errors with rendering the menus if other locales translate the
variables.
Signed-off-by: Ben Shum <ben@evergreener.net> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Suzanne Paterno [Thu, 10 Aug 2017 17:15:39 +0000 (13:15 -0400)]
LP#1688398: revamp public catalog bill payment page
- Changed table layout of the credit card charges on the Account screen.
Moved checkbox to left of screen, added a column for Billing Type.
- Add button to Pay Selected vs All Charges.
- Include image of credit cards accepted (need to update with one with
AmEx)
- Reformatted page for inputting credit card
- Updated confirmation screen to bold amount, and list the titles as
the ones the user is paying for.
- Changed Print reciept template in seed data to look more readable and
like other itemized reciepts.
Suzanne Paterno [Thu, 10 Aug 2017 15:38:53 +0000 (11:38 -0400)]
LP#1688398: change wording on OPAC bill payment pages
On the credit card screens replaced the word "Fines" with "Charges"
since not all charges are fines. Can be cost of replacement materials,
as well as other non-circulation fees.