From 58c04360990abc7f0a4c0a21fc56ae0cd9982f61 Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 23 May 2008 02:20:41 +0000 Subject: [PATCH] Stop being Dan's problem git-svn-id: svn://svn.open-ils.org/ILS/trunk@9684 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/dojo/fieldmapper/OrgUtils.js | 19 +++++++++++++------ Open-ILS/web/js/dojo/fieldmapper/dojoData.js | 8 ++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Open-ILS/web/js/dojo/fieldmapper/OrgUtils.js b/Open-ILS/web/js/dojo/fieldmapper/OrgUtils.js index e906faa973..e01bbe805f 100644 --- a/Open-ILS/web/js/dojo/fieldmapper/OrgUtils.js +++ b/Open-ILS/web/js/dojo/fieldmapper/OrgUtils.js @@ -24,6 +24,7 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ dojo.require("fieldmapper.OrgTree", true); dojo.require("fieldmapper.OrgLasso", true); + fieldmapper.aou.slim_ok = true; fieldmapper.aou.globalOrgTree = {}; fieldmapper.aou.OrgCache = {}; fieldmapper.aou.OrgCacheSN = {}; @@ -45,12 +46,14 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ } fieldmapper.aou.LoadOrg = function (id, slim_ok) { + if (slim_ok == null) slim_ok = fieldmapper.aou.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'],[null,id]); + o.children = fieldmapper.aou.OrgCache[o.id()].children; fieldmapper.aou.OrgCache[o.id()] = { loaded : true, org : o }; return o; } @@ -126,21 +129,25 @@ if(!dojo._hasResource["fieldmapper.OrgUtils"]){ return null; } - fieldmapper.aou.findOrgUnitSN = function (sn) { + fieldmapper.aou.findOrgUnitSN = function (sn, slim_ok) { + if (slim_ok == null) slim_ok = fieldmapper.aou.slim_ok; var org = fieldmapper.aou.OrgCacheSN[sn]; if (!org) { for (var i in fieldmapper.aou.OrgCache) { var o = fieldmapper.aou.OrgCache[i]; - if (o.loaded && o.org.shortname() == sn) { + if (o.org.shortname() == sn) { fieldmapper.aou.OrgCacheSN[o.org.shortname()] = o; - return o.org; + org = o; } } - org = fieldmapper.standardRequest(fieldmapper.OpenSRF.methods.FETCH_ORG_BY_SHORTNAME, sn); + if (!slim_ok && !fieldmapper.aou.OrgCache[org.id()].loaded) { + org = fieldmapper.standardRequest(fieldmapper.OpenSRF.methods.FETCH_ORG_BY_SHORTNAME, sn); - fieldmapper.aou.OrgCache[org.id()] = { loaded : true, org : org }; - fieldmapper.aou.OrgCacheSN[org.shortname()] = { loaded : true, org : org }; + org.children = fieldmapper.aou.OrgCache[org.id()].children; + fieldmapper.aou.OrgCache[org.id()] = { loaded : true, org : org }; + fieldmapper.aou.OrgCacheSN[org.shortname()] = { loaded : true, org : org }; + } } diff --git a/Open-ILS/web/js/dojo/fieldmapper/dojoData.js b/Open-ILS/web/js/dojo/fieldmapper/dojoData.js index 96bce5d5a8..a0ab494c9a 100644 --- a/Open-ILS/web/js/dojo/fieldmapper/dojoData.js +++ b/Open-ILS/web/js/dojo/fieldmapper/dojoData.js @@ -42,7 +42,7 @@ if(!dojo._hasResource['fieldmapper.dojoData']){ if (!list) list = {}; // a sane default - if (!params.identifier) params.identifier = fieldmapper[this.classname].Identifier; + if (!params.identifier) params.identifier = this.Identifier; if (!label) label = params.label; if (!label) label = params.identifier; @@ -96,17 +96,17 @@ if(!dojo._hasResource['fieldmapper.dojoData']){ fieldmapper.aou.toStoreData = function (list, label) { if (!label) label = 'shortname'; - return _toStoreData(list, label, { 'parent' : 'parent_ou', 'children' : 'children' }); + return _toStoreData.call(this, list, label, { 'parent' : 'parent_ou', 'children' : 'children' }); } fieldmapper.aout.toStoreData = function (list, label) { if (!label) label = 'name'; - return _toStoreData(list, label, { 'parent' : 'parent', 'children' : 'children' }); + return _toStoreData.call(this, list, label, { 'parent' : 'parent', 'children' : 'children' }); } fieldmapper.pgt.toStoreData = function (list, label) { if (!label) label = 'name'; - return _toStoreData(list, label, { 'parent' : 'parent', 'children' : 'children' }); + return _toStoreData.call(this, list, label, { 'parent' : 'parent', 'children' : 'children' }); } /* -- 2.43.2