LP#1746300: Fix circulation counts in Item Status Details
authorChris Sharp <csharp@georgialibraries.org>
Tue, 10 Apr 2018 15:40:35 +0000 (11:40 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Mon, 30 Apr 2018 15:23:45 +0000 (11:23 -0400)
Currently, the "Total Circs -Current Year" and "Total Circs -
Prev Year" numbers are seemingly randomly incorrect.  This is
caused by pulling the numbers from the "circbyyr" fieldmapper
object, which results in an array of 2 rows (one for renewals
and one for new circs).  The current JS only displays the count
for the first item in the array, ignoring the other.

This branch totals the two, resulting in the right result for each
year's circulations.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>

Open-ILS/web/js/ui/default/staff/cat/item/app.js

index 1effdca..cededcd 100644 (file)
@@ -865,15 +865,29 @@ console.debug($scope.copy_alert_count);
                 return c.year() == new Date().getFullYear();
             });
 
-            $scope.total_circs_this_year = 
-                this_year.length ? this_year[0].count() : 0;
+            $scope.total_circs_this_year = (function() {
+                total = 0;
+                if (this_year.length == 2) {
+                    total = (Number(this_year[0].count()) + Number(this_year[1].count()));
+                } else if (this_year.length == 1) {
+                    total = Number(this_year[0].count());
+                }
+                return total;
+            })();
 
             var prev_year = counts.filter(function(c) {
                 return c.year() == new Date().getFullYear() - 1;
             });
 
-            $scope.total_circs_prev_year = 
-                prev_year.length ? prev_year[0].count() : 0;
+            $scope.total_circs_prev_year = (function() {
+                total = 0;
+                if (prev_year.length == 2) {
+                    total = (Number(prev_year[0].count()) + Number(prev_year[1].count()));
+                } else if (prev_year.length == 1) {
+                    total = Number(prev_year[0].count());
+                }
+                return total;
+            })();
 
         });
     }