From 687de3fcf2cd7e7c0ed03522c86969af5601e8b2 Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Fri, 16 Aug 2024 16:18:41 +0100
Subject: [PATCH] Bug 33736: Add item location and filter by library to
 bookings to collect report

This patch adds a new 'Location' field to the bookings to collect
report. We display with the current item location or an onloan status
with the due date.

We also add filtering for status != 'waiting' to the base query to rule
out items marked as ready for collection already (however, we don't yet
have a way of marking such a status so this won't have any effect yet).
---
 api/v1/swagger/paths/bookings.yaml            |  2 ++
 .../prog/en/modules/circ/pendingbookings.tt   | 21 ++++++++++++++++++-
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/api/v1/swagger/paths/bookings.yaml b/api/v1/swagger/paths/bookings.yaml
index fcb2fba6317..3d33e0b978a 100644
--- a/api/v1/swagger/paths/bookings.yaml
+++ b/api/v1/swagger/paths/bookings.yaml
@@ -45,6 +45,8 @@
           enum:
             - biblio
             - item
+            - item+strings
+            - item.checkout
             - patron
             - pickup_library
         collectionFormat: csv
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt
index 8a787ee3d90..e309d5f669a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt
@@ -129,6 +129,7 @@
                        let library = $("#library").find(":selected").val();
                        return library;
                     },
+                    status: { '!=': 'waiting' },
                 };
 
                 var bookings_table_url = '/api/v1/bookings?';
@@ -138,7 +139,8 @@
                     },
                     "embed": [
                         "biblio",
-                        "item",
+                        "item+strings",
+                        "item.checkout",
                         "patron",
                         "pickup_library"
                     ],
@@ -192,6 +194,23 @@
                             }
                         }
                     },
+                    {
+                        "data": "",
+                        "title": "Location",
+                        "searchable": false,
+                        "orderable": true,
+                        "render": function(data,type,row,meta) {
+                            if ( row.item ) {
+                                if ( row.item.checked_out_date ) {
+                                    return __("On loan, due: ") . $date(row.item.checked_out_date);
+                                } else {
+                                    return row.item._strings.location.str;
+                                }
+                            } else {
+                                    return null;
+                            }
+                        }
+                    },
                     {
                         "data": "patron.firstname:patron.surname",
                         "title": "Patron",
-- 
2.47.0