Add call number(s) to multi-lib copy summary tadl/show_callnumbers_in_availability_summary
authorJeff Godin <jgodin@tadl.org>
Tue, 5 Jun 2012 15:35:42 +0000 (11:35 -0400)
committerJeff Godin <jgodin@tadl.org>
Tue, 5 Jun 2012 15:35:42 +0000 (11:35 -0400)
For a copy summary showing available copies at more than one library, we now
display the list of call numbers at that library (but only those call numbers
with available copies)

Where previously we displayed:
7 available at Example Branch 1
7 available at Example Branch 2

Now we display:
7 available at Example Branch 1 call numbers CONCERTO 699, PERFORM 699
7 available at Example Branch 2 call numbers CONCERTO 699, PERFORM 699

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Open-ILS/web/opac/skin/tadlv5/xml/rdetail/rdetail_summary.xml
Open-ILS/web/opac/skin/tadlv5/xml/result/result_table.xml

index d1859d7..4cf4dd6 100644 (file)
                         for (var libname in copySummaryObj) {
                             var copycount = 0;
                             var copycount_reshelving = 0;
+                            var cn_list = new Object();
                             for (var loc in copySummaryObj[libname]) {
                                 for (var cn in copySummaryObj[libname][loc]) {
+                                    cn_list[cn] = 1;
                                     copycount = copycount + copySummaryObj[libname][loc][cn]['count'];
                                     copycount_reshelving = copycount_reshelving + copySummaryObj[libname][loc][cn]['count_reshelving'];
                                 }
                             if (copycount_reshelving) {
                                 summary_text += ' (plus ' + copycount_reshelving + ' recently returned)';
                             }
+                            var cn_list_value = '';
+                            var cn_comma = '';
+                            var cn_count = 0;
+                            for (var cn in cn_list) {
+                                cn_list_value += cn_comma + cn;
+                                cn_comma = ', ';
+                                cn_count++;
+                            }
+                            var cn_list_label = (cn_count > 1) ? 'call numbers' : 'call number';
+                            var cn_list_text = cn_list_label + ' ' + cn_list_value;
+                            summary_text += ' ' + cn_list_text;
                             var libtext = dojo.doc.createTextNode(summary_text);
                             libcontent.appendChild(libtext);
                             libdiv.appendChild(libcontent);
index dbc7061..16bbfdb 100644 (file)
                                     for (var libname in copySummaryObj) {
                                         var copycount = 0;
                                         var copycount_reshelving = 0;
+                                        var cn_list = new Object();
                                         for (var loc in copySummaryObj[libname]) {
                                             for (var cn in copySummaryObj[libname][loc]) {
+                                                cn_list[cn] = 1;
                                                 copycount = copycount + copySummaryObj[libname][loc][cn]['count'];
                                                 copycount_reshelving = copycount_reshelving + copySummaryObj[libname][loc][cn]['count_reshelving'];
                                             }
                                         if (copycount_reshelving) {
                                             summary_text += ' (plus ' + copycount_reshelving + ' recently returned)';
                                         }
+                                        var cn_list_value = '';
+                                        var cn_comma = '';
+                                        var cn_count = 0;
+                                        for (var cn in cn_list) {
+                                            cn_list_value += cn_comma + cn;
+                                            cn_comma = ', ';
+                                            cn_count++;
+                                        }
+                                        var cn_list_label = (cn_count > 1) ? 'call numbers' : 'call number';
+                                        var cn_list_text = cn_list_label + ' ' + cn_list_value;
+                                        summary_text += ' ' + cn_list_text;
                                         var libtext = dojo.doc.createTextNode(summary_text);
                                         libcontent.appendChild(libtext);
                                         libdiv.appendChild(libcontent);