From 944528eb338274d5041b2e473674fc7c40147212 Mon Sep 17 00:00:00 2001
From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Date: Thu, 17 Oct 2024 17:47:59 +0100
Subject: [PATCH] Bug 38010: Allow searching by alias in the vendors table

---
 Koha/Schema/Result/Aqbookseller.pm               | 16 ++++++++++++++++
 .../js/vue/components/Vendors/VendorDetails.vue  | 11 +++++++----
 .../js/vue/components/Vendors/VendorList.vue     |  2 +-
 3 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/Koha/Schema/Result/Aqbookseller.pm b/Koha/Schema/Result/Aqbookseller.pm
index a4c1370b577..2d0834b9c1f 100644
--- a/Koha/Schema/Result/Aqbookseller.pm
+++ b/Koha/Schema/Result/Aqbookseller.pm
@@ -535,6 +535,22 @@ __PACKAGE__->add_columns(
     '+invoiceincgst' => { is_boolean => 1 },
 );
 
+
+=head2 aliases
+
+Type: has_many
+
+Related object: L<Koha::Schema::Result::AqbooksellerAlias>
+
+=cut
+
+__PACKAGE__->has_many(
+    "aliases",
+    "Koha::Schema::Result::AqbooksellerAlias",
+    { "foreign.vendor_id" => "self.id" },
+    { cascade_copy        => 0, cascade_delete => 0 },
+);
+
 sub koha_object_class {
     'Koha::Acquisition::Bookseller';
 }
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorDetails.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorDetails.vue
index 16180944b36..61290372172 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorDetails.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorDetails.vue
@@ -60,11 +60,14 @@
                     {{ vendor.accountnumber }}
                 </span>
             </li>
-            <li v-if="vendor.aliases.count">
+            <li v-if="vendor.aliases.length">
                 <label>{{ $__("Aliases") }}:</label>
-                <ul>
-                    <li v-for="alias in vendor.aliases" :key="alias">
-                        {{ alias }}
+                <ul style="margin-left: 8rem">
+                    <li
+                        v-for="(alias, i) in vendor.aliases"
+                        :key="alias.alias_id"
+                    >
+                        {{ $__("Alias") + " " + (i + 1) }}: {{ alias.alias }}
                     </li>
                 </ul>
             </li>
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue
index 5c3d31b8ebc..e28ba15b53e 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue
@@ -172,7 +172,7 @@ export default {
             return [
                 {
                     title: __("Name"),
-                    data: "me.name:me.id",
+                    data: "me.name:aliases.alias:me.id",
                     searchable: true,
                     orderable: true,
                     render(data, type, row, meta) {
-- 
2.39.3 (Apple Git-146)