3 /* load the lib script */
4 load_lib('circ_lib.js');
6 /* collect some useful variables */
7 var copy = environment.copy;
8 var patron = environment.patron;
9 var patronStanding = patron.standing.value.toLowerCase();
10 var patronProfile = patron.profile.name.toLowerCase();
11 var copyStatus = copy.status.name.toLowerCase();
12 var patronItemsOut = environment.patronItemsOut;
13 var patronFines = environment.patronFines;
14 var isRenewal = environment.isRenewal;
17 log_debug('circ_permit_copy: permit circ on ' +
19 ', Patron:' + patron.id +
20 ', Patron Username:' + patron.usrname +
21 ', Patron Profile: ' + patronProfile +
22 ', Patron Standing: ' + patronStanding +
23 ', Patron copies: ' + patronItemsOut +
24 ', Patron Library: ' + patron.home_ou.name +
25 ', Patron fines: ' + patronFines +
26 ', Copy status: ' + copyStatus +
27 ', Copy location: ' + copy.location.name +
28 ', Is Renewal: ' + ( (isRenewal) ? "yes" : "no" ) +
33 if( copy.circulate == '0' )
34 return result.event = 'COPY_CIRC_NOT_ALLOWED';
37 return result.event = 'COPY_IS_REFERENCE';
39 if( copyStatus != 'available' &&
40 copyStatus != 'on holds shelf' &&
41 copyStatus != 'reshelving' )
43 return result.event = 'COPY_NOT_AVAILABLE';
45 /* example of handling holds
46 var holds = copy.fetchHold();
47 for( var i in holds ) {
49 if( hold && hold.usr != patron.id )
50 return result.event = 'COPY_NEEDED_FOR_HOLD';