--- /dev/null
+var USER;
+var SESSION;
+var PERMS = {};
+
+function fetchUser(session) {
+ if(session == null ) {
+ cgi = new CGI();
+ session = cgi.param('ses');
+ }
+ if(!session) throw "User session is not defined";
+ SESSION = session;
+ var request = new Request(FETCH_SESSION, session, 1 );
+ request.send(true);
+ var user = request.result();
+ if(checkILSEvent(user)) throw user;
+ USER = user;
+ return user;
+}
+
+/**
+ * Fetches the highest org at for each perm and stores the value in
+ * PERMS[ permName ]. It also returns the org list to the caller
+ */
+function fetchHighestPermOrgs( session, userId, perms ) {
+ var req = new RemoteRequest(
+ 'open-ils.actor',
+ 'open-ils.actor.user.perm.highest_org.batch',
+ session, userId, perms );
+ req.send(true);
+ var orgs = req.getResultObject();
+ for( var i = 0; i != orgs.length; i++ )
+ PERMS[ perms[i] ] = ( orgs[i] != null ) ? orgs[i] : -1 ;
+ return
+}
function scGo() {
-
var show = cgi.param('show');
if(!show) show = ASSET;
scShow(show);
function scFetchPerms() {
- var req = new RemoteRequest(
- 'open-ils.actor',
- 'open-ils.actor.user.perm.highest_org.batch', session, user.id(),
+ var orgs = fetchHighestPermOrgs( session, user.id(),
[ 'CREATE_PATRON_STAT_CAT',
'UPDATE_PATRON_STAT_CAT',
'DELETE_PATRON_STAT_CAT',
'UPDATE_COPY_STAT_CAT_ENTRY',
'DELETE_COPY_STAT_CAT_ENTRY' ] );
- req.send(true);
- var orgs = req.getResultObject();
-
PERMS[ACTOR].create_stat_cat = orgs[0];
PERMS[ACTOR].update_stat_cat = orgs[1];
PERMS[ACTOR].delete_stat_cat = orgs[2];
}
}
-function fetchUser(session) {
- var request = new Request(FETCH_SESSION, session, 1 );
- request.send(true);
- var user = request.result();
- if(checkILSEvent(user)) throw user;
- return user;
-}
-
function scFetchAll( session, type, orgid, callback, args ) {
var req = new Request(
<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='stat_cat_editor.js'> </script>
<style type='text/css'>