From fe22d7e1474135896283afd4a2711541aafe24ec Mon Sep 17 00:00:00 2001 From: miker Date: Thu, 10 Apr 2008 19:47:41 +0000 Subject: [PATCH] OrgUtils implemented as extentions to the fieldmapper dojo class git-svn-id: svn://svn.open-ils.org/ILS/branches/dojo-admin@9296 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/Makefile | 5 +++++ Open-ILS/src/extras/autogen.sh | 2 ++ Open-ILS/web/conify/global/permission/grp_tree.html | 2 -- Open-ILS/web/conify/global/permission/grp_tree.js | 1 + Open-ILS/web/conify/js/fieldmapper/Fieldmapper.js | 11 ++++++----- Open-ILS/web/conify/js/fieldmapper/OrgUtils.js | 17 ++++++++++++----- 6 files changed, 26 insertions(+), 12 deletions(-) diff --git a/Open-ILS/src/Makefile b/Open-ILS/src/Makefile index 0bd2c6c7cc..b732a61f75 100644 --- a/Open-ILS/src/Makefile +++ b/Open-ILS/src/Makefile @@ -69,9 +69,14 @@ webcore-install: mkdir -p $(ADMINDIR) cp -r ../admin/* $(ADMINDIR) mkdir -p $(WEBDIR) + mkdir -p $(WEBDIR)/js/ + mkdir -p $(WEBDIR)/js/opensrf mkdir -p $(WEBDIR)/opac/extras/xsl/ cp -r ../web/* $(WEBDIR) cp $(OPENSRF_LIBS)/javascript/* $(WEBDIR)/opac/common/js/ + # dojo-ified opensrf libs + cp $(OPENSRF_LIBS)/javascript/opensrf*js $(WEBDIR)/js/opensrf/ + cp $(OPENSRF_LIBS)/javascript/OpenSRF.js $(WEBDIR)/js/ ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/mresult.xml ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rresult.xml ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rdetail.xml diff --git a/Open-ILS/src/extras/autogen.sh b/Open-ILS/src/extras/autogen.sh index 8804b2b693..c403d9f46b 100755 --- a/Open-ILS/src/extras/autogen.sh +++ b/Open-ILS/src/extras/autogen.sh @@ -16,6 +16,7 @@ CONFIG="$1"; [ -z "$CONFIG" ] && echo "usage: $0 " && exit; JSDIR="/openils/var/web/opac/common/js/"; +FMDOJODIR="/openils/var/web/js/fieldmapper/"; SLIMPACDIR="/openils/var/web/opac/extras/slimpac/"; echo "Updating fieldmapper"; @@ -26,6 +27,7 @@ perl fieldmapper.pl "$CONFIG" "web_core" > "$JSDIR/fmcore.js"; echo "Updating OrgTree"; perl org_tree_js.pl "$CONFIG" > "$JSDIR/OrgTree.js"; +cp "$JSDIR/OrgTree.js" "$FMDOJODIR/" echo "Updating OrgTree HTML"; perl org_tree_html_options.pl "$CONFIG" "$SLIMPACDIR/lib_list.inc"; diff --git a/Open-ILS/web/conify/global/permission/grp_tree.html b/Open-ILS/web/conify/global/permission/grp_tree.html index 4e4e5d50f3..9241a73ef8 100644 --- a/Open-ILS/web/conify/global/permission/grp_tree.html +++ b/Open-ILS/web/conify/global/permission/grp_tree.html @@ -55,8 +55,6 @@ - - diff --git a/Open-ILS/web/conify/global/permission/grp_tree.js b/Open-ILS/web/conify/global/permission/grp_tree.js index 1a7b3f6b59..a40053a365 100644 --- a/Open-ILS/web/conify/global/permission/grp_tree.js +++ b/Open-ILS/web/conify/global/permission/grp_tree.js @@ -1,4 +1,5 @@ dojo.require('fieldmapper.dojoData'); +//dojo.require('fieldmapper.OrgUtils'); dojo.require('dojo.parser'); dojo.require('dojo.data.ItemFileWriteStore'); dojo.require('dojo.date.stamp'); diff --git a/Open-ILS/web/conify/js/fieldmapper/Fieldmapper.js b/Open-ILS/web/conify/js/fieldmapper/Fieldmapper.js index 53f5c99bfd..3f15169046 100644 --- a/Open-ILS/web/conify/js/fieldmapper/Fieldmapper.js +++ b/Open-ILS/web/conify/js/fieldmapper/Fieldmapper.js @@ -67,19 +67,20 @@ if(!dojo._hasResource["fieldmapper.Fieldmapper"]){ var result = null; var args = {}; - if (dojo.isObject(params)) { - args = params; + if (dojo.isArray(params)) { + args.params = params; } else { - if (dojo.isArray(params)) { - args.params = params; + if (dojo.isObject(params)) { + args = params; } else { args.params = arguments.splice(1, arguments.length - 1); } - args.timeout = 10; } + if (!args.timeout) args.timeout = 10; + if (!args.onerror) { args.error = function (r) { throw 'Error encountered! ' + r; diff --git a/Open-ILS/web/conify/js/fieldmapper/OrgUtils.js b/Open-ILS/web/conify/js/fieldmapper/OrgUtils.js index bc6f4ab951..8744b275a6 100644 --- a/Open-ILS/web/conify/js/fieldmapper/OrgUtils.js +++ b/Open-ILS/web/conify/js/fieldmapper/OrgUtils.js @@ -3,6 +3,7 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ dojo._hasResource["fieldmapper.OrgUtils"] = true; dojo.provide("fieldmapper.OrgUtils"); dojo.require("fieldmapper.Fieldmapper"); + dojo.require("fieldmapper.OrgTree", true); fieldmapper.aou.globalOrgTree = {}; fieldmapper.aou.OrgCache = {}; @@ -24,11 +25,13 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ } } - fieldmapper.aou.LoadOrg = function (id) { - if (fieldmapper.aou.OrgCache[id] && fieldmapper.aou.OrgCache[id].loaded) + fieldmapper.aou.LoadOrg = function (id, slim_ok) { + var slim_o = fieldmapper.aou.OrgCache[id]; + + if (slim_o && (slim_ok || slim_o.loaded)) return fieldmapper.aou.OrgCache[id].org; - var o = fieldmapper.standardRequest(['open-ils.actor','open-ils.actor.org_unit.retrieve'],{ params: [null,id]}); + var o = fieldmapper.standardRequest(['open-ils.actor','open-ils.actor.org_unit.retrieve'],[null,id]); fieldmapper.aou.OrgCache[o.id()] = { loaded : true, org : o }; return o; } @@ -56,9 +59,10 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ continue; } - var parent = fieldmapper.aou.findOrgUnit(x.parent_ou()); + var parent = fieldmapper.aou.findOrgUnit(x.parent_ou(),true); if (!parent.children()) parent.children([]); parent.children().push(x); + fieldmapper.aou.OrgCache[x.id()].treePtr = x; } for (var i in globalOrgTypes) { @@ -156,13 +160,16 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ dojo.addOnUnload( function () { for (var i in fieldmapper.aou.OrgCache) { - x=fieldmapper.aou.OrgCache[i]; + x=fieldmapper.aou.OrgCache[i].treePtr; + if (!x) continue; + x.children(null); x.parent_ou(null); fieldmapper.aou.OrgCache[i]=null; } fieldmapper.aou.globalOrgTree = null; fieldmapper.aou.OrgCache = null; + fieldmapper.aou.OrgCacheSN = null; fieldmapper.aout.OrgTypeCache = null; }); } -- 2.11.0