From 5df303608f7787c1ad999d0c682c7dc931268880 Mon Sep 17 00:00:00 2001
From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Date: Thu, 17 Oct 2024 11:34:23 +0000
Subject: [PATCH] Bug 37930: Modify AgreementsList and FormAdd to support new
 AV concept

Test plan
1) Navigate to ERM module
2) Click into agreements, page should load as normal
3) Click New agreement, form should load as expected
4) Fill in the required fields - note that the Status field is correctly populated with authorised values
5) Save new agreeement
6) Note that the status column in the table is correctly populated
---
 .../vue/components/ERM/AgreementsFormAdd.vue  | 46 +++++++++----------
 .../js/vue/components/ERM/AgreementsList.vue  | 13 +++---
 2 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue
index 645a13b5bef..6a0b8381c11 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue
@@ -51,7 +51,9 @@
                                 v-model="agreement.status"
                                 label="description"
                                 :reduce="av => av.value"
-                                :options="av_agreement_statuses"
+                                :options="
+                                    authorisedValues['av_agreement_statuses']
+                                "
                                 @option:selected="onStatusChanged"
                                 :required="!agreement.status"
                             >
@@ -75,7 +77,11 @@
                                 v-model="agreement.closure_reason"
                                 label="description"
                                 :reduce="av => av.value"
-                                :options="av_agreement_closure_reasons"
+                                :options="
+                                    authorisedValues[
+                                        'av_agreement_closure_reasons'
+                                    ]
+                                "
                                 :disabled="
                                     agreement.status == 'closed' ? false : true
                                 "
@@ -117,7 +123,11 @@
                                 v-model="agreement.renewal_priority"
                                 label="description"
                                 :reduce="av => av.value"
-                                :options="av_agreement_renewal_priorities"
+                                :options="
+                                    authorisedValues[
+                                        'av_agreement_renewal_priorities'
+                                    ]
+                                "
                             />
                         </li>
                         <li>
@@ -136,21 +146,23 @@
                 <UserRoles
                     :user_type="$__('Agreement user %s')"
                     :user_roles="agreement.user_roles"
-                    :av_user_roles="av_user_roles"
+                    :av_user_roles="authorisedValues['av_user_roles']"
                 />
                 <AgreementLicenses
                     :agreement_licenses="agreement.agreement_licenses"
                     :av_agreement_license_statuses="
-                        av_agreement_license_statuses
+                        authorisedValues['av_agreement_license_statuses']
                     "
                     :av_agreement_license_location="
-                        av_agreement_license_location
+                        authorisedValues['av_agreement_license_location']
                     "
                 />
                 <AgreementRelationships
                     :agreement_id="agreement.agreement_id"
                     :relationships="agreement.agreement_relationships"
-                    :av_agreement_relationships="av_agreement_relationships"
+                    :av_agreement_relationships="
+                        authorisedValues['av_agreement_relationships']
+                    "
                 />
                 <Documents :documents="agreement.documents" />
                 <fieldset class="action">
@@ -182,25 +194,11 @@ import { storeToRefs } from "pinia"
 
 export default {
     setup() {
-        const AVStore = inject("AVStore")
-        const {
-            av_agreement_statuses,
-            av_agreement_closure_reasons,
-            av_agreement_renewal_priorities,
-            av_user_roles,
-            av_agreement_license_statuses,
-            av_agreement_license_location,
-            av_agreement_relationships,
-        } = storeToRefs(AVStore)
+        const ERMStore = inject("ERMStore")
+        const { authorisedValues } = storeToRefs(ERMStore)
 
         return {
-            av_agreement_statuses,
-            av_agreement_closure_reasons,
-            av_agreement_renewal_priorities,
-            av_user_roles,
-            av_agreement_license_statuses,
-            av_agreement_license_location,
-            av_agreement_relationships,
+            authorisedValues,
             max_allowed_packet,
         }
     },
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 a22e14819af..f83c8414e39 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
@@ -70,13 +70,12 @@ export default {
         const vendorStore = inject("vendorStore")
         const { vendors } = storeToRefs(vendorStore)
 
-        const AVStore = inject("AVStore")
-        const { get_lib_from_av, map_av_dt_filter } = AVStore
-
-        const { setConfirmationDialog, setMessage } = inject("mainStore")
-
-        const { authorisedValues } = inject("ERMStore")
-        console.log(authorisedValues)
+        const {
+            setConfirmationDialog,
+            setMessage,
+            get_lib_from_av,
+            map_av_dt_filter,
+        } = inject("mainStore")
 
         const table = ref()
 
-- 
2.39.3 (Apple Git-146)