scottmk [Thu, 18 Mar 2010 20:12:40 +0000 (20:12 +0000)]
Performance tweak to oilsAuthComplete().
Formerly, if authenticating a barcode rather tnan a user name, we would
look up the same barcode twice in actor.card: first to get the user id
for a lookup in actor.usr, and again to determine whether the card was
active. Now we use a single lookup for both purposes. In other respects
the validation logic is unchanged.
The oilsAuthCheckCard() function, which performed the second lookup, has
been eliminated.
The oilsUtilsFetchUserByBarcode() function, in oils_utils.c, is no
longer called from anywhere and may be eliminated.
Also added a doxygen-style comment block to document oilsUtilsFetchUserByBarcode(),
and tweaked few comments in the body of the function.
erickson [Thu, 18 Mar 2010 00:04:07 +0000 (00:04 +0000)]
added option to import records by record list in addition to queue-level imports; eval doesn't like being exited via 'last', rearranged sysread loop to accommodate; changed merge param to merge-profile
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