From b39a16272e52b082dcad23a5fe82528d5a2cb380 Mon Sep 17 00:00:00 2001
From: Eric Garcia <cubingguy714@gmail.com>
Date: Wed, 17 Jul 2024 16:42:31 +0000
Subject: [PATCH] Bug 37273: Added ID column to ERM Agreements and Licenses
 Tables

To test
1. Apply patch, yarn build, restart_all
2. System preferences -> ERMModule -> Enable
3. E-resource management -> Agreements -> "+New Agreement"
4. Notice ID is removed from name and put in it's own column
5. Repeat with licenses table

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
---
 admin/columns_settings.yml                      |  4 ++++
 .../js/vue/components/ERM/AgreementsList.vue    | 17 ++++++++++++++++-
 .../prog/js/vue/components/ERM/LicensesList.vue | 17 ++++++++++++++++-
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/admin/columns_settings.yml b/admin/columns_settings.yml
index f0f50415fa0..1162bdc7fc4 100644
--- a/admin/columns_settings.yml
+++ b/admin/columns_settings.yml
@@ -911,6 +911,8 @@ modules:
     agreements:
       agreements:
         columns:
+            -
+              columnname: id
             -
               columnname: name
             -
@@ -932,6 +934,8 @@ modules:
     licenses:
       licenses:
         columns:
+            -
+              columnname: id
             -
               columnname: name
             -
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue
index e57b7a00b9c..8ed6d00fb94 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue
@@ -299,6 +299,21 @@ export default {
             let escape_str = this.escape_str
 
             return [
+                {
+                    title: __("ID"),
+                    data: "me.agreement_id",
+                    searchable: true,
+                    orderable: true,
+                    render: function (data, type, row, meta) {
+                        return (
+                            '<a href="/cgi-bin/koha/erm/agreements/' +
+                            row.agreement_id +
+                            '" class="show">' +
+                            escape_str(`(#${row.agreement_id})`) +
+                            "</a>"
+                        )
+                    },
+                },
                 {
                     title: __("Name"),
                     data: "me.name:me.agreement_id",
@@ -309,7 +324,7 @@ export default {
                             '<a href="/cgi-bin/koha/erm/agreements/' +
                             row.agreement_id +
                             '" class="show">' +
-                            escape_str(`${row.name} (#${row.agreement_id})`) +
+                            escape_str(row.name) +
                             "</a>"
                         )
                     },
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue
index aef49955d01..b5ed995152e 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue
@@ -190,6 +190,21 @@ export default {
             let get_lib_from_av = this.get_lib_from_av
 
             return [
+                {
+                    title: __("ID"),
+                    data: "me.license_id",
+                    searchable: true,
+                    orderable: true,
+                    render: function (data, type, row, meta) {
+                        return (
+                            '<a href="/cgi-bin/koha/erm/licenses/' +
+                            row.license_id +
+                            '" class="show">' +
+                            escape_str(`(#${row.license_id})`) +
+                            "</a>"
+                        )
+                    },
+                },
                 {
                     title: __("Name"),
                     data: "me.name:me.license_id",
@@ -200,7 +215,7 @@ export default {
                             '<a href="/cgi-bin/koha/erm/licenses/' +
                             row.license_id +
                             '" class="show">' +
-                            escape_str(`${row.name} (#${row.license_id})`) +
+                            escape_str(row.name) +
                             "</a>"
                         )
                     },
-- 
2.39.5