backport 17508, 17509, for better user stat cat lookups and exposing such stat cats...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 8 Sep 2010 06:52:39 +0000 (06:52 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 8 Sep 2010 06:52:39 +0000 (06:52 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@17510 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js
Open-ILS/xul/staff_client/server/circ/util.js
Open-ILS/xul/staff_client/server/patron/summary.js

index ad74593..7ec636d 100644 (file)
@@ -184,6 +184,9 @@ OpenILS.data.prototype = {
                 case 'acpl': 
                     found = obj.network.simple_request('FM_ACPL_RETRIEVE_VIA_ID.authoritative',[ value ]);
                 break;
+                case 'actsc':
+                    found = obj.network.simple_request('FM_ACTSC_RETRIEVE_VIA_PCRUD',[ ses(), { 'id' : { '=' : value } }]);
+                break;
                 default: return undefined; break;
             }
             if (typeof found.ilsevent != 'undefined') throw(found);
index 380cbed..03a2b13 100644 (file)
@@ -2428,7 +2428,9 @@ circ.util.checkin_via_barcode2 = function(session,params,backdate,auto_print,che
             'request_date' : '',
             'request_date_msg' : '',
             'slip_date' : '',
-            'slip_date_msg' : ''
+            'slip_date_msg' : '',
+            'user' : '',
+            'user_stat_cat_entries' : ''
         };
 
         if (check.payload && check.payload.cancelled_hold_transit) {
@@ -2531,6 +2533,26 @@ circ.util.checkin_via_barcode2 = function(session,params,backdate,auto_print,che
                         msg += '\n';
                         var au_obj = patron.util.retrieve_fleshed_au_via_id( session, check.payload.hold.usr() );
                         print_data.user = au_obj;
+                        print_data.user_stat_cat_entries = [];
+                        var entries = au_obj.stat_cat_entries();
+                        for (var i = 0; i < entries.length; i++) {
+                            var stat_cat = data.hash.my_actsc[ entries[i].stat_cat() ];
+                            if (!stat_cat) {
+                                stat_cat = data.lookup('actsc', entries[i].stat_cat());
+                            }
+                            print_data.user_stat_cat_entries.push( { 
+                                'id' : entries[i].id(),
+                                'stat_cat' : {
+                                    'id' : stat_cat.id(),
+                                    'name' : stat_cat.name(),
+                                    'opac_visible' : stat_cat.opac_visible(),
+                                    'owner' : stat_cat.owner(),
+                                    'usr_summary' : stat_cat.usr_summary()
+                                },
+                                'stat_cat_entry' : entries[i].stat_cat_entry(),
+                                'target_usr' : entries[i].target_usr() 
+                            } );
+                        }
                         msg += '\n';
                         if (au_obj.alias()) {
                             print_data.hold_for_msg = document.getElementById('circStrings').getFormattedString('staff.circ.utils.payload.hold.patron_alias',  [au_obj.alias()]);
index 38a612c..36e62fe 100644 (file)
@@ -131,15 +131,7 @@ patron.summary.prototype = {
                                 for (var i = 0; i < entries.length; i++) {
                                     var stat_cat = obj.OpenILS.data.hash.my_actsc[ entries[i].stat_cat() ];
                                     if (!stat_cat) {
-                                        stat_cat = obj.OpenILS.data.hash.actsc[ entries[i].stat_cat() ];
-                                    }
-                                    if (!stat_cat) {
-                                        var robj = obj.network.simple_request('FM_ACTSC_RETRIEVE_VIA_PCRUD',[ ses(), { 'id' : { '=' : entries[i].stat_cat() } }]);
-                                        if (typeof robj == 'object' && typeof robj.ilsevent != 'undefined') {
-                                            obj.OpenILS.data.hash.actsc[ entries[i].stat_cat() ] = robj;
-                                            obj.OpenILS.data.stash( 'hash' );
-                                            stat_cat = robj;
-                                        }
+                                        stat_cat = obj.OpenILS.data.lookup('actsc',entries[i].stat_cat());
                                     }
                                     if (!stat_cat) { continue; }
                                     if (get_bool( stat_cat.usr_summary() )) {