erickson [Fri, 7 May 2010 19:04:56 +0000 (19:04 +0000)]
use direct circ search instead of what-may-be-one-day-deprecated open-ils.cstore.direct.action.open_circulation.search view API call in circ fetching utility function
erickson [Fri, 7 May 2010 18:53:45 +0000 (18:53 +0000)]
patch from James Fournie to repair some faulty assumptions in the previous legacy script SIP fix; additionally, I added legacy_script_support override option to oils_sip.xml.exmple to allow use of in-db circ-mod configs even if the circ code is still using circ scritps
senator [Fri, 7 May 2010 15:27:22 +0000 (15:27 +0000)]
Acq: bugfixes, improvements to lineitem + bib search
identify bib-results with a book icon to distinguish them from li
results; git rid of an alert() when canceling from a file upload dialog;
fix a sneaky bug that removed other match-type options once the user selecte
the "term from a file" option
phasefx [Thu, 6 May 2010 22:14:06 +0000 (22:14 +0000)]
rough cut at reporting extension for a purchase alert list (based on holds to copy ratio). mulling over the notion of using action.hold_copy_map for counting copies... exceptions abound however we do it as far as accuracy goes
scottmk [Thu, 6 May 2010 16:00:37 +0000 (16:00 +0000)]
1. Add a boolean "negate" column to query.expression.
2. Remove the valid values 'xnbet' (for NOT BETWEEN), 'xnex' (for
NOT EXIST) and 'xnin' (for NOT IN) for the column query.expression.type.
We will represent those types with 'xbet', 'xnex', and 'xin',
respectively, combined with negate = TRUE.
3. Eliminate the updatable views defined for the valid values
removed above.
M Open-ILS/src/sql/Pg/002.schema.config.sql
M Open-ILS/src/sql/Pg/008.schema.query.sql
A Open-ILS/src/sql/Pg/upgrade/0252.schema.query-negation.sql
M Open-ILS/examples/fm_IDL.xml
erickson [Tue, 4 May 2010 15:13:42 +0000 (15:13 +0000)]
user_transaction_history methods
Overhauled method registration for efficiency, extensibility and completeness.
There are two types of user_transaction_history SRF methods being declared:
authoritative and non-authoritative. Each method also has an "ids" variant,
but the args are the same for all 12.
Signed-off-by: Joe Atzberger <atz@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16385 dcc99617-32d9-48b4-a31d-7c20da2025e4
senator [Mon, 3 May 2010 18:05:27 +0000 (18:05 +0000)]
Acq: users can now claim individual copies from the LI copy table
Also included, small bugfix to unified search (bug had caused atomic version
of the API call to include an extra, undesired result), and an improvement
to the decision to show or not show the "mark received" link on the LI copy
table.
Also made using the claiming dialog update the LI table to reflect the new
claims / changes in eligibility.
erickson [Mon, 3 May 2010 15:34:49 +0000 (15:34 +0000)]
fixed bug where updating the email address resulted in updating the username instead of the email address on the local copy of the user object in the opac. this bug likely affected nothing.
miker [Mon, 3 May 2010 01:01:29 +0000 (01:01 +0000)]
sub-object limiting (think: holdings); query limit/offset; new "templated" mode using opac/template-value elements and dojo.string.substitute; org depth support in constructed tag URIs
scottmk [Sat, 1 May 2010 18:11:47 +0000 (18:11 +0000)]
Moved the datatype lookups from the drones to the listener process.
The cstore, rstore, and pcrud servers do dummy SELECT queries of all
the non-virtual classes in the IDL, in order to get datatypes for all
the non-virtual fields.
These lookups are time-consuming. On my laptop they may take several
seconds. On a system with various components running on separate
boxes, they may take longer due to the additional network latency.
Formerly these lookups were done by each drone process when it
initialized itself, resulting in an occasional hiccup of additional
response latency whenever the listener spawned another drone.
Now the parent process does the lookup once, before it spawns any
drones. The drones inherit the resulting datatypes via the normal
fork operation, and never have to look up the datatypes themselves.
In order for this new arrangement to work, the oilsExtendIDL function
(which does the lookups) needs to receive a database connection as a
parameter, since the parent's connection is different from those of
the drones.
M Open-ILS/include/openils/oils_sql.h
M Open-ILS/src/c-apps/oils_pcrud.c
M Open-ILS/src/c-apps/oils_rstore.c
M Open-ILS/src/c-apps/oils_sql.c
M Open-ILS/src/c-apps/oils_cstore.c
phasefx [Sat, 1 May 2010 09:57:46 +0000 (09:57 +0000)]
Org unit settings gui.disable_local_save_columns and url.remote_column_settings. Respectively, these allow us to prevent the local saving and use of column settings, and allows us to specify column settings remotely. If local settings are allowed and remote settings are also configured, then local settings will trump remote settings. Currently these only work with xul lists, not dojo. There is no UI for saving settings remotely; for now the notion is that an admin sets columns up locally, and then transfers the setting files to the remote server.
phasefx [Sat, 1 May 2010 08:33:51 +0000 (08:33 +0000)]
Dedicated interface for circ.staff_client.do_not_auto_attempt_print org unit setting (given that the generic one does not handle settings of type array very well--particularly enumeration of allowed array values)
phasefx [Sat, 1 May 2010 08:33:50 +0000 (08:33 +0000)]
make the Javascript Shell environment more closely resemble that of the xul interfaces (JSAN loaded, utility functions and constants loaded, and network and error objects pre-configured)
senator [Fri, 30 Apr 2010 21:17:57 +0000 (21:17 +0000)]
Acq: Towards a working lineitems + bibs search, but still not really there
At least these things still need done:
1) Need to find out how to combine search terms correctly for the
open-ils.search multiclass method.
2) Need either to find out how to negate multiclass search terms or
to disable not- based searching for lineitem+bib
3) Need to make uploaded file-of-terms work.
added support for update the fund on an LID after the debits have been created. added a .dry_run version of open-ils.acq.lineitem_detail.cud.batch[.dry_run] to allow the caller to check the fund warning percents
Added global_flag and support for using the internal record
identifier as the tcn_value for newly imported records
TODO: add support to vandelay stored import procedures
1. When a class name is available instead of a table/view name,
look up the class in the IDL to get a table name, view name, or
(in parentheses) a source definition in the form of a subquery.
2. Rename buildQuery() to build_Query() in order to avoid a
name collision.
Subsequent EDI patch from Joe Atzberger. In this installmanent, EDI really does some stuff. Also included are a number of test scripts and some mild code cleanup
1. Renamed function getRelation to oilsGetRelation.
2. Made oilsGetRelation() globally scoped so that qstore
can call it.
3. Renamed its formal parameter from "class" to "classdef",
since "class" is a reserved word in C++. That can create
problems if the header file is #included in a C++ program.
4. Added a doxygen-style comment along the way.
M Open-ILS/include/openils/oils_sql.h
M Open-ILS/src/c-apps/oils_sql.c
Return of the top-level Help menu, with a context sensitive For Active Tab menu entry.
So now every interface has a help option, though more work can still be done for interfaces containing sub-interfaces (I've reworked the OPAC wrapper here, but Patron Display / Patron Search could still use some love).
We'll also want to give thought to adding Help widgets to any popup dialogs.
added pcrud entries for po_items, repaired pcrud entries for po notes
added logic to create invoice_item's from po_item's.
added po_item fund debit creation on po activation
added po_items to po money summary
added support for handling po_item debits during invoiceing.
showing po_item estimated cost summary data in invoice table
Add a po_item column, pointing to acq.po_item, to acq.invoice_item.
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/0243.schema.acq-inv-item-po-item.sql
M Open-ILS/examples/fm_IDL.xml
1. Implement a messages method to return a list of previously
generated error messages.
2. Comment out some code that looked up datatype for all the
non-virtual fields in the IDL. This time-consuming step serves
no purpose in qstore, and likely never will.
Loosened some restrictions on invoicing. It is now possible to invoice
items that have not yet been received. It is also possible to invoice
for cancelled items, assuming the debit for the cancelled item remains.
Add a row for delivered_but_lost, with keep_debits = TRUE.
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/0242.schema.acq-cancel-reason-keep-debits.sql
M Open-ILS/src/sql/Pg/950.data.seed-values.sql
M Open-ILS/examples/fm_IDL.xml
Bring the password reset interface to the Craftsman skin
Along the way, we make the placement slightly less hard-coded so that we
can better support custom skins that might not match default - although
we're still assuming that the login box will be a table with a tbody, you
can use the config.ids.login.tbody variable to point at the ID you care
about for your skin.
Clean up after ourselves by clearing the values of the barcode / username
text fields if the user hits Cancel or submits a request that was handled
by the backend service.
Added support to invoice page for adding extra copies to an invoice than
were ordered. The process creates new lineitem details and fund debits
to accommodate the new copies.
Fixed some typos
TODO: update the li summary blob to treat the li title/author as a link
to the details page for the lineitem
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/0241.schema.acq-po-item.sql
M Open-ILS/examples/fm_IDL.xml
replace lingering date substring kludges with util.date/dojo.locale. In some places (like due dates) I'm letting the whole timestamp show where before we were showing just the date
IDL:
added pcrud <retrieve> entry for acq selection list.
added selector columns to PL and PO.
removed now-virtual item_count column from acq.acq_lineitem_history
repaired faulty pcrud actions stanza for acq po
AutoGrid
added a readOnly edit mode to AutoGrid. this will allow users to pop up the edit dialog for copy/paste, since it is not (currently) possible to copy values directly from a dojo grid
new UIs
added a lineitem history ui which shows the audit values from a given lineitem
added a po history ui which shows the audit values from a given po
* show most recent and previous circ chains in item details history tab, with patron retrieval buttons
* accesskeys for the Item Details tab box
* fix: don't render 'undefined'
chicanery to let us pass the queue from one sound object to another (where for example, the timer for the first object may be blocked by the modalness of the window for the second object. This ensures that sounds queued up prior to a fancy prompt popup will play during the popup and not after
don't let util.error create sound objects (trying to reduce proliferation of such objects for easier debugging), and give fancy_prompt the ability to handle its own sounds, to prevent blocking of sounds due to the modal window dialog. Have util.error and util.network make fancy_prompt do this
create a sound timer/queue in menu_frame that gets inherited by child interfaces, and don't let it grab the one from data.xul
if we try to share xulG._sound from window 1 with window 2, and window 1 is destroyed, the sound object no longer works correctly (it loses reference to the 'urls' variable and cannot find the sounds to play). May try a common sound file from data.xul later. As it is now, sound behavior between window 1 and window 2 is slightly different with fancy prompt on my workstation. In window 2, a sound queued before fancy prompt starts to play before the popup and then gets clipped. In window 1, the fancy prompt sound obj takes over the queue and plays the sound without clipping
smoother destruction of exec.timer. We can now invoke exec.timer multiple times for a given util.exec instance, if for example, we want to regulate the frequency at which it shifts functions off the queue. Plus optional debug info