miker [Fri, 29 Jan 2010 20:36:26 +0000 (20:36 +0000)]
this papers over the transitional differences in XML and XSLT support in postgres from version 8.2 through 8.4. For 8.2, we depend completely on contrib/xml2; for 8.3, we only use contrib/xml2 for the xslt_process function; and finally, for 8.4 we remove contrib/xml2 as a requirement altogether, as it is mostly broken in 8.4
scottmk [Fri, 29 Jan 2010 19:46:40 +0000 (19:46 +0000)]
Add machinery for attributing debits to funding source credits,
and thereby to funding sources.
1. New table, acq.debit_attribution.
2. Create three new types, to be used internally by:
3. New function acq.attribute_debits().
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0143.schema.debit_attribution.sql
M Open-ILS/examples/fm_IDL.xml
erickson [Thu, 28 Jan 2010 15:43:31 +0000 (15:43 +0000)]
don't assume a null org unit value should default to the users workstation org unit. that's misleading. created a new flag to force this assumption. when not set, the value remains null
erickson [Thu, 28 Jan 2010 15:22:13 +0000 (15:22 +0000)]
when getDisplayString() is called without ever having built a true widget, the code needs to be prepared to deal with raw values. in this case, 't' and 'f' are valid values for bool fields
erickson [Thu, 28 Jan 2010 15:13:28 +0000 (15:13 +0000)]
do not promote a number widget's value to '0' when the value is null/isNaN. that's equivalent to assuming the value is 37. if the value needs to be zero, make it so, otherwise assume non-numeric values should translate to null. will backport after checking for code that functions based on this assumption
scottmk [Thu, 28 Jan 2010 14:06:23 +0000 (14:06 +0000)]
Oops: need to coalesce before summing, not after.
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0142.schema.acq.fund_debit_total_view.sql
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0141.schema.acq.fund_debit_total_view.sql
scottmk [Tue, 26 Jan 2010 21:40:32 +0000 (21:40 +0000)]
Add history tables, in the acq schema, for acq.purchase_order
and acq.lineitem.
See KCLS tickets 4304 and 2172.
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0140.schema.acq-audit-funcs.sql
A Open-ILS/src/sql/Pg/201.acq.audit-functions.sql
M Open-ILS/examples/fm_IDL.xml
phasefx [Mon, 25 Jan 2010 21:08:05 +0000 (21:08 +0000)]
open-ils.search.biblio.isbn_list [ isbn1, isbn2, ... ]. This is making multiple calls to storage; we may want to implement it with one SQL query. May also want to rename the method from .isbn_list to .isbn.batch
erickson [Mon, 25 Jan 2010 18:00:02 +0000 (18:00 +0000)]
Patch from Joe Atzberger to address a number of small issues, including better repo update handling and flexibility enhancements for better staff client bundles
phasefx [Mon, 25 Jan 2010 17:22:54 +0000 (17:22 +0000)]
I noticed in xulrunner 1.9.2rc1 that menu labels in menubar widgets were being rendered as if they were disabled. This coming from a theme change in Firefox 3.5 that is looking for an @active in window for styling menus. I don't know if this is the correct way to
"activate" our windows, but seems to work.
miker [Fri, 22 Jan 2010 20:28:28 +0000 (20:28 +0000)]
forward-porting r15367: correct billing timestamp and count calculation issues introduced by 1.6.0.0 "push day-granular circs to end of calendar day" trigger
erickson [Thu, 21 Jan 2010 17:58:44 +0000 (17:58 +0000)]
Patch from Joe Atzberger that does several things:
1. Iniatial API calls for managing EDI documents at the server. EDI file fetching script to come soon.
2. Creates OpenILS::Utils::Cronscript and Lockfile modules to share and abstract the common setup tasks for Evergreen cron jobs
3. Creates a OpenILS::Utils::RemoteAccount module for managing access to remote services via ftp/scp. This is mostly taken from the SendFile reactor
4. Updates sendfile to use remoteaccount
miker [Thu, 21 Jan 2010 16:43:04 +0000 (16:43 +0000)]
Patch from Dan Wells to address a thinko in the use of the queue ownership field for a Vandelay queue:
I have been doing a lot of experimenting with Vandelay the last few weeks and have traced many of my failures to one distinct bug. I finally noticed yesterday why Item Import worked for the 'admin' user but for nobody else. It turns out there is a bug in one of the database functions where it treats the queue 'owner' column as an org_unit ID when in fact it is a usr id. Of course since 'admin' is ID 1 out of the box and there is an org_unit 1 as well, this bug is transparent to admin and easy to miss.
Well, I started by making a few changes to the function to address this, but soon realized that what we really wanted to do was base the import on the Import Def chosen by the user when the records are loaded, and it would be ideal if the Import Def was somehow associated with the queue at the time of import. I started poking around in the schema, and lo and behold, the vandelay.bib_queue table already had an 'item_attr_def' linking column for this very purpose which was going unused!
So, the attached patch finally puts this column to use by doing the following:
1) Edits the create_bib_queue() sub in Vandelay.pm to accept the item import attribute definition ID as an argument and save it appropriately.
2) Edits the vandelay.js interface file to accept and send the import definition ID to create_bib_queue() when creating a queue.
3) Edits fm_IDL.xml to add the 'item_attr_def' field (and fix a small labeling error).
4) Edits 012.schema.vandelay.sql to replace the buggy function that started all this with a now simpler, working version. The change is actually smaller than it looks due removing one nested loop and the resulting indentation change.
=============================================
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: Daniel B. Wells
=============================================
dbs [Thu, 21 Jan 2010 02:18:40 +0000 (02:18 +0000)]
Add the schema upgrade corresponding to r15351 in-db ingest encoding fixes
Ensure MARC::File::XML treats the content as UTF-8; then follow
recommended practice of explicitly decoding the UTF-8 string to a
bytes string before operating on it, then encoding it back to UTF8
when it's returned.
'Québec' now gets naco-normalized to 'quebec' as one would expect. YAY!
dbs [Wed, 20 Jan 2010 23:15:10 +0000 (23:15 +0000)]
Correct Unicode handling for in-db ingest
Ensure MARC::File::XML treats the content as UTF-8; then follow
recommended practice of explicitly decoding the UTF-8 string to a
bytes string before operating on it, then encoding it back to UTF8
when it's returned.
'Québec' now gets naco-normalized to 'quebec' as one would expect. YAY!
erickson [Wed, 20 Jan 2010 15:27:33 +0000 (15:27 +0000)]
update circ xact_finish value after all billing for the transactions have been assessed. In particular, after lost item handling. Thanks to Dan Wells for identifying the bug
dbs [Tue, 19 Jan 2010 03:14:06 +0000 (03:14 +0000)]
Give sites the ability to easily display due dates and times in the OPAC under "copy details"
We add two new variables to copy_details.js:
* showDueDate - this needs to be set to a non-false value to display the
due date in the OPAC
* showDueTime - this needs to be set to a non-false value to display the
due time in the OPAC, along with the due date. If showDueDate is false,
then the value of this variable is ignored.
erickson [Fri, 15 Jan 2010 21:06:00 +0000 (21:06 +0000)]
Patch from Dan Wells to make the results returned when using in-db circ look more like those of the legacy circ scripts. For more details plus DCO, see http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-January/005703.html
scottmk [Fri, 15 Jan 2010 16:10:49 +0000 (16:10 +0000)]
In acq.fund_transfer: make the dest_fund and dest_amount columns nullable.
That way they can accommodate deallocations, where we move money out of a
fund without moving it into another fund.
erickson [Fri, 15 Jan 2010 15:57:49 +0000 (15:57 +0000)]
Patch from Joe Atzberger, with some IDL additions, to add a new generic remote_account table for managing ftp/scp/etc logins and a subclass table specific to ACQ providers, initially for EDI retrieval and delivery.
dbs [Thu, 14 Jan 2010 04:54:48 +0000 (04:54 +0000)]
Move the decode_utf8() call for various feeds to entityize()
decode_utf8() is special in that it won't transform any string once
its 'utf8' flag has been set, so it is a safe subroutine to call
multiple times for a given string.
As it turns out, SRU (and in turn Z39.50) is suffering from a double-encoding
of the search terms, so we have to forcefully double-decode the terms with
the decode('utf8') variation that does not respect the 'utf8' string.
This will enable Z39.50 and SRU queries to actually return results for
queries like 'Montréal' and 'Québec'. Eventually we need to figure out
where in the SRU/CGI stack the strings are being incorrectly encoded in
the first place, but for now a much-improved Z39.50 server seems acceptable.
dbs [Thu, 14 Jan 2010 03:21:25 +0000 (03:21 +0000)]
Factor out the aou-fetching code into a useful subroutine, get_ou($org)
Then use get_ou to make the bookbag_feed and changes_feed marginally smarter,
so that you can now pass ?searchOrg=BR1 or ?searchOrg=4 to limit the holdings
display scope.
Useful stuff if you're plodding along with bookbags-as-reserves in a
consortial environment.
phasefx [Wed, 13 Jan 2010 20:25:51 +0000 (20:25 +0000)]
This adds the ability to specify courier codes in transit and hold/transit slip templates via a %courier_code% macro and a lib.courier_code org unit setting.
So if an item at library BR1 is to be routed to library BR2, the org unit setting for BR2 is retrieved and that value is used for %courier_code%.
POSSIBLE TODO: Add simple interface-scoped caching for the courier code lookup (and perhaps for the mailing address lookup as well)
dbs [Mon, 11 Jan 2010 19:17:05 +0000 (19:17 +0000)]
Get consistent about "title : subtitle" in mods_slim
By teaching get_field_value() to prepend " : " to our incoming value
if the element name is "subTitle", we can ensure that records with a
title / subtitle structure have a consistent structure. Academics love
subtitles, so this was pretty glaring at Conifer.
This has a bonus effect of not appending colons after leading articles
(nonSort elements), which was annoying for "Der schutz" and the like.
Academics have a number of non-English / non-French / non-Spanish titles;
the MODS transform honours the non-filing indicator so this is a more
consistent method of generating the appropriate result.
scottmk [Mon, 11 Jan 2010 16:55:39 +0000 (16:55 +0000)]
Add a boolean "propagate" column to acq.fund, to denote whether
the fund should be propagated from one year to the next.
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0132.schema.acq.fund-propagable.sql
M Open-ILS/examples/fm_IDL.xml
dbs [Mon, 11 Jan 2010 00:39:25 +0000 (00:39 +0000)]
Remove serial ingest references and services
The references and services for serial (MFHD) support are not
necessary in 1.6, as we are working directly with the MFHD as
maintained in serial.record_entry.marc; the services and
references being removed never could have been used in the
1.6.0.0 release and should have been removed prior to the 1.6.0.0
release when I removed the corresponding database structures.
Also updating the README to reflect the proper loading method for
serial records, dropping direct_ingest.pl invocation and noting the
limitation on the org_unit identification.
miker [Fri, 8 Jan 2010 21:13:56 +0000 (21:13 +0000)]
Patch from Lebbeous Fogle-Weekley adding non-menu entry points for critical reservation (booking) interfaces (side-step a new staff client, for now), patron interface integration, and I18n
miker [Fri, 8 Jan 2010 16:15:47 +0000 (16:15 +0000)]
Patch from Lebbeous Fogle-Weekley implementing pickup and return interfaces for booking reservations ... WE ARE SO CLOSE I CAN TASTE IT. Minor reworking of Circulate.pm changes.
phasefx [Thu, 7 Jan 2010 21:17:03 +0000 (21:17 +0000)]
Bucket related enhancements:
* Add to Record Bucket action for Item Status interface
* Authoritative methods in bucket interfaces immune to database replication lag
* Removed a CGI param for better caching of the quick Add to Record Bucket interface
* Added a cat.util.add_titles_to_bucket utility method (but forgot to put it into cat.util.EXPORT_OK, though harmless)
phasefx [Thu, 7 Jan 2010 16:14:25 +0000 (16:14 +0000)]
This fixes the checkbox selector in Vandelay's Inspect Queue interface, so you can, for example, check a specific record in the queue and do Actions ->
Import Selected without the progressmeter hanging with a dojo.byId() is null error. The formatter for the checkbox column in the table gets called
multiple times for a given row, and the first time it gets called it's using an id of null. Subsequent calls with a real id replace the HTML generated.
dbs [Tue, 5 Jan 2010 19:07:54 +0000 (19:07 +0000)]
Enable the SIP server to speak UTF8 or ASCII, defaulting to ASCII
Some SIP clients have implemented UTF8 support, and it is desirable to
avoid mangling non-ASCII characters when possible, so a new <encoding>
option in the SIPServer config file enables sites to specify an
alternate encoding (such as "utf8"). The example oils_sip.xml file
will continue to default to ASCII, and if no <encoding> option is
supplied in the config file, ASCII will be the default.
In addition, this patch improves the ASCII option by applying the
ASCII mangling to all text fields, as well as ensuring that the
incoming data is in Normalization Form D mode to make the mangling
work cleanly.
Other encodings such as iso-8859-1 can be specified, but to properly
handle other encodings a transliteration phase would have to be added
to the OpenILS::SIP::clean_text()...
scottmk [Mon, 4 Jan 2010 16:51:18 +0000 (16:51 +0000)]
Add a new column funding_source_credit to the acq.fund_transfer table.
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0129.schema.fund-transfer-credit.sql
M Open-ILS/examples/fm_IDL.xml
phasefx [Wed, 30 Dec 2009 15:24:33 +0000 (15:24 +0000)]
some CSS and styling tweaks for some information under the navigation buttons in the patron display, and a cosmetic bug fix in the billing interface for patrons with no bills
phasefx [Tue, 29 Dec 2009 16:28:44 +0000 (16:28 +0000)]
Replace ui.circ_and_cat.notes.require_initials and ui.circ.standing_penalty.require_initials org unit settings with a single ui.staff.require_initials setting.
For those running trunk, re-run Open-ILS/src/sql/Pg/upgrade/0117.data.org-setting-notes-require-initials.sql
Also,
DELETE FROM actor.org_unit_setting WHERE name IN ( 'ui.circ_and_cat.notes.require_initials', 'ui.circ.standing_penalty.require_initials' );
DELETE FROM config.org_unit_setting_type WHERE name IN ( 'ui.circ_and_cat.notes.require_initials', 'ui.circ.standing_penalty.require_initials' );