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
[ -z "$CONFIG" ] && echo "usage: $0 <bootstrap_config>" && exit;
JSDIR="/openils/var/web/opac/common/js/";
+FMDOJODIR="/openils/var/web/js/fieldmapper/";
SLIMPACDIR="/openils/var/web/opac/extras/slimpac/";
echo "Updating fieldmapper";
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";
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;
dojo._hasResource["fieldmapper.OrgUtils"] = true;
dojo.provide("fieldmapper.OrgUtils");
dojo.require("fieldmapper.Fieldmapper");
+ dojo.require("fieldmapper.OrgTree", true);
fieldmapper.aou.globalOrgTree = {};
fieldmapper.aou.OrgCache = {};
}
}
- 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;
}
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) {
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;
});
}