From 0d1abfa2b97238eb72f89b96c185f82ca50c1698 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Tue, 4 Oct 2011 10:29:23 -0400 Subject: [PATCH] Modify copy browser to check for bib_source.can_have_copies. Add code to server/cat/copy_browser.js. Add error string to server/local/en-US/cat.properties. Signed-off-by: Jason Stephenson --- .../xul/staff_client/server/cat/copy_browser.js | 25 ++++++++++++++++++++++ .../server/locale/en-US/cat.properties | 1 + 2 files changed, 26 insertions(+) diff --git a/Open-ILS/xul/staff_client/server/cat/copy_browser.js b/Open-ILS/xul/staff_client/server/cat/copy_browser.js index d234f37ba3..d944f45ecf 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_browser.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_browser.js @@ -633,6 +633,31 @@ cat.copy_browser.prototype = { 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_VIA_ID.app, + api.FM_BRE_RETRIEVE_VIA_ID.method, + [ ses(), [obj.docid] ] + ); + bibObj = bibObj[0]; + 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; + } + + if (!can_have_copies) { + alert(document.getElementById('catStrings').getFormattedString('staff.cat.copy_browser.can_have_copies.false', [cbsObj.source()])); + return false; + } + var title = document.getElementById('catStrings').getString('staff.cat.copy_browser.add_volume.title'); var url; diff --git a/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties b/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties index 3e8b4119cf..f8ac40c0db 100644 --- a/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties +++ b/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties @@ -50,6 +50,7 @@ staff.cat.edit_volume.title=Volume staff.cat.edit_volume.title.plural=Volumes staff.cat.edit_volumes.override.confirm=Override volume re-labeling collision and merge the volumes? staff.cat.edit_volumes.label_exists.details=%1$s +staff.cat.copy_browser.can_have_copies.false=Records from %1$s cannot have copies. staff.cat.copy_browser.delete_volume.prompt=Are you sure you would like to delete this volume? staff.cat.copy_browser.delete_volume.prompt.plural=Are you sure you would like to delete these %1$s volumes? staff.cat.copy_browser.delete_volume.title=Delete Volumes? -- 2.11.0