]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/javascript/backend/circ/circ_permit_copy.js
66887d9565351ea4c007fee346e319ec1f5aae8f
[Evergreen.git] / Open-ILS / src / javascript / backend / circ / circ_permit_copy.js
1 function go() {
2
3 /* load the lib script */
4 load_lib('circ_lib.js');
5
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;
15
16
17 log_debug('circ_permit_copy: permit circ on ' +
18         ' Copy: '                                       + copy.id + 
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" ) +
29         '');
30
31
32
33 if( copy.circulate == '0' ) 
34         return result.event = 'COPY_CIRC_NOT_ALLOWED';
35
36 if( copy.ref != '0' ) 
37         return result.event = 'COPY_IS_REFERENCE';
38
39 if( copyStatus != 'available' && copyStatus != 'on holds shelf' )
40         return result.event = 'COPY_NOT_AVAILABLE';
41
42 var holds = copy.fetchHold();
43 for( var i in holds ) {
44         var hold = holds[i];
45         if( hold && hold.usr != patron.id )
46                 return result.event = 'COPY_NEEDED_FOR_HOLD';
47 }
48
49
50 } go();
51
52