--- /dev/null
+var ORG_SETTING_UPDATE = 'open-ils.actor:open-ils.actor.org_unit.settings.update';
+var ORG_SETTING_RETRIEVE = 'open-ils.actor:open-ils.actor.org_unit.settings.retrieve';
+var ORG_SETTING_DELETE = 'open-ils.actor:open-ils.actor.org_setting.delete';
+
+var myPerms = [ 'UPDATE_ORG_SETTING' ];
+
+
+var ORG_SETTINGS = {
+ 'circ.lost_materials_processing_fee' : null,
+ 'cat.default_item_price' : null,
+ 'circ.collections_fee' : null
+};
+
+function osEditorInit() {
+ fetchUser();
+ $('user').appendChild(text(USER.usrname()));
+
+ for( var i in ORG_SETTINGS ) ORG_SETTINGS[i] = $(i);
+
+ setTimeout(
+ function() {
+ fetchHighestPermOrgs( SESSION, USER.id(), myPerms );
+ osBuildOrgs();
+ osDrawRange();
+ },
+ 20
+ );
+}
+
+function osCurrentOrg() {
+ var selector = $('os_orgs');
+ return getSelectorVal(selector);
+}
+
+function osBuildOrgs() {
+ var org = findOrgUnit(PERMS['UPDATE_ORG_SETTING']);
+
+ if( !org || org == -1 ) {
+ org = findOrgUnit(USER.ws_ou());
+ for( var i in ORG_SETTINGS )
+ $(i+'.apply').disabled = true;
+ }
+
+ var type = findOrgType(org.ou_type()) ;
+
+ var selector = $('os_orgs');
+ buildOrgSel(selector, org, type.depth());
+ if(!type.can_have_users())
+ selector.options[0].disabled = true;
+
+ selector.onchange = osDrawRange;
+
+ osBaseOrg = org;
+
+ if( ! osBaseOrg.children() )
+ for( var i in ORG_SETTINGS )
+ $(i+'.apply_all').disabled = true;
+
+ var gotoOrg = USER.ws_ou();
+ if( ! setSelector( selector, gotoOrg ) ) {
+ gotoOrg = USER.home_ou();
+ setSelector( selector, gotoOrg );
+ }
+
+ return gotoOrg;
+}
+
+
+
+function osDrawRange() {
+ var org = osCurrentOrg();
+ appendClear($('osCurrentOrg'), text(findOrgUnit(org).name()));
+ var req = new Request(ORG_SETTING_RETRIEVE, org);
+ req.callback(osDraw);
+ req.send();
+}
+
+
+function osDraw( r ) {
+ var org = osCurrentOrg();
+ var settings = r.getResultObject();
+
+ for( var i in ORG_SETTINGS ) {
+ var node = ORG_SETTINGS[i];
+ var val = settings[i];
+ node.value =
+ (node.getAttribute('ismoney')) ?
+ _formatMoney(val) : (val != null) ? val : "";
+ }
+}
+
+function _formatMoney(m) {
+ if(!m || m == 0) return '0.00';
+ m = m + '';
+ if( m.match(/\d+\.\d+/) ) return m;
+ if( !m.match(/\./) ) return m + '.00';
+ if( m.match(/^\.\d+/) ) return '0' + m;
+ return m;
+}
+
+
--- /dev/null
+<?xml version='1.0'?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <head>
+ <title>Evergreen: Library Settings Editor</title>
+ <script language='javascript' src='/opac/common/js/utils.js'> </script>
+ <script language='javascript' src='/opac/common/js//config.js'> </script>
+ <script language='javascript' src='/opac/common/js/CGI.js'> </script>
+ <script language='javascript' src='/opac/common/js/Cookie.js'> </script>
+
+ <script language='javascript' src='/opac/common/js/slimtree.js'> </script>
+ <script language='javascript' src='/opac/common/js/JSON.js'> </script>
+ <script language='javascript' src='/opac/common/js/fmall.js'> </script>
+ <script language='javascript' src='/opac/common/js/fmgen.js'> </script>
+ <script language='javascript' src='/opac/common/js/Cookies.js'> </script>
+ <script language='javascript' src='/opac/common/js/opac_utils.js'> </script>
+ <script language='javascript' src='/opac/common/js/OrgTree.js'> </script>
+ <script language='javascript' src='/opac/common/js/org_utils.js'> </script>
+ <script language='javascript' src='/opac/common/js/init.js'> </script>
+ <script language='javascript' src='/opac/common/js/RemoteRequest.js'> </script>
+ <script language='javascript' src='adminlib.js'> </script>
+ <script language='javascript' src='org_settings.js'> </script>
+
+ <link type='text/css' rel='stylesheet' href='admin.css' />
+ </head>
+
+ <body onload='osEditorInit();'>
+
+ <div class='welcome_box'>
+ <span>Welcome </span><b><span id='user'/></b>
+ </div>
+
+ <center>
+ <div class='title'> Library Settings Editor </div>
+
+ <br/><br/>
+ Edit Settings for : <select id='os_orgs' style='width:auto;'/>
+ <br/><br/>
+
+ <table class='data_grid data_grid_center' width='85%'>
+ <thead>
+ <tr><td colspan='4' style='padding: 8px;'>Library Settings for <b id='osCurrentOrg'/></td></tr>
+ </thead>
+ <tbody id='os_tbody'>
+ <tr>
+ <td>Lost Materials Processing Fee</td>
+ <td>$<input ismoney='1' type='text' id='circ.lost_materials_processing_fee' value='0.00'/></td>
+ <td><button id='circ.lost_materials_processing_fee.apply'>Apply</button></td>
+ <td><button id='circ.lost_materials_processing_fee.apply_all'>Apply to all Locations</button></td>
+ </tr>
+ <tr>
+ <td>Default Item Price</td>
+ <td>$<input ismoney='1' type='text' id='cat.default_item_price' value='0.00'/></td>
+ <td><button id='cat.default_item_price.apply'>Apply</button></td>
+ <td><button id='cat.default_item_price.apply_all'>Apply to all Locations</button></td>
+ </tr>
+ <tr>
+ <td>Collections Fee</td>
+ <td>$<input ismoney='1' type='text' id='circ.collections_fee' value='0.00'/></td>
+ <td><button id='circ.collections_fee.apply'>Apply</button></td>
+ <td><button id='circ.collections_fee.apply_all'>Apply to all Locations</button></td>
+ </tr>
+ </tbody>
+ </table>
+ </center>
+ </body>
+</html>
+
+
+