Bill Erickson [Mon, 14 Feb 2011 18:31:50 +0000 (13:31 -0500)]
when authenticated, force the page to redirect the home page after the auth time has expired to protect patron data and prevent potentially confusing post-search-submit redirects
erickson [Wed, 16 Feb 2011 15:07:04 +0000 (15:07 +0000)]
added option to open-ils.auth.session.retrieve to return the full cached object, which includes the auth time (cache timeout) of the cached user object
Bill Erickson [Mon, 14 Feb 2011 17:36:25 +0000 (12:36 -0500)]
added option to open-ils.auth.session.retrieve to return the full cached object, which includes the auth time (cache timeout) of the cached user object
Bill Erickson [Mon, 14 Feb 2011 10:24:57 +0000 (05:24 -0500)]
when a secure page is requested insecurely, direct to login page, then redirect to the originally requested page after successful login. This removes the need for explicit redirect_to and https:// in secure links
dbs [Mon, 14 Feb 2011 07:22:11 +0000 (07:22 +0000)]
Enable MFHD tests to find their testdata
When the MFHD tests wrapped in mfhd.t are invoked from outside of the directory,
they tests failed to find the mfhddata.txt file. Judicious use of the __FILE__
special literal and File::Basename::dirname() avoids that problem. Now we just
need to munge @INC to ensure that testlib.pm can be resolved (and hope that
no conflicts ever turn up).
Bill Erickson [Sun, 13 Feb 2011 22:44:04 +0000 (17:44 -0500)]
moved some code out of the main catloader module into function-specific sub-modules. Note, sub-modules still retain the OpenILS::WWW::EGCatLoader package name to ease subclassing of the top-level loader object
dbs [Sun, 13 Feb 2011 03:14:21 +0000 (03:14 +0000)]
Teach authority_control_fields.pl about record ranges
Passing --record 10,000 times at the command line sucks, and
--all is not particularly realistic for large databases. Adding
--start_id and --end_id makes this script more usable.
Also provide reasonably full POD documentation, and rely on
Pod::Usage to provide help based on it when help is requested
or passed in options don't make sense.
dbs [Fri, 11 Feb 2011 21:39:48 +0000 (21:39 +0000)]
Normalize ISBNs by stripping hyphens in search methods and in reporter.materialized_simple_record
We weren't normalizing ISBNs in search or in reporter.materialized_simple_record
which required users to exactly match the form of the ISBN as entered in the
MARC record to get a successful search result - pretty hit or miss.
The longer term fix in 2.0 and above is to make the ISBN search search against
the identifier|isbn index, which also gets ISBN10/ISBN13 equivalence goodness.
But this patch will be relatively easy to backport through to 1.6.1 and plugs
some of the holes in our exposed APIs and search points in the short term.
miker [Thu, 10 Feb 2011 14:56:01 +0000 (14:56 +0000)]
Patch from Thomas Berezansky addressing his recent dynamic circ/hold field weighting patch.
Due to an oversight of auto-casting on my part dynamic weighting may incorrectly order similar rows that differ only in org unit or permission group.
Bad me for not testing for that case before now.
The attached patch should fix this. All it does is replace two functions, and in them replaces one INT variable with a NUMERIC(6,2) and a pile of integer constants with numeric constants (by virtue of adding .0 to them).
erickson [Wed, 9 Feb 2011 18:22:14 +0000 (18:22 +0000)]
allow item status update if either status-specific perm is allowed or UPDATE_COPY is allowed. fire off related A/T events after the initial transaction has been committed
miker [Tue, 8 Feb 2011 17:56:08 +0000 (17:56 +0000)]
Patch from Robert Soulliere to update settings-tester.pl
Changes include:
- Use Test::More perl module to replace eval/die tests for initial tests (as indicated in FIXME comment)
Note/question: should I add an install of the Test::More perl module in Makefile.install for Evergreen prerequisites?
- Add a statement to print postgresql version.
- Add an elsif during "driver" testing to say OK to SIP driver since this is used in telephony section. -- remove scary ERROR
- Add UUID::Tiny to perl module list of checks.
question: More perl module checks needed?
miker [Tue, 8 Feb 2011 17:22:00 +0000 (17:22 +0000)]
Patch from Thomas Berezansky addressing circ/hold config constraints, and their lack of usefulness.
The config.circ_matrix_matchpoint and config.hold_matrix_matchpoint tables have unique constraints that are intended to ensure that you have at most one entry in the table for each set of input conditions.
These constraints operate over a set of fields that can (in whole or part) be set to null, and thus don't do what they are intended to in most (if not basically all) cases.
[This patch] replaces the unique constraints with unique indexes. Nullable fields are coalesced into empty strings so that they can be matched against, and the index only applies to those rows set as active.
The included upgrade script cleans up the tables by taking each set of non-unique rows the unique index would fail on and setting all but the first (in id order) to active=false. If an administrator determines that the wrong row was left active they can toggle active off on the one that was left and back on for the correct one.
dbs [Tue, 8 Feb 2011 06:20:36 +0000 (06:20 +0000)]
Remove syntax error from O:A:Storage:Publisher:authority and add strict pragma
Came across a line of dead code while debugging a related problem, and
noticed that strict/warnings wasn't in place, so I culled the dead code
and added use strict/use warnings accordingly (now that we no longer
have the syntax error caused by the dead code).
dbs [Tue, 8 Feb 2011 06:12:24 +0000 (06:12 +0000)]
Create authorities that only contain controlled subfields (LP 712496)
Selecting "Create authority" on a field containing uncontrolled subfields
would generate an authority record that contained those uncontrolled
subfields. This would, in turn, prevent the "Validate" button from operating
correctly - if you added a 700 with $a and $c subfields, clicked "Create
authority", and then immediately clicked "Validate", the field would show
up as red.
Now we filter out the uncontrolled subfields before they get sent to
the "Create authority" function, avoiding this validation problem.
dbs [Tue, 8 Feb 2011 05:11:47 +0000 (05:11 +0000)]
Ensure new authority ID subfield is inserted in the correct XUL DOM location
Addresses LP 712499. After creating an authority via the context menu
in the MARC editor, the new ID subfield ($0) would be created right after
the subfield on which the context menu was invoked. It turns out that it
was being placed in the wrong location, and one symptom was that the
Validate button would not validate the controlled field against the newly
created authority.
Now we hunt through the parent DOM nodes until we find the 'sf_box' element
and then we append the ID subfield to that node. We also eliminate some
duplicate code by defining a common function so that the problem can be
fixed in one stroke...
dbs [Tue, 8 Feb 2011 03:49:36 +0000 (03:49 +0000)]
Prevent authority context menu on whitespace content
Continuing the refinement of LP 712538, if the subfield contains
only whitespace, treat it as though it were empty for the purposes
of the context menu.
dbs [Tue, 8 Feb 2011 03:43:08 +0000 (03:43 +0000)]
Prevent authority context menu from being displayed on empty content (LP 712538)
It's confusing to have the authority context menu - particularly the
"Create authority" options - appear for empty content. Check to ensure
that the subfield being clicked on actually has some content before
displaying the authority context menu.
senator [Fri, 4 Feb 2011 01:24:28 +0000 (20:24 -0500)]
started moving some inline styles into css classes
Here's the deal so far: all the inline styles are covered by one class
in semiauto.css, but those were created programatically and reflect no
understanding of the relationship between the purpose of any given
element that's styled and what its style is. These auto-generated
styles also are kind of redundant, since with many of them, instead of
using the style with a long definition, you could use a combination of
smaller styles.
The existing markup uses many slightly different style attributes, so
there's plenty of stuff like "width: 12", "width: 13", "width: 14", etc,
so there's no way to map a lot of this to semantically meaningful names.
some of these classes are just going to end up with names like
"wide-fourteen" that are no better than inline styles.
But others, as we find them manually, can be grouped and renamed into
something meaningful, and sometimes style can be put into prexisting id
and class definitions. Should be a couple more hours work.
semiauto.css reflects progress with the generated classes.
changes to style.css reflect early places where style could be moved
into pre-existing classes.
erickson [Fri, 4 Feb 2011 00:14:26 +0000 (00:14 +0000)]
ported open-ils.actor.user.transaction.[fleshed.]retrieve to CStoreEditor both for cleanup and to take advantage of .authoritative. Use authoritative version in staff client
Bill Erickson [Thu, 3 Feb 2011 21:47:59 +0000 (16:47 -0500)]
Integrate Locale::Maketext for string translations
Added support for configuring supported locales and specifying message
catalogs as gettext .po or .mo files. All locales default to native
template strings when no translation is provided.
Updated oils_web config and added some inline template examples
senator [Thu, 3 Feb 2011 20:34:19 +0000 (15:34 -0500)]
JS stubbed out, mostly. See longer commit msg.
Here's the deal with JS so far.
A few instances of onfocus, onblur, onmouseout, and onmouseover have been
left alone, as they're doing simple cosmetic things.
A lot of instances of onclick remain, and a couple onchange, but these
now either a) just do cosmetic things (hide/unhide) or b) call stubbed
out functions prepared in misc.js
That doesn't mean we won't still totally rip out lots of this JS, but
it leaves us a hint as to what is supposed to happen where. I can
easily see us losing track of that later. So anyway, many of the
stubbed functions will probably be replaced with purely server side
functionality later, but until then, they can serve as a kind of
documentation.