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
senator [Fri, 23 Apr 2010 20:53:11 +0000 (20:53 +0000)]
Acq: more work on the claiming UI. It begins to be workable, but still rough.
Definitely still have to fix at least these things:
Changes to lineitems' claim policies and initiation of claims against LIs
aren't reflected in realtime in the LI table. You still need a reload for
that so far.
The "Consider individual copies for claiming" needs to take you to the
speicific lineitems' claim copies dialog, not just to the PO in general.
senator [Wed, 21 Apr 2010 21:01:55 +0000 (21:01 +0000)]
Acq: added UI controls to attach a claim policy to one or many lineitems
Incidentally, two bugs were fixed:
1) Incorrect permacrud action entries in the IDL that stopped
open-ils.pcrud from generating methods for the jub and acqlih
classes.
2) A widely used acq subroutine, retrieve_lineitem_impl, incorrectly
cleared the purchase_order and picklist fields of its result if
fleshing for those fields was not specifically requested. The
correct behavior is to set those fields back to their integer
foreign key values. This was causing several subtle problems.
senator [Tue, 20 Apr 2010 20:20:32 +0000 (20:20 +0000)]
Acq: large parts of the UI for making claims to a vendor against lineitems
Large parts of this are done, but not yet all of them. Woof. If lineitems
are claim-ready (have an attached claim policy, which has claim event types
that have intervals that have passed since the items were ordered), and you
want to find them with no search criteria other than ordering agency, then
you can issue claims and print a very primitive voucher. Bits of niceness
are still to come, such as attaching policies, claiming from other LI table-
based interfaces, etc.
Implement the .prepare and .sql methods (except ignoring
bind variables).
M Open-ILS/src/c-apps/oils_qstore.c
A Open-ILS/src/c-apps/oils_buildq.c
A Open-ILS/src/c-apps/oils_storedq.c
A Open-ILS/src/c-apps/buildSQL.c
M Open-ILS/src/c-apps/Makefile.am
Rework constants for audio to be more dynamic. We can now specify a specific sound for every event that goes through network.js, however, in Windows sounds get cut off by subsequent sounds, so currently, if you wanted to hear the Red Alert example for AUDIO_event_ASSET_COPY_NOT_FOUND, you'd have to undefine or nullify or empty-string AUDIO_circ_bad.
Look for and evaluate /xul/server/skin/custom.js if it exists. Mainly for overriding parts of constants.js with local customizations
We'll do this with all remote interfaces (via util_overlay.xul) and with the main chrome menu/window and the chrome opac browser
Add a new service, open-ils.qstore. It is not yet useful except for testing
connectivity, because the methods are stubbed out. It will require changes to
opensrf.core before a client can access it.
A Open-ILS/src/c-apps/oils_qstore.c
M Open-ILS/src/c-apps/Makefile.am
Forward-port self-serve password reset implementation from rel_1_6
TODO: Add support for craftsman
TODO: Add barcode + email input option
TODO: Document how it works
Prevent possible character corruption or fatal errors in SRU / Z39.50
All MARC records in the Evergreen database are Unicode-encoded. However,
if the LDR09 hasn't been updated to indicate this, when we invoke
MARC::File::XML->as_xml_record it automatically runs a MARC8-to-UTF8 conversion
over the data - potentially corrupting the data, or resulting in fatal
errors. When holdings are added to records in SRU / Z39.50, we invoke
this code path.
The solution here is to simply manually set the leader 09 position to 'a'
before invoking MARC::File::XML->as_xml_record.
* tweak wording for ui.circ.suppress_checkin_popups setting so that it sorts better
* suppressing alerts/dialogs based on setting
* auto_override_these_events option for util.network
* use auto_override_these_events during checkin based on setting
org unit setting for suppressing alerts/popups during checkin--will indicate these events some other way if true. Commiting now so as to not tie up upgrade_log
Rework clear_hold_shelf process so that it looks for eligible holds for the cleared copies after the transaction updating the existing holds and copies has committed. Also fixed the copy_status test so that Available works as a value for circ.holds.clear_shelf.copy_status
senator [Tue, 13 Apr 2010 20:17:55 +0000 (20:17 +0000)]
Acq: add search-by-file-of-terms to unified search
This feature was present in the now deprecated lineitem search interface.
It works, but it is severely limited at the moment in the number of search
terms you can use, because search queries are made into URIs before the
search actually happens (in order to make backing up to old search results
possible), and at a certain point, very large URIs become infeasible.
Some adjustments to how search history is made naviagable may be in order.
tweaks to <help> widget to support non-chrome help content with chrome <help> widgets, and wiring it up into a generic Help button for embedded browser based interfaces
Reworking the <help> widget to add more hooks for localized/custom content, and a @pathname attribute for overriding the location.pathname value used to derive URL's for content.
Current behavior:
This widget will try to load help content from various static and dynamic URL's, stopping at the
first one that it finds. Given an example location.href of '/xul/server/patron/display.xul' and
a @src of 'foo.html', it will check these URL's in this order:
dijits that are marked as 'required' will show render with the invalid dijit styling when no data is present during page render. The previous behavior was to only style the invalid widgets after the user had focused the widget and left invalid data in the widget. this way users can see at page load if a field is required
XBL for a <help> widget. It will try to load help content from various static and dynamic URL's, stopping
at the first one that it finds. If for example, I were to add this to /xul/server/patron/display.xul:
<help id="bar" src="foo.html" />
We would get a "Help" button that if clicked would then it would test these locations:
foo.html (if @foo not set, then custom_help.html)
/xul/server/patron/display.xul.help.html
/xul/server/patron/help.html
/xul/server/help.html
/xul/help.html
/help.html
and since @id is defined, it would also tack on ?id=bar (for log tracking and/or dynamic use by the content).
It will open the location in a non-modal pop-up window. Navigation buttons not included.
MAYBE TODO:
Add an @anchor for dynamically appending a hash component to each URL tested.
Implement a browser with Back/Forward/Search/Index functionality.
Turn "next page" / "previous page" symbols into entities
Makes it easier for sites to customize this aspect of the look and feel of their skins if they support multiple languages.
This patch adds additional calls to escape_xml to handle cases where patron or library data could contain ampersand or other characters that need to be converted to entities. Issue discovered by Bibliomation; patch includes contributions by Ben Ostrowsky.
move a couple of heavily hit calls from open-ils.storage to open-ils.cstore. removed now-unnecessary xact begin/rollback (handled w/ authoritative via CStoreEditor)