when calculating estimed hold wait time, don't ignore copies that have no circ modifier
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 19 Jul 2010 14:06:34 +0000 (14:06 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 19 Jul 2010 14:06:34 +0000 (14:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16977 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm

index 4ecde19..56062fe 100644 (file)
@@ -1094,6 +1094,20 @@ sub retrieve_hold_queue_status_impl {
         where => {'+ahcm' => {hold => $hold->id}}
     });
 
+
+    # take into account copies that have no circ modifier
+    my $no_circ_mods = $e->json_query({
+        select => {
+            acp => [
+                {column => 'id', transform => 'count', aggregate => 1, alias => 'count'}
+            ]
+        },
+        from => {ahcm => 'acp'},
+        where => {'+ahcm' => {hold => $hold->id}, '+acp' => {circ_modifier => undef}}
+    })->[0];
+
+    push(@$hold_data, {count => $no_circ_mods->{count}}) if $no_circ_mods;
+
     my $user_org = $e->json_query({select => {au => ['home_ou']}, from => 'au', where => {id => $hold->usr}})->[0]->{home_ou};
 
     my $default_wait = $U->ou_ancestor_setting_value($user_org, OILS_SETTING_HOLD_ESIMATE_WAIT_INTERVAL);