From c8d78de1701305e423b728f4543b1afc13901c5c Mon Sep 17 00:00:00 2001 From: dbs Date: Fri, 22 May 2009 14:42:33 +0000 Subject: [PATCH] Rough working MFHD editor To do: * Support internationalization * Open the MARC editor in a tab instead of a pop-up window git-svn-id: svn://svn.open-ils.org/ILS/trunk@13217 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/examples/fm_IDL.xml | 12 ++++++++-- Open-ILS/web/opac/skin/default/js/rdetail.js | 35 +++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 6330cda88b..ad8f2b2986 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -2285,7 +2285,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - + @@ -2304,8 +2304,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + + + + + + + - + diff --git a/Open-ILS/web/opac/skin/default/js/rdetail.js b/Open-ILS/web/opac/skin/default/js/rdetail.js index 7f27b232bd..971bdb174a 100644 --- a/Open-ILS/web/opac/skin/default/js/rdetail.js +++ b/Open-ILS/web/opac/skin/default/js/rdetail.js @@ -180,6 +180,34 @@ function rdetailShowAllCopies() { hideMe(G.ui.rdetail.cp_info_none); } +function OpenMarcEditWindow(pcrud, rec) { + /* + To run in Firefox directly, must set signed.applets.codebase_principal_support + to true in about:config + */ + netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); + win = window.open('/xul/server/cat/marcedit.xul'); // XXX version? + dojo.require('openils.PermaCrud'); + + win.xulG = { + record : {marc : rec.marc()}, + save : { + label: 'Save', + func: function(xmlString) { + rec.marc(xmlString); + rec.ischanged(true); + pcrud.update(rec); + }, + } + }; +} + +function loadMarcEditor(recId) { + var pcrud = new openils.PermaCrud({"authtoken": G.user.session}); + var recs = pcrud.search("sre", {"record": recId}); + OpenMarcEditWindow(pcrud, recs[0]); +} + /* * This function could be written much more intelligently * Limited brain power means that I'm brute-forcing it for now @@ -205,7 +233,7 @@ function _holdingsDraw(h) { return null; } - dojo.place("
Holdings summary
", "rdetail_details_table", "after"); + dojo.place("
Holdings summary
", "rdetail_details_table", "after"); if (hh.length > 0) { dojo.place(" Holdings" + hh + "", "rdetail_holdings_tbody", "last"); } @@ -233,6 +261,11 @@ function _holdingsDraw(h) { if (hinc.length > 0) { dojo.place(" Incomplete" + hinc + "", "rdetail_holdings_tbody", "last"); } + if (isXUL()) { + dojo.require('openils.Event'); + dojo.require('openils.PermaCrud'); + dojo.place(" - Edit", "mfhdHoldingsCaption", "last"); + } } function _rdetailDraw(r) { -- 2.11.0