LP#1746300: Fix circulation counts in Item Status Details user/csharp/lp1746300_fix_circ_counts_item_status_details
authorChris Sharp <csharp@georgialibraries.org>
Tue, 10 Apr 2018 15:40:35 +0000 (11:40 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Mon, 23 Apr 2018 15:01:21 +0000 (11:01 -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>
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;
+            })();
 
         });
     }