Bill Erickson [Tue, 18 Oct 2011 16:07:46 +0000 (12:07 -0400)]
Re-fetch hold for cancel notify to correct timestamp
Re-fetch the cancelled hold from the DB before passing it off to
action/trigger for notification processing. Otherwise, A/T attempts to
perform date math on "now" instead of a valid timestamp and subsequently
croaks.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Sun, 16 Oct 2011 22:39:00 +0000 (18:39 -0400)]
Cache open-ils.fielder results by locale
The problem was particularly visible in search facets, but existed
before: the cache key used for fielder results did not take locale into
account, so on a multi-locale system the first locale won and populated
the cache for all other locales.
Use a session locale if provided, otherwise default to the locale set in
opensrf.xml
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Sarah E. Chodrow [Wed, 14 Sep 2011 13:15:14 +0000 (09:15 -0400)]
Initial patch from Sarah Chodrow on LP bug 849447.
Also check for standing penalties and expired cards when checking
if it is ok for the patron to checkout, charge_ok.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Signed-off-by: Sarah E. Chodrow (sarah.chodrow@bibliotheca-itg.com) Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Dan Scott [Mon, 17 Oct 2011 19:00:33 +0000 (15:00 -0400)]
TPac: Describe bookbags mo' semantically
Rather than "big-strong", use a heading (H2, as the previously used H2
headings got bumped to H1) and wrap the description in a styled DIV
rather than just dumping it after a <br /> and wrapping it in <em>.
TPac: bookbags - stop trying to show everything at once
Go back to displaying one bookbag at a time (not counting the temporary
list, when that is populated)
This hopefully constitutes a usability improvement.
While it doesn't provide paging of bookbags themselves or of the items
therein, it should make that easier to do. Showing all bookbags and all
their items made it nonobvious how paging would even be expected to
behave.
This also provides the same sorting for the items in the temporary list
as in real bookbags.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Wed, 21 Sep 2011 20:38:08 +0000 (16:38 -0400)]
New in-db search and browse of authorities with non-filing-indicator support
Upon authority ingest, record simple authority headings for searching,
browsing and sorting. Respect non-filing indicators, if configured
(configuration is the nfi field on authority.control_set_authority_field).
Provide a full suite of search/browse top/center alpha/rank functions
based on authority tag, bib tag or browse axis at the database layer.
Provide functions to find the main-only and full tag list, and ref-variant
versions of the previously defined functions.
Teach OpenILS::WWW::SuperCat (responsible for RESTful feed-generating
interfaces) to use new OpenILS::Application::SuperCat methods that in
turn use the database methods. The change should be transparent to
users of SuperCat web APIs.
Carry indicators over from authority main entries to bibs, when applying
them in the marc editor.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Fri, 14 Oct 2011 16:14:14 +0000 (12:14 -0400)]
LP873614 print_init error printing bill history
xulG.url_prefix needs to be present for anything using util/print.js and the
Mozilla print strategy. Alternately, we could duplicate the logic behind
url_prefix and bundle it into print.js :-/
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 14 Oct 2011 02:10:23 +0000 (22:10 -0400)]
Modernize settings-tester.pl a bit
* Add a section that checks for Evergreen services in opensrf_core.xml
* Ignore the qstore database credentials, as qstore is unused currently
* Split things off into subroutines for easier reading
Dan Scott [Thu, 13 Oct 2011 15:49:45 +0000 (11:49 -0400)]
Fix located URI merging in action.merge_record_assets()
Perhaps due to the unexpected results of the XPath expression, which
returns a count of nodes for subfields, etc, rather than just a count of
the number of 856 datafields, NULL was being concatenated onto a string
- which of course made the string NULL.
Use COALESCE() to prevent the NULLness from spreading and enable
action.merge_record_assets() to do the right thing.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 27 Sep 2011 14:51:29 +0000 (10:51 -0400)]
Replace self-closing divs with open/close divs
XML != HTML
Traditionally, Vandelay templates were parsed as XML on the server for
DTD replacement. With the advent of locale::maketext for templates,
Vandelay no longer needs to be parsed as XML. However, not parsing as
XML leaves any self-closing divs (<div/>) intact in the final source,
which are treated as opening divs in text/html. This patch replaces
self-closing divs with open/close pairs.
https://bugs.launchpad.net/evergreen/+bug/860676
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
TPac: One prefers to download CSV, not to display it
For the "Download CSV" operation in the TPac "My Lists" interface,
provoke the user's browser to download the file, rather than displaying
the file in a new tab/window.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 12 Oct 2011 18:54:25 +0000 (14:54 -0400)]
Give OrgTree.js a locale, always
We started generating locale-specific OrgTree.js files many moons ago,
and now no longer provide a "default" locale in the root of the
common/js directory. The result was that the index.xhtml page for the
staff client was throwing an "_l is undefined" exception; largely
meaningless, as it seems that the OrgTree isn't even used on that page,
but noise that doesn't need to be in the JavaScript console.
Here we correct that exception by providing a locale, and hopefully
prevent any further copy/paste mistakes.
Jason Stephenson [Fri, 16 Sep 2011 16:45:11 +0000 (12:45 -0400)]
Add Show In Catalog button to Z39.50 Import.
Changes to z3950.xul:
Add show_in_catalog command.
Add button next to Mark for Overlay button.
Changes to z3950.js:
Enable/disable Show In Catalog button whenever Mark for Overlay
button is enabled/disabled.
Add code for show_in_catalog to open the record detail screen in
a new tab.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 12 Oct 2011 13:43:40 +0000 (09:43 -0400)]
README: For master, focus on PostgreSQL 9.1
Given that the backports for Debian and Ubuntu already offer PostgreSQL
9.1, and Fedora 16 (out in a few weeks) comes with 9.1, focus on 9.1
where it is available.
Ben Shum [Tue, 11 Oct 2011 22:51:32 +0000 (18:51 -0400)]
Change PostgreSQL 9 source for Ubuntu Lucid users.
Currently, Ubuntu Lucid does not have backport options for PostgreSQL 9.
Instead, most community members who use Lucid have been using
Martin Pitt's PPA as an external repository source. Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Tue, 11 Oct 2011 15:33:28 +0000 (11:33 -0400)]
TPac; repairs to advanced search query propagation
In some cases, TPac will duplicate components of an advanced search
query into the advanced search rows. This patch fixes that with
better array handling, particularly with CGI param search components
that do not have corresponding analogs at a given array position (i.e.
starting out with arrays of different sizes)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Wed, 7 Sep 2011 06:41:43 +0000 (02:41 -0400)]
Protect against undefined value as ARRAY reference
We should not assume that the caller is going to supply an array
(empty or not) of addresses or cards in the input values for the
open-ils.actor.patron.update method.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
- avoids some noise when building the Perl modules for
distributions that check for correctness when converting
POD to man pages
- add a an author test, taken straight from the Test::Pod
documentation, for POD correctness
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 10 Oct 2011 20:46:48 +0000 (16:46 -0400)]
Give CentOS / RHEL a chance at installing PostgreSQL 9.0
Evergreen 2.1 requires PostgreSQL 9.0, and we accordingly updated the
package names back in the summer to point at PostgreSQL 9.0, but nobody
running CentOS / RHEL brought to our attention that the repo target
needed to be updated as well. This, although untested, at least gives
CentOS / RHEL users a fighting chance of installing Evergreen master /
2.1 on their system.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Mon, 10 Oct 2011 20:15:04 +0000 (16:15 -0400)]
Fix broken Net::Z3950::SimpleServer 1.14 install
Pin the install of Net::Z3950::SimpleServer to the
known-to-work-with yaz 3.0.x version, 1.12. 1.14 introduced dependencies
on yaz 4.1.x that can't be easily worked around.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Thu, 21 Jul 2011 21:16:32 +0000 (17:16 -0400)]
Correct varname for PostgreSQL RPMs
On Fedora, Red Hat, and CentOS, we were still trying to install
the set of PostgreSQL RPMs for PostgreSQL 8.4 using PGSQL_84_RPMS.
This had been updated to PGSQL_90_RPMS to match the updated
database version - using the right varname resolves the problem
(at least on Fedora).
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Grace period auto extension and backdate awareness
Grace period auto extension:
Default is "grace periods don't auto extend".
OU setting turns on grace period auto extension. By default they only do so
when the grace period ends on a closed date, but there are two modifiers to
change that.
The first modifier causes grace periods to extend for all closed dates that
they intersect. This is "grace periods are only consumed by open days."
The second modifier causes a grace period that ends just before a closed
day, with or without extension having happened, to include the closed day
(and any following it) as well. This is mainly so that a backdate into the
closed period following the grace period will assume the "best case" of the
item having been returned after hours on the last day of the closed date.
Backdate grace period awareness:
By moving grace period calculations into a shared location backdating can
check the grace period, including extensions. If it finds that the backdate
is within the grace period (before or after extension) then instead of
voiding the fines for after the backdate it instead voids all fines for the
circulation. This emulates what would have happened (no fines) if the item
had been checked in at the time the backdate was made to take effect.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 7 Oct 2011 13:08:38 +0000 (09:08 -0400)]
TPac: Jump-to-details on first result page only
When activated, jump-to-record-details-on-1-hit should only come into
play on the first page of results. In other words, if page 2 of a
search has 1 item, do not jump to the record details page for that item.
Instead, show page 2 of the search results.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Thu, 6 Oct 2011 20:34:40 +0000 (16:34 -0400)]
TPac; start new facet "search" on page 0
When selecting a facet, thereby appending it to the current search,
start the search over at the first page. In other words, don't drop
into page X of a new search, since there may be no page X of the new
search.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Galen Charlton [Thu, 6 Oct 2011 17:55:43 +0000 (13:55 -0400)]
fix authentication failure
Ensure that the auth_limit values are read when open-ils.auth
initializes, not during oilsAuthInit(). This solves a problem
observed on brick-based setups where authentication could
incorrectly fail because the drone that processes
open-ils.auth.authenticate.complete didn't have the the block
count value initialized yet.
Also fixed type nit when compare the fail count to the block
limit.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Thu, 6 Oct 2011 15:42:54 +0000 (11:42 -0400)]
TPac: My List add/remove page anchor fix
Removed /g modifier from URL anchor regex to prevent URLs with multiple
page #-anchors. This change primarily affects IE which includes #-anchors
in the referer header.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Really add *entire* selection list to a purchase order, when desired,
and generally do what a user would expect when, in Acq, the user
executes an operation on "all items".
This addresses LaunchPad bug #810030.
The fundamental issue is that an AcqLiTable, which is used in several
different ways in different interfaces, may be representing items on a
selection list (for example), but it doesn't necessarily know all of the
items that belong to that selection list. It only knows what it has drawn.
This addresses that deficiency by teaching the getSelected() method
some new tricks so that it can consult the server in the various ways
appropriate to getting a list of /all/ the items on a selection list, a
purchase order, a virtual PO, a set of search results, etc.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Wed, 5 Oct 2011 17:12:30 +0000 (13:12 -0400)]
README: Explicitly identify accounts for commands
Add a preamble to the beginning listing all of the accounts referenced
in the instructions (Linux accounts, PostgreSQL accounts, Evergreen
administrator accounts). Also move the Developer Instructions to the
start to follow the natural order of operations.
Bill Erickson [Wed, 5 Oct 2011 19:16:17 +0000 (15:16 -0400)]
Avoid collecting facet data for non-facet fields
If a config.metabib_field (Admin -> Server Admin -> MARC Search/Facet
Fields) starts out as a facet field but is later changed, data for that
facet can still bubble up since it has already been extracted. This
patch prevents facets for config.metabib_field entries whose
facet_field=false from getting collected/cached for search results.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Tue, 4 Oct 2011 19:25:00 +0000 (15:25 -0400)]
TPac: jump to details page on single hit
When enabled, any time an OPAC search yields 1 result, the user will be
redirected to the record detail page for that result. This change adds
2 new org unit settings, one to control the behavior in the staff
client, the other to control the public catalog.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Wed, 5 Oct 2011 03:04:15 +0000 (23:04 -0400)]
i18n: Fix es-ES illegal use of '%' in lang.dtd
The '%' character is used to include previously defined blocks in DTD
files; would be nice if translate-toolkit gave a more obvious error to
alert us to this rather than saying the en-US doesn't validate and
dying.
Dan Scott [Tue, 4 Oct 2011 18:40:44 +0000 (14:40 -0400)]
Slightly updated about.html for rel_2_1
Not sure we want to actually keep listing individuals in this file -
there's a lot more credit to spread around - but at least I can bring it
somewhat up to date with current info.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
1 - You have new DEBUG_CLIENT permission (after login)
This should work even on operator change.
Once a given debug interface is open you can change operator back.
2 - You have a client with the debug preference enabled
This causes the client in all places I touched to think you have DEBUG_CLIENT
This also allows debugging *before* login, including in the Standalone interface.
Debug functions I know of:
Debug box on login page (already protected by pref)
Debug items in Admin menu
Venkman
Javascript Shells
Inspector
Chrome List
CTRL+SHIFT+F7 debug box in overlays
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Adds support for a print_custom.js file and an org unit specified file.
If either exists and contains a print_custom function it will be called
before printing to allow for DOM manipulation.
If neither exists the print_win.js file will call all functions it has
defined.
In addition, if any code sets do_print to false the window will close
instead of attempting to print.
The print_custom function will receive the type of template used, if any.
This only applies to "Receipt Template" based print jobs, and the type in
question is the "Type" that shows in the template editor.
Functions defined in print_win.js:
print_init
Main function, checks for print_custom and does final printing
print_do_sums
Does summing of values.
print_check_alt
Does swapping out of template blocks with display:none styling.
print_check_noprint
Disables printing under certain circumstances.
For more information about usage of the print_do_sums, print_check_alt,
and print_check_noprint functions check the comments in print_win.js.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Default is "Only allowed to change username if it looks like a barcode".
There is a "Lock Username Changes" option to disallow username changing via
the OPAC entirely, useful if syncing usernames to an outside source.
There is also a username change limit disabling option that, if enabled and
the Lock option is disabled, allows the previous behaviour of unlimited
username changes.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
In TPac, enforce the "username can't look like a barcode" rule.
Add new setting for username validation. If set, usernames must match.
Add patron registration checks for usernames:
No spaces
If set, can look like a barcode (initial/no username picked)
If set, can look like a username
If both set, must look like one of them
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Alter backend to check password period, not just for password changes.
Add form elements for asking for current password to JSPac and TPac.
Add handling for said form elements where needed.
Add handling for "incorrect password" events in TPac.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Amount of time seed is valid
Amount of time to keep failure count in memcache since last auth event
Number of failures before locking out auth attempts
Also, remove seed from memcache once it has been used once.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
link asset.copy_template.status to config.copy_status in the IDL
If nothing else, this provides a dropdown for status in the copy
template editor (the one for Serials, under the admin menus, not the
one on the copy editing interface).
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Tue, 4 Oct 2011 03:22:27 +0000 (23:22 -0400)]
TPAC: Fix searchbar typo by closing div
Nesting of divs was thrown off, resulting in the footer appearing in the
wrong place in search results / record display / etc, with the result
that the footer inherited the 974px width instead of full 100% width.
Mike Rylander [Mon, 3 Oct 2011 19:01:26 +0000 (15:01 -0400)]
Correct Located URI visiblity
Located URIs should be visible when they exist at the search context org unit
or an ancestor thereof. However, before the change embodied in this commit,
they effectively acted exactly like copies, making records visible anywhere
within the context+depth range.
An example, using the stock example OU hierarchy:
* Before this change, a Located URI with an owner of BR1 would cause its
record to show up in a search at (or scoped to via a depth parameter) BR1,
SYS1 or CONS.
* Before this change, a Located URI with an owner of SYS1 would NOT cause its
record to show up in a search at (or scoped to via a depth parameter) BR1!
* After this change, a Located URI with an owner of BR1 will cause its record
to show up only in a search with a context OU of BR1, irrespective of depth
scoping.
* After this change, a Located URI with an owner of SYS1 WILL cause its
record to show up in a search with a context OU of BR1 or SYS1, regardless of
depth scoping.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 4 Oct 2011 01:58:17 +0000 (21:58 -0400)]
TPAC: Replace dashboard images with CSS
Also gets rid of a number of tables and a bunch of CSS definitions with
hard-coded widths that will cause trouble when longer translated terms
get dropped into place.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>