dbwells [Thu, 31 Mar 2011 18:12:39 +0000 (18:12 +0000)]
Use identifer indexes for older ISxN API methods (LP Bug #728671)
There are three logic layers involved in the older ISxN 'quick searches': the OPAC, the search API, and the storage API. The approach of this patch is to update the search API (which in turn fixes the OPAC), and ignore/deprecate the storage API for these identifiers.
phasefx [Thu, 31 Mar 2011 15:17:19 +0000 (15:17 +0000)]
Logic error trying to merge the date component of one date object with the time component of another. We were trying to use the time object and update it piecemeal, which resulted in non-sensical dates that were forced to wrap. For example, if the date object was to set to March 31, 2011, and we tried .setMonth(3) on it to change it to April, that would result in an April 31st, which doesn't exist, and the date thus moves forward a certain number of days into May.
This affects Check Out, dedicated Renew interface, and the various date picking functions in Items Out and Holds interfaces.
dbs [Wed, 30 Mar 2011 01:42:37 +0000 (01:42 +0000)]
Change label to "Reset Password" and get button out of tab ordering
In a keyboard-intensive patron input workflow, pressing tab should
not place focus on the "Reset Password" button; the password is
automatically generated at dialog creation time. Setting tabIndex
to -1 disables tab focus for the button.
Also, the button has been relabeled to "Reset Password" to be
consistent with the previous button.
dbs [Wed, 30 Mar 2011 01:41:08 +0000 (01:41 +0000)]
Restore the Reset Password button on patron editor
Per LP 488243, the Reset Password button that existed on the old
XUL patron editor was lost in the transition to the new Dojo
patron editor. Jason Stephenson stepped up and offered a patch
to restore the functionality.
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: Jason Stephenson <jstephenson@mvlc.org>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19906 dcc99617-32d9-48b4-a31d-7c20da2025e4
miker [Tue, 29 Mar 2011 15:24:44 +0000 (15:24 +0000)]
Monograph Parts; Unified vol/copy wizard; Call Number affixes; Instant Detail
* Monograph Bibliographic Parts - One MARC record should be able to support
all volumes associated with the title, subdivide records in multiple ways,
and the ability to support holds on individual Parts.
* Unified Volume/Copy Wizard - The ability to enter call number, barcode
number, and all copy information on the same screen. Also, the ability
to include some information associated with the call number, such as
classification scheme, prefix and suffix, in the item template feature
of the Unified Volume/Copy Wizard.
* Call Number Affixes - Delimiting the call number so that the prefix and
suffix reside in separate fields. This prefix and suffix should display
in the OPAC as part of the call number and should also be available for
use in spine labels.
* Instant Detail for One Record Hit List - When searching for records in
the staff client, the ability to immediately land on the bibliographic
record instead of the search results screen when there is only on matching
search result in the system. This enhancement does not change the way
search results are returned in the public catalog.
These features were sponsored by the Massachusetts Library Network Cooperative.
gmc [Tue, 29 Mar 2011 02:06:43 +0000 (02:06 +0000)]
bug 744687: fix multi-field MARC expert search
Fixes bug where a bib that has multiple subfields
meeting one condition of a 2+ field MARC expert
search could end up in the results list even if
it didn't meet the other conditions (currently multi-field
MARC expert searches use implicit 'AND').
dbwells [Mon, 28 Mar 2011 22:43:13 +0000 (22:43 +0000)]
Fix call-number sorting for non-generic sort keys (LP Bug #737819)
Selecting on 'label' but sorting on 'label_sortkey' did not work properly. Instead, we will now find the single best call number we can based on the label given, then both select and sort based on that call number's sort key.
dbwells [Mon, 28 Mar 2011 18:32:46 +0000 (18:32 +0000)]
MARC View print problem workaround (LP Bug #742033)
Certain printers were failing to print from the MARC View in the staff client. Adding a simple title to the view ended up being a successful workaround, and is unlikely to have negative consequences in any case.
dbs [Mon, 28 Mar 2011 17:36:14 +0000 (17:36 +0000)]
Address LP 744393: Arabic text in en-CA offline.properties
A translator appears to have mistakenly added Arabic text to
the en-CA offline.properties file in Launchpad. This commit
corrects those translations and completes the translation of
the file for 2.0.
phasefx [Mon, 28 Mar 2011 16:31:33 +0000 (16:31 +0000)]
fix up receipt options persistence in billing interface; implement # of receipts option (not perfect if using print dialogs; non-blocking and not necessarily queued up)
dbs [Fri, 25 Mar 2011 06:52:18 +0000 (06:52 +0000)]
Avoid Apache warnings resulting from duplicate NameVirtualHost directives
Benjamin Shum reported that the Apache warnings that have been a part
of Evergreen's default configuration on Apache start for ages could
be avoided by commenting out the "NameVirtualHost: *80" line in
eg.conf. Testing confirmed that the directive was not necessary on Ubuntu,
Debian, or Fedora. As this warning has been the cause for unnecessary concern
on the part of many new adopters of Evergreen, getting rid of it appears to
be a nice usability win.
phasefx [Thu, 24 Mar 2011 18:38:14 +0000 (18:38 +0000)]
Shortcuts for all users, not just current user.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19855 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Tue, 22 Mar 2011 01:24:43 +0000 (01:24 +0000)]
Build libjs from source for now until the Perl threading problem can be reliably tested
The previous commit changed JavaScript::SpiderMonkey to be built without
thread safety, but on Fedora we had been installing the js-devel package
(which was threaded). As you can't build a non-threaded
JavaScript::SpiderMonkey on top of a threaded libjs, for now we'll make
Fedora build a non-threaded libjs from source just like the other distros.
Note that the problem with threaded JavaScript::SpiderMonkey surfaced
on Debian Lenny when targeting holds. Lenny has libthreads-perl 1.71, but
a number of fixes have been committed to subsequent versions
(http://cpansearch.perl.org/src/JDHEDDEN/threads-1.82/Changes) - so
threading support might be reliable on more current distros. Once we
have a reliable test, we might be able to go back to the packaged
version of libjs.
dbs [Tue, 22 Mar 2011 00:40:44 +0000 (00:40 +0000)]
Another layer of escaping for the escapes in the DB update script
Apologies for the previous patch that led to breakage; I "tested" in a
script in which I had already hardcoded the answer I wanted after
running into problems with the previous version of the script. Not
good testing practice.
Thanks to Bill Erickson for suggesting the extra escapes. Tested in
a clean environment this time, and it works.
dbs [Mon, 21 Mar 2011 20:12:17 +0000 (20:12 +0000)]
Enable update_db.sh to handle upgrading databases with release version
When '0475' is mixed with '1.6.0.4', the latter wins as far as a plain MAX()
operator goes. Ensuring that the version is all digits should help avoid the
release version numbers in the config.upgrade_log table.
Thanks to Thomas Berezansky for suggesting a SIMILAR TO operator variation
that led to this approach.
dbs [Mon, 21 Mar 2011 14:11:21 +0000 (14:11 +0000)]
Use the human-friendly interval syntax for Apache caching
Apache mod_expires has supported a human-readable syntax for defining cache
expiry directives for a long time. In this commit we simply convert the
existing defaults from the "Anumber_of_seconds" syntax to the equivalent
English syntax documented at
http://httpd.apache.org/docs/2.0/mod/mod_expires.html
Whether CSS _should_ have a cache lifetime of 50 minutes by
default is left to the subject of future commits :)
miker [Sat, 19 Mar 2011 14:33:18 +0000 (14:33 +0000)]
In-database Grace intervals
s it stands the grace period for a transaction is only specified on the fine generator script, but fines can be generated on checkin as well without one. As a result any checkin results in grace periods being negated.
The attached patch adds in-db grace periods for all non-booking transactions, removing the grace period from the fine generator cron job script and placing it on the circulation. Grace periods are set on the recurring fine rule with an override available on the circ matchpoint, identical to how renewal count can be overridden from the duration rule already. These grace periods are respected on checkin fine generation as well as on the fine generator cron job script.
The upgrade script will assume, by default, a grace period of 1, but has a \set line to change this. It will also update all circulations without a checkin by default, but another \set will allow disabling of that.
[ NOTE: for the history of the patch, see: https://bugs.launchpad.net/evergreen/+bug/732679 ]
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19823 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Sat, 19 Mar 2011 04:56:06 +0000 (04:56 +0000)]
Remove unused imports, correct some references, and clean up csedit.py
Mostly minor cleanups, some additional docstrings, but a few changes
of concern here (OSRF_APP_CONNECTED_STATUS didn't have the appropriate
osrf.const import, for example).
dbs [Sat, 19 Mar 2011 03:06:58 +0000 (03:06 +0000)]
Parse the field_safe parameter in Python's IDL parser
Also set the correct namespace for the tablename attribute.
The rest of the changes are for PEP8 compliance. We retain the
IDLParser set_IDL() and parse_IDL() methods because things like
constrictor call them directly, but note in the docstrings that
they are deprecated names.
phasefx [Fri, 18 Mar 2011 18:08:51 +0000 (18:08 +0000)]
Switch to AccessControl plugin, more reliable.
Only fetches it when needed.
Also make NSIS Less...verbose. Warnings/errors only.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19810 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Fri, 18 Mar 2011 17:50:19 +0000 (17:50 +0000)]
Test for an installed libdbi0 package and bail on Ubuntu and Debian
This isn't a problem on Fedora, where we use the packaged version of libdbi,
but the older version of libdbi0 and possibly the compile options on Ubuntu
Lucid has been demonstrated to be a barrier to successfully installing
Evergreen.
miker [Fri, 18 Mar 2011 15:53:04 +0000 (15:53 +0000)]
Intelligent Metarecord Format Selection for Holds
Previous to this commit, Evergreen would show all possible record formats
when promoting a T-type hold to an M-type. This change causes the middle
layer method to respect the Hard Boundary of the pickup library when
considering what constituent records within a metarecord will contribute
formats.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19805 dcc99617-32d9-48b4-a31d-7c20da2025e4
phasefx [Thu, 17 Mar 2011 20:16:56 +0000 (20:16 +0000)]
Pre-modified xulrunner-stub files + icons
Icons courtesy of Mike Peters, or so my note alongside them says.
The pre-modified stubs are built on the 1.9.2.15 build of xulrunner. They should continue to work on future 1.9.2 builds.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19795 dcc99617-32d9-48b4-a31d-7c20da2025e4
phasefx [Thu, 17 Mar 2011 20:14:41 +0000 (20:14 +0000)]
Copy is not valid. How I missed that before I don't know.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19794 dcc99617-32d9-48b4-a31d-7c20da2025e4
phasefx [Thu, 17 Mar 2011 20:14:04 +0000 (20:14 +0000)]
Default to no license page (for the staff client installer)
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19793 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Wed, 16 Mar 2011 03:46:43 +0000 (03:46 +0000)]
Set default db schema search path to public,pg_catalog
With the addition of the 'evergreen' schema, we discovered that
all of the unqualified database objects were being created in
the 'evergreen' schema if the database user name was 'evergreen'
(as the default search path is "$user",public we started matching
"$user").
Thomas Berezansky proposed a variation of the function provided
here for changing database settings. By creating the function in
the first schema file, the subsequent connections pick up the
new default search path and all works blissfully as it once did.
Long term, we should probably move towards explicitly qualified
database objects.
dbs [Wed, 16 Mar 2011 03:38:26 +0000 (03:38 +0000)]
Make DROP statement match new basetype for agg_tsvector
When the CREATE AGGREGATE function was changed to have a basetype
of pg_catalog.agg_tsvector, the corresponding DROP statement was
not changed in a similar fashion; ergo, on creating the schema
a subsequent time, the CREATE statement would fail because the
aggregate function already existed and the transaction would be
rolled back.
Also - do we need to differentiate between PostgreSQL 8.4 and 9.0
here?
phasefx [Tue, 15 Mar 2011 21:05:49 +0000 (21:05 +0000)]
With some hints from eeevil, tweaked 002.functions.aggregate.sql to work after some search_path mangling. Haven't smoketested yet, just got past the eg_db_config --create-schema bit with this.
phasefx [Tue, 15 Mar 2011 15:52:12 +0000 (15:52 +0000)]
Misc. changes to installer including:
1 - Fix profile manager links
2 - Add tag at top (currently "Trunk") for easy changing
3 - Add optional extras.nsi for easy additions of extra install/uninstall lines
4 - Run uninstaller if installing to a directory with one (old style OR new style)
5 - Allow license override and only show license page if one defined
Ex. With NSIS_EXTRAOPTS set to "-DPRODUCT_LICENSE=some/path"
Or to disable use "-DPRODUCT_LICENSE"
6 - Similar to devbuild, allow for registration per-machine by default
This includes needing to not wipe out the folder this is stored in
7 - Make "Everyone" able to write to the install folder when:
Autoupdate is an option
Per-machine registration is an option
8 - Make silent uninstall function
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19750 dcc99617-32d9-48b4-a31d-7c20da2025e4
phasefx [Tue, 15 Mar 2011 11:59:04 +0000 (11:59 +0000)]
Default workstation name to something sensible.
Like the computer's hostname. But not localhost.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19747 dcc99617-32d9-48b4-a31d-7c20da2025e4
erickson [Mon, 14 Mar 2011 16:34:25 +0000 (16:34 +0000)]
More menu work for record attr/coded map config UIs
menu entry for config.coded_value_maps,
updated menu label and page title for config.record_attr_definition page;
in some cases (that probabl need investigating), widget.validate function is not defined. in those cases, don't attempt to call the function
dbs [Mon, 14 Mar 2011 04:21:20 +0000 (04:21 +0000)]
Apply jshint suggestions for cleanup to dojo.fieldmapper
Mostly consisting of missing semicolons and avoiding the redeclaration
of variables (generally for iterators) within the same function scope.
Some tightening of null and '' checks to avoid implicit type-casting.
dbs [Sun, 13 Mar 2011 22:09:06 +0000 (22:09 +0000)]
Normalize patron profile search function in "Search for Patrons" UI
Use util.widgets.make_menulist for a more consistent approach to
generating the menulist and use a row/label/hbox layout to normalize the
appearance of the patron profile filter in the search menu.
dbs [Sun, 13 Mar 2011 22:02:19 +0000 (22:02 +0000)]
Apply patch to add a patron profile filter to the "Search for Patrons" UI
Thanks to Michael Peters <mrpeters@library.in.gov> and
Thomas Berezansky <tsbere@mvlc.org> for their work on this additional
functionality to the patron search UI, supplied as a patch in LP# 715837.
dbs [Sat, 12 Mar 2011 23:37:45 +0000 (23:37 +0000)]
Clean up build errors when creating/recreating database schema
Dropping the evergreen schema cascaded and wiped out some previously
defined functions, so move it ahead of the other functions. (And maybe
we can start moving those public functions into the evergreen schema?)
DROP AGGREGATE IF EXISTS exists on any version of PostgreSQL that we
care about for Evergreen 2.0, so we can use it to avoid false errors
during schema creation.
FTS config was complaining about public.english_nostop in the ALTER
statement, so remove the schema qualification. This seems to have
been there for a long time?
Use IF EXISTS when dropping the unapi schema to avoid an error.
dbs [Sat, 12 Mar 2011 02:57:32 +0000 (02:57 +0000)]
Resolve inconsistent results when invoking LOWER() in C vs. UTF8 locale databases
As reported by the Fundamental Science Library of Armenia, patron searches
were not retrieving patrons who were known to be part of the patron database.
While the initial approach to solve this problem used an encode_utf8() call
to encode the data before passing it on to the database, this turned out to
break the patron search function in other environments.
Testing by Dan Wells confirmed that the LOWER() function returned different
results when invoked against text in a database created with LC_CTYPE=C vs
a database created with LC_CTYPE=*.UTF-8. As the patron search function
used a Perl lc() function call to convert the incoming data to lowercase,
the success of the call depended on the LC_CTYPE value of the database.
To avoid this problem in the future, we define our own evergreen.lowercase()
function that can reliably produce lowercase text for characters outside
the Latin1 range, and we convert our indexes and function calls to use that
function consistently.
dbs [Fri, 11 Mar 2011 20:37:50 +0000 (20:37 +0000)]
LANG=C results in SQL_ASCII encoding by default for PostgreSQL, which isn't cool
We want LC_CTYPE=C and LC_COLLATE=C, and SERVER_ENCODING=UTF8.
The docs have been adjusted as 8.4 and up now offer database-level
--lc-ctype / --lc-collate options for createdb command.
dbs [Fri, 11 Mar 2011 16:42:01 +0000 (16:42 +0000)]
Ensure incoming query values to patron search are UTF8-encoded
Addresses the problem reported with searching for patrons with
Armenian names, where Unicode query params were getting corrupted
on its way to the database.
erickson [Thu, 10 Mar 2011 14:24:18 +0000 (14:24 +0000)]
as an alternate/addition to applying per-setting permissions, use the existing VIEW_ORG_SETTINGS permission as a general gateway into the org settings UI
miker [Wed, 9 Mar 2011 19:23:55 +0000 (19:23 +0000)]
Patch from Thomas Berezansky:
The attached patch adds a collection of settings for patron registration, as well as a new display mode.
The new display mode is "Suggested" compared to "Required" or "All". It shows everything "Required" does, but also shows fields flagged as "Suggested", stat cats, and surveys.
To control this and other things are the settings. They come in a few general categories, named ui.patron.edit.<fmclass>.<fmfield>.? where ? is one of the following:
require - Flag the field as required when it otherwise wouldn't be.
show - Show the field like required fields, but don't actually require it.
suggest - Show the field with required/shown fields in "show suggested fields" mode
example - An example string for a field
regex - A regular expression for validating a field
Not all fields have all of the above options by default, although the initial list is the main limiter compared to the code side.
Also included are the following settings:
ui.patron.edit.au.dob.calendar - If true, shows the calendar widget for the date of birth field
ui.patron.edit.phone.example - Example for all phone fields without their own
ui.patron.edit.phone.regex - Regex validator for all phone fields without their own
ui.patron.edit.default_suggested - Default to showing suggested fields instead of all fields
dbs [Wed, 9 Mar 2011 19:12:45 +0000 (19:12 +0000)]
Draw pre-cataloged items (author and title) in My Account checkedout screen
Two problems: FETCH_MODS_FROM_COPY returns an object, so we weren't
getting to the point of fetching the raw copy itself, and there was
some confusion about pre-cataloged vs. non-cataloged items that is
hopefully straightened out now.
dbs [Tue, 8 Mar 2011 21:42:29 +0000 (21:42 +0000)]
Be more defensive when parsing SFX target results
SFX in the wild has been observed returning targets for getFullTxt
requests that have no target URLs, which makes it rather impossible
to provide a link to the full text resource. Skip such targets (and
for good measure, skip them if they don't have a name either).
Also, change from the SID "conifer" to the more generic and accurate
"evergreen".