'FM_ANCIHU_CREATE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.non_cat_in_house_use.create' },
'FM_AOA_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_unit.address.retrieve', 'secure' : false },
'FM_AOU_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_tree.retrieve', 'secure' : false },
+ 'FM_AOU_DESCENDANTS_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_tree.descendants.retrieve', 'secure' : false },
'FM_AOU_RETRIEVE_RELATED_VIA_SESSION' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_unit.full_path.retrieve' },
'FM_AOU_IDS_RETRIEVE_VIA_RECORD_ID' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.actor.org_unit.retrieve_by_title', 'secure' : false },
'FM_AOUT_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_types.retrieve', 'secure' : false },
'MODS_SLIM_RECORD_RETRIEVE_VIA_COPY' : { 'app' : 'open-ils.search', 'method' : 'open-ils.search.biblio.mods_from_copy', 'secure' : false },
'PERM_CHECK' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.perm.check' },
'PERM_MULTI_ORG_CHECK' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.perm.check.multi_org' },
+ 'PERM_RETRIEVE_HIGHEST_ORG' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.perm.highest_org' },
'MARC_XML_RECORD_CREATE' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record.xml.create' },
'MARC_XML_RECORD_IMPORT' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record.xml.import' },
'MARC_XML_RECORD_REPLACE' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.biblio.record.marc.replace' },
'opac' : '/opac/en-US/skin/default/xml/advanced.xml',
'opac_rdetail' : '/opac/en-US/skin/default/xml/rdetail.xml',
'opac_rresult' : '/opac/en-US/skin/default/xml/rresult.xml',
+ 'org_tree' : '/opac/common/js/OrgTree.js',
'browser' : '/opac/en-US/skin/default/xml/advanced.xml',
'fieldmapper' : '/opac/common/js/fmall.js',
'isodate_lib' : '/opac/common/js/DP_DateExtensions.js',
<script type="text/javascript" src="chrome://open_ils_staff_client/content/main/lang.js"/>
<script type="text/javascript" src="/xul/server/main/lang.js"/>
+ <script type="text/javascript" src="/opac/common/js/OrgTree.js"/>
+ <script type="text/javascript" src="/opac/common/js/org_utils.js"/>
<script type="text/javascript" src="chrome://open_ils_staff_client/content/main/JSAN.js"/>
<script>
<![CDATA[
function wsinfo_init() {
+ document.getElementById('register_btn').disabled = true;
+ document.getElementById('wsname').disabled = true;
+ document.getElementById('wsname').value = 'Please Wait';
+
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if (typeof JSAN == 'undefined') {
JSAN.use('util.functional');
JSAN.use('util.fm_utils');
+ g.user = g.network.simple_request( 'FM_AU_RETRIEVE_VIA_SESSION', [ xulG.auth.session.key ] );
+
+ g.my_lib = g.user.home_ou();
+
g.aout_list = g.network.simple_request(
'FM_AOUT_RETRIEVE',
[ ]
g.aout_hash[ g.aout_list[i].id() ] = g.aout_list[i];
}
- g.my_libs = g.network.simple_request(
- 'FM_AOU_RETRIEVE_RELATED_VIA_SESSION',
- [ xulG.auth.session.key ]
+ //g.my_libs = g.network.simple_request(
+ // 'FM_AOU_RETRIEVE_RELATED_VIA_SESSION',
+ // [ xulG.auth.session.key ]
+ //);
+
+ var highest_org_id = g.network.simple_request(
+ 'PERM_RETRIEVE_HIGHEST_ORG',
+ [ xulG.auth.session.key, g.user.id(), 'REGISTER_WORKSTATION']
);
+ var perm_depth = findOrgDepth( highest_org_id );
+
+ g.my_libs_tree = g.network.simple_request(
+ 'FM_AOU_DESCENDANTS_RETRIEVE',
+ [ g.user.home_ou(), perm_depth ]
+ );
+ if (!instanceOf(g.my_libs_tree,aou)) { /* FIXME - workaround for weird descendants call result */
+ g.my_libs_tree = g.my_libs_tree[0];
+ }
+ g.my_libs = util.fm_utils.flatten_ou_branch( g.my_libs_tree );
g.my_libs_shortname_hash = {};
g.my_libs_ou_hash = {};
g.my_libs_shortname_hash[ g.my_libs[i].id() ] = g.my_libs[i].shortname();
g.my_libs_ou_hash[ g.my_libs[i].id() ] = function(o){return o;}(g.my_libs[i]);
}
+ /*
for (var i = 0; i < g.my_libs.length; i++) {
var p = g.my_libs[i].parent_ou();
if (!p) {
p.children( c );
}
}
-
- g.my_lib = g.network.simple_request(
- 'FM_AU_RETRIEVE_VIA_SESSION',
- [ xulG.auth.session.key ]
- ).home_ou();
+ */
g.tb = document.getElementById('wsname');
render_menulist();
+ document.getElementById('register_btn').disabled = false;
+ document.getElementById('wsname').disabled = false;
+ document.getElementById('wsname').value = '';
+
document.getElementById('wsname').focus();
}
</hbox>
<hbox>
<hbox id="placeholder"/>
- <button label="Register" accesskey="R" oncommand="register();"/>
+ <button id="register_btn" label="Register" accesskey="R" oncommand="register();"/>
</hbox>
</vbox>
</window>