erickson [Thu, 18 Mar 2010 00:04:02 +0000 (00:04 +0000)]
Make GetOpts::Long and Cronscript get along
So the old Cronscript approach was to have variables declared with
the default values assigned and pass a hash of keys => var_ref, where
the var_ref's pointed to the variables. This didn't work because of
Cronscript trying to build the clean hashes and incorporate structure
into the object.
So instead now we rely on the MyGetOptions return
value (hashref or hash), essentially the opts_clean hash. And we
populate the local variables afterwards. The default values are passed
in the hash now. This works.
scottmk [Wed, 17 Mar 2010 20:42:33 +0000 (20:42 +0000)]
Tweaked oilsAuthVerifyPassword(), mostly for clarity:
1. Addad a doxygen-style comment block to document it, plus several comments
in the body of the function.
2. A slight rearrangement: get the password from the user object after getting
the seed from memcache, instead of before. That way if the memcache call
fails we don't need to free the copy of the user object's password.
3. Moved the declaration of ret (the return code) closer to its first use.
4. Plugged a potential (albeit improbable) memory leak in the case of an
early exit.
Also: several minor tweaks to white space and comments elsewhere.
scottmk [Wed, 17 Mar 2010 13:29:31 +0000 (13:29 +0000)]
Add four tables in acq schema: claim, claim_type, claim_event, claim_event_type.
M Open-ILS/src/sql/Pg/999.functions.global.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/0198.schema.acq.claim.sql
M Open-ILS/examples/fm_IDL.xml
phasefx [Tue, 16 Mar 2010 20:03:51 +0000 (20:03 +0000)]
make batch renewal use synchronous calls again to better handle exceptions. The original push for synchronous calls here was for performance, so we may need to revisit
scottmk [Tue, 16 Mar 2010 15:54:43 +0000 (15:54 +0000)]
Added doxygen-style comments to several functions.
Also, in oilsAuthInit():
1. Moved the declarations of several variables closer to their first uses.
2. Instead of using va_list_to_string() to build a seed, exploit the fact that
md5sum() builds its input using printf-style formatting. This change eliminates
a malloc(), a free(), and two calls to vsprintf().
miker [Tue, 16 Mar 2010 14:16:52 +0000 (14:16 +0000)]
Patch from Galen Charlton: removes empty controlfield elements, which can be produced in a couple different ways during the ingest of slightly invalid MARC records
scottmk [Tue, 16 Mar 2010 01:14:16 +0000 (01:14 +0000)]
Support multiple languages in the lookup for event descriptions.
Capture the current locale, which reflects the message most
recently received, and confine the lookup to messages in that
language. If you don't find a description, and the language is
different from the default language (hard-coded as "en-US"),
try again with the default language.
senator [Mon, 15 Mar 2010 15:45:02 +0000 (15:45 +0000)]
Acq: for showing related lineitems, do the right thing w/ null bib rec
Also, flesh_cancel_reason employed in more of the cases where we're retrieving
lineitems to build an li_table, and li_table doesn't fail so hard when it
doesn't have a fleshed cancel_reason.
scottmk [Mon, 15 Mar 2010 01:54:50 +0000 (01:54 +0000)]
Tidied up whitespace; added comments; removed comments from the header
so that they won't override the new doxygen-style comments in the
implementation file.
M Open-ILS/include/openils/oils_event.h
M Open-ILS/src/c-apps/oils_event.c
erickson [Fri, 12 Mar 2010 20:37:55 +0000 (20:37 +0000)]
added a .stream_results version of the spooler that response with the imported queued record ID. using per-record auto and non-auto merge calls for bib merging. added support for a merge-on-1-match setting that will automatically overlay if exactly 1 match is found
scottmk [Thu, 11 Mar 2010 18:14:35 +0000 (18:14 +0000)]
1. Changed search_alias() to an inline function, since it's a trivial wrapper.
2. Minor rearrangements in doFieldmapperSearch(), for clarity:
- Moved the declaration of fields closer to its first use.
- Renamed x to flesh_depth.
- Added a sanity check to make sure that a <link> in the IDL has a reltype
attribute (otherwise we risk a segfault in subsequent lines).
- Combined the tests for "has_many" and "might_have" into a single test.
- Added or refined comments here and there.
3. For the functions that manage QueryFrames: converted the comment blocks at
the head of each function to the doxygen style.
scottmk [Thu, 11 Mar 2010 15:54:03 +0000 (15:54 +0000)]
Add boolean column prepayment_required to acq.purchase_order and
acq.acq_purchase_order_history.
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/0190.schema.acq.po-prepayment-required.sql
M Open-ILS/examples/fm_IDL.xml
scottmk [Thu, 11 Mar 2010 14:16:57 +0000 (14:16 +0000)]
Added boolean column vendor_public to acq.lineitem_note and acq.po_note.
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/0187.schema.acq.vendor-public.sql
M Open-ILS/examples/fm_IDL.xml
phasefx [Thu, 11 Mar 2010 09:53:32 +0000 (09:53 +0000)]
refactoring of Volume Editor invocations to use a utility function, make VOLUME_LABEL_EXISTS event overridable, provide an upfront checkbox for auto-merge functionality on volume collision, and some accesskeys and default textbox focus
scottmk [Wed, 10 Mar 2010 19:41:50 +0000 (19:41 +0000)]
1. Eliminate somed source_definitions from the IDL where there is already
an equivalent view. In the presence of a tablename attribute, the
source_definitions were being ignored anyway. This step applies to classes
aufhl, aufhml, and aufhil.
2. For class aufhmxl: the IDL had both a tablename and a source_definition,
but there was no table or view corresponding to the tablename.
I eliminated the source_definition and created the corresponding view
action.unfulfilled_hold_max_loop.
3. For class aufhol: the IDL had both a tablename and a source_definition,
but neither was valid. The tablename didn't exist in the database, and the
source_definition referenced the action.unfulfilled_hold_max_loop view, which
didn't exist. I removed the tablename attribute and left the source_definition
in place, which is now valid because in step 2 I created the missing view.
4. Unrelated: added 201.acq.audit-functions.sql to the list of installation
scripts to run in build-db.sh.
M Open-ILS/src/sql/Pg/090.schema.action.sql
M Open-ILS/src/sql/Pg/002.schema.config.sql
A Open-ILS/src/sql/Pg/upgrade/0185.schema.acq.aufhmxl-view.sql
M Open-ILS/src/sql/Pg/build-db.sh
M Open-ILS/examples/fm_IDL.xml
miker [Wed, 10 Mar 2010 19:20:30 +0000 (19:20 +0000)]
Reworking of a patch from Ben Ostrowsky: add an OILSProxyLoginOU Directory config option for apache to supply a pinned workstation OU for permission checking
erickson [Tue, 9 Mar 2010 20:24:14 +0000 (20:24 +0000)]
* Using lineitem estimated_unit_price to store the price instead of the lineitem attrs
* If necessary, perform the currency conversion exactly once, when the order is activated. Otherewise, assume the price is in the currency of the vendor.
* Create fund debits during PO activation instead of PO creation time.
* Cleared out a pile of deprecated code
* TODO: update JEDI template to pull price from the estimated_price_field
miker [Tue, 9 Mar 2010 18:55:13 +0000 (18:55 +0000)]
teach vandelay.strip_field() how to handle lists of complex field specs (ie: 100d,245c,650); add vandelay.add_field() which will transfer fields from an incoming record to an incumbent record; add vandelay.replace_field() and vandelay.preserve_field(), which are wrappers that use strip and add
scottmk [Tue, 9 Mar 2010 17:22:52 +0000 (17:22 +0000)]
1. Add estimated_unit_price column to acq.lineitem.
2. Bring acq.acq_lineitem_history and acq.acq_purchase_order_history
into sync with their respective source tables.
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/0183.schema.acq-cancel-reason-history.sql
M Open-ILS/examples/fm_IDL.xml
phasefx [Tue, 9 Mar 2010 17:05:16 +0000 (17:05 +0000)]
Ability to auto-generate barcodes in the Volume/Copy dialog. Takes the first barcode entered and generates subsequent barcodes using the typical library/codabar checkdigit algorithm if the barcodes are 13-14 digits, otherwise, just incrementing them without checkdigits.
erickson [Mon, 8 Mar 2010 21:29:50 +0000 (21:29 +0000)]
added auto_merge_vols option to open-ils.cat.asset.volume.fleshed.batch.update. when changing the label (or owner or bib) for a volume creates a collision against an existing volume, auto-merge (or override) will merge the contents of the edited volume into the existing volume
erickson [Mon, 8 Mar 2010 19:43:33 +0000 (19:43 +0000)]
added org util method to find the full path for an org unit, where the full path is all ancestors, the context org, and all children, as an ordered list of nodes or IDs.
dbs [Mon, 8 Mar 2010 19:25:53 +0000 (19:25 +0000)]
Make permissions for administering triggers more usable out of the box:
* Add CREATE/DELETE/UPDATE/VIEW variants to the generic ADMIN
* Add ADMIN/CREATE/DELETE/UPDATE trigger permissions to Local System Administrator group at System depth
* Add VIEW trigger permissions to Local System Administrator at Consortial depth to enable cloning
scottmk [Mon, 8 Mar 2010 15:53:07 +0000 (15:53 +0000)]
Add a cancel_reason column to acq.user_request, pointing to acq.cancel_reason.
Also: corrected the IDL entries for similar columns elsewhere. The <link>
should have a reltype of "might_have", not "has_a", since the column is nullable.
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/0181.schema.acq-user-request-cancel-cause.sql
M Open-ILS/examples/fm_IDL.xml