From ec0c3558924ef0a51d9d64227c99957266e43f36 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Sat, 1 Oct 2011 12:02:16 -0400 Subject: [PATCH] Check for bib_source.can_have_copies in cataloging. Retrieve the BRE and CBS object in the add_volumes method of opac.js. Check if the CBS can have copies, and if not, tell the user such and return. Also required adding an api entry in constants.js and a new message in offline.properties. This is the beginning of the client code changes. There are very likely to be more. Signed-off-by: Jason Stephenson --- .../xul/staff_client/chrome/content/cat/opac.js | 29 ++++++++++++++++++++++ .../staff_client/chrome/content/main/constants.js | 1 + .../chrome/locale/en-US/offline.properties | 1 + 3 files changed, 31 insertions(+) diff --git a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js index 92d4dcc6ec..72969f50ad 100644 --- a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js +++ b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js @@ -906,6 +906,35 @@ function add_volumes() { return; // no read-only view for this interface } + var can_have_copies = true; + var cbsObj; + try { + var bibObj = g.network.request( + api.FM_BRE_RETRIEVE_BY_ID.app, + api.FM_BRE_RETRIEVE_BY_ID.method, + [docid] + ); + cbsObj = g.network.request( + api.FM_CBS_RETRIEVE_VIA_PCRUD.app, + api.FM_CBS_RETRIEVE_VIA_PCRUD.method, + [ + ses(), + bibObj.source() + ] + ); + can_have_copies = (cbsObj.can_have_copies() == get_db_true()); + } catch(E) { + g.error.sdump('D_ERROR','can have copies check: ' + E); + return; + } + + alert(js2JSON(cbsObj)); + + if (!can_have_copies) { + alert(document.getElementById('offlineStrings').getFormattedString('staff.cat.bib_source.can_have_copies.false', [cbs.source])); + return false; + } + var title = document.getElementById('offlineStrings').getFormattedString('staff.circ.copy_status.add_volumes.title', [docid]); var url; diff --git a/Open-ILS/xul/staff_client/chrome/content/main/constants.js b/Open-ILS/xul/staff_client/chrome/content/main/constants.js index 1de4e6c664..f7ecfe0f1f 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/constants.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/constants.js @@ -228,6 +228,7 @@ var api = { 'FM_BRE_DELETE' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record_entry.delete', 'secure' : false }, 'FM_BRE_UNDELETE' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record_entry.undelete', 'secure' : false }, 'FM_BRN_FROM_MARCXML' : { 'app' : 'open-ils.search', 'method' : 'open-ils.search.z3950.marcxml_to_brn', 'secure' : false }, + 'FM_CBS_RETRIEVE_VIA_PCRUD' : { 'app' : 'open-ils.pcrud', 'method' : 'open-ils.pcrud.retrieve.cbs' }, 'FM_CBT_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.billing_type.ranged.retrieve.all', 'secure' : false }, 'FM_CCS_RETRIEVE' : { 'app' : 'open-ils.search', 'method' : 'open-ils.search.config.copy_status.retrieve.all', 'secure' : false }, 'FM_CIRC_AGE_TO_LOST' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.circulation.age_to_lost' }, diff --git a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties index ca7eedf47a..eaef4909a4 100644 --- a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties +++ b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties @@ -280,6 +280,7 @@ staff.cat.opac.title_for_hold_transfer.failure.label=Holds not transferred. staff.cat.opac.related_items=Related Lineitems staff.cat.opac.serial_alt_mgmt=Subscriptions staff.cat.create_or_rebarcode_items=Create or Re-barcode Items +staff.cat.bib_source.can_have_copies.false=Records from %1$s cannot have copies. printing.nothing_to_reprint=Nothing to re-print printing.prompt_for_external_print_cmd=Enter external print command and parameters (use %receipt.txt% or %receipt.html% as the file containing the print data. Those values will be substituted with the proper path.): printing.print_strategy_saved=Print strategy (%1$s) for %2$s context saved to file system. -- 2.11.0