[open-ils-commits] r7756 -
trunk/Open-ILS/xul/staff_client/server/cat
svn at svn.open-ils.org
svn at svn.open-ils.org
Wed Sep 5 10:25:32 EDT 2007
Author: phasefx
Date: 2007-09-05 10:18:41 -0400 (Wed, 05 Sep 2007)
New Revision: 7756
Modified:
trunk/Open-ILS/xul/staff_client/server/cat/copy_editor.js
Log:
Disable the Owning Lib field in the item attribute editor if a pre-cataloged item is in the mix. Owning Lib isn't really a field on items, but on volumes, and is in the interface for convenience. The volume and record for a pre-cat is special, and we don't want to clone it by accident with this interface
Modified: trunk/Open-ILS/xul/staff_client/server/cat/copy_editor.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/copy_editor.js 2007-09-05 05:30:38 UTC (rev 7755)
+++ trunk/Open-ILS/xul/staff_client/server/cat/copy_editor.js 2007-09-05 14:18:41 UTC (rev 7756)
@@ -507,7 +507,24 @@
}
}
+/******************************************************************************************************/
+/* This returns true if none of the copies being edited are pre-cats */
+g.safe_to_change_owning_lib = function() {
+ try {
+ var safe = true;
+ for (var i = 0; i < g.copies.length; i++) {
+ var cn = g.copies[i].call_number();
+ if (typeof cn == 'object') { cn = cn.id(); }
+ if (cn == -1) { safe = false; }
+ }
+ return safe;
+ } catch(E) {
+ g.error.standard_unexpected_error_alert('safe_to_change_owning_lib?',E);
+ return false;
+ }
+}
+
/******************************************************************************************************/
/* This returns true if none of the copies being edited have a magical status found in my_constants.magical_statuses */
@@ -748,7 +765,7 @@
"Owning Lib : Call Number",
{
render: 'fm.call_number();',
- input: 'c = function(v){ g.apply_owning_lib(v); if (typeof post_c == "function") post_c(v); }; x = util.widgets.make_menulist( util.functional.map_list( g.data.list.aou, function(obj) { var sname = obj.shortname(); for (i = sname.length; i < 20; i++) sname += " "; return [ obj.name() ? sname + " " + obj.name() : obj.shortname(), obj.id(), ( ! get_bool( g.data.hash.aout[ obj.ou_type() ].can_have_vols() ) ), ( g.data.hash.aout[ obj.ou_type() ].depth() * 2), ]; }), g.data.list.au[0].ws_ou()); x.addEventListener("apply",function(f){ return function(ev) { f(ev.target.value); } }(c), false);',
+ input: g.safe_to_change_owning_lib() ? 'c = function(v){ g.apply_owning_lib(v); if (typeof post_c == "function") post_c(v); }; x = util.widgets.make_menulist( util.functional.map_list( g.data.list.aou, function(obj) { var sname = obj.shortname(); for (i = sname.length; i < 20; i++) sname += " "; return [ obj.name() ? sname + " " + obj.name() : obj.shortname(), obj.id(), ( ! get_bool( g.data.hash.aout[ obj.ou_type() ].can_have_vols() ) ), ( g.data.hash.aout[ obj.ou_type() ].depth() * 2), ]; }), g.data.list.au[0].ws_ou()); x.addEventListener("apply",function(f){ return function(ev) { f(ev.target.value); } }(c), false);' : undefined,
}
],
[
More information about the open-ils-commits
mailing list